Suporte a atividade de API externa

Descrição

Ambiente
Padrão de conteúdo

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 ponto de extremidade da API REST de terceiros.

Carga modificada:

{“data”:{"destination":"https://www.google.com/work/insights/123","domain":"google.com"}}

Resolução

Há dois fatores que influenciaram a decisão de usar o formato:

  1. O dados parte é adicionada somente se houver uma entrada tabela temporária gerada pela atividade anterior e as linhas dessa atividade tabela temporária são serializados em um JSON matriz. Daí a necessidade de JSON propriedade com nome dados 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 ao payload usando um params propriedade. Observe que elas são fixas (configuradas uma vez na atividade durante o tempo de criação).

Esse formato normalizado nos permitiu ter um formato fixo sem qualquer suporte de 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.

Nesta página