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:

  1. 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 [ ].
  2. 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.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f