External API Activity Support


When we try to pass data in a JSON format to a 3rd party REST API endpoint.

the below is JSON format accepted by 3rd party REST API endpoint

Actual Payload:

but ACS formatted the JSON format as below

Modified  Payload:


which is not accepted by 3rd party REST API endpoint.


There are two factors that influenced the decision to use the format -

  1. The ‘data’ portion is only added if there is an inbound temp table generated by a previous activity, and the rows from that temp table are serialized into a JSON array. Hence the need for a json property named ‘data’ and the serialized data sent as an array using .
  2. The activity allows, custom parameters to be sent to the API as well, which are added to the payload using a ‘params’ property. Note these are fixed (as in configured once into the activity during authoring time).

This normalized format allowed us to have a fixed format without any UI support to customize how to format this according to 3rd party API spec. The intention was to use a translation layer such as Adobe IO Runtime, or AWS Lambda etc. to do on-the-fly translation of request/response as needed.

On this page