Suporte à atividade de API externa
Este artigo explica o problema em que o Adobe Campaign Standard modifica o formato JSON que o endpoint da API REST de terceiros não pode aceitar.
Descrição description
Ambiente
Adobe Campaign Standard (ACS)
Problema/Sintomas
O endpoint da API REST de terceiros aceita o seguinte formato JSON para transmitir os dados.
Carga real:
{"destination":"https://www.google.com/work/insights/123","domain":"google.com"}
Mas o ACS modifica o formato JSON, que não é aceito pelo endpoint da API REST de terceiros.
Carga Modificada:
{“data”:[ {"destination":"https://www.google.com/work/insights/123","domain":"google.com"}] }
Resolução resolution
Há dois fatores que influenciaram a decisão de usar o formato:
- A parte de dados só será adicionada se houver uma tabela temporária de entrada gerada pela atividade anterior, e as linhas dessa tabela temporária forem serializadas em uma matriz JSON. Portanto, é necessário uma propriedade JSON chamada data e os dados serializados enviados como uma matriz usando
[
]
. - A atividade permite que parâmetros personalizados também sejam enviados para a API, que são adicionados à carga usando uma propriedade params. Observe que eles são corrigidos (configurados uma vez na atividade durante o tempo de criação).
Esse formato normalizado nos permitiu ter um formato fixo sem qualquer suporte à interface do usuário para personalizar como formatar isso de acordo com especificações de API de terceiros. A intenção era usar uma camada de tradução, como Adobe IO Runtime, AWS Lambda etc., para fazer a tradução instantânea de solicitações/respostas conforme necessário.