Can anyone help me to understand if the below requirement from a customer can be achieved.
Whenever a 3rd party system calls an API mesh and API mesh calls another 3rd party system where Adobe commerce is no where involved
1) Can the response be transferred to a 3rd party system ( through API) for logging using API Mesh inbuilt features or I/O Runtime or APP Builder
2) Auto retry of the same API mesh if its a failure.
Topics help categorize Community content and increase your ability to discover relevant content.
2) the auto-retry is certainly a feature that we had a request for in multiple instances which API Mesh doesn't do automatically
When we did think how to tackle the auto-retry the only challenges for it was to establish some defaults or some rules to retry:
- how many times would we retry? and what should be the default number 2, 5, 10 times?
- what is the trigger for the auto-retry? a timeout? an API that takes too long? what is too long? 30 seconds? Note that there's another feature request to abort after a default amount of time
So I am extending this problem to the community: Can you advise how would you think about those numbers? One thing that we can't do is try forever or add some arbitrary numbers. They do have to make sense
1) I assume by 3rd party system you mean a non Adobe 1st party API
two things are true:
- a system will always call API mesh - it exposes a webapi - and it shouldn't matter if it's 1st party or 3rd party
- API Mesh will always call at least another source/vendor API - whether is 1st Party Adobe or 3rd Party API
I guess you're looking for plugging into the response payload and call a 3rd party API for logging purposes.
That particular feature is not possible for Individual sources APIs, and we deliberately tried to not allow to pluginize the fetch part.
We do acknowledge that logging info is important and integration with 3rd party logging systems is a need for any production API service
We want to provide an opentelemetry feature that you can use for API Mesh without allowing custom code around the fetch internals of API mesh. This feature is set to be released later this year
The problem with logging to 3rd party is what kind of data is safe and secure to push - and if you are looking to log the whole payload that would be a problem security-wise.
Can you list what things are you looking to log and for what would you use that data, maybe what 3rd party systems would you use? Splunk? New Relic?
For the time being, you can use Fastly to do logging - you can add Fastly on top of API Mesh - with or without Adobe Commerce - of course is easier with Adobe Commerce - Fastly will log traffic from the unified API Mesh graph but not individual API calls like you're probably looking for.