I want an opinion regarding a situation. We have a vendor having a SaaS product which calls our API via MuleSoft AnyPoint platform that returns demographic values (e.g., Country of birth, Language) in response payload based on our source system codes. The vendor wants translation of the values based on mapping with their identifiers and to be maintained at the Mule integration layer. We pointed limitations and risks associated with performing the mapping within MuleSoft, primarily ongoing maintenance and support responsibilities. We recommended translation to be performed by the vendor. Is there any other option? How can it be done?
#MuleSoft Anypoint Platform@* MuleSoft *@* MuleSoft RPA & IDP *@* MuleSoft Composer *
I totally agree with you. The vendor's business logic and mapping should be maintained on the vendor's side.
However, if the vendor requires a service that returns data in the format they expect, I'd suggest offer two endpoints:
- A standard endpoint that returns the canonical data without any translation (your primary service).
- A dedicated reference API (experience API) for that specific vendor, which provides the translation between your canonical values and the vendor's requirements.
With this approach, all consumers would use the first endpoint to retrieve the data and the vendor would consume both to get the translation response.
I hope this helps. BRs
César.