Supporto attività API esterna

Questo articolo spiega il problema in cui Adobe Campaign Standard modifica il formato JSON che l’endpoint REST API di terze parti non può accettare.

Descrizione description

Ambiente

Adobe Campaign Standard (ACS)

Problema/Sintomi

L’endpoint REST API di terze parti accetta il seguente formato JSON per trasmettere i dati.

Payload effettivo:

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

Tuttavia, ACS modifica il formato JSON che non è accettato dall’endpoint REST API di terze parti.

Payload modificato:

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

Risoluzione resolution

Ci sono due fattori che hanno influenzato la decisione di utilizzare il formato:

  1. La porzione data viene aggiunta solo se è presente una tabella temporanea in entrata generata dall'attività precedente e le righe di tale tabella temporanea vengono serializzate in un array JSON. È quindi necessario specificare una proprietà JSON denominata data e i dati serializzati inviati come array utilizzando [ ].
  2. L'attività consente di inviare anche parametri personalizzati all'API, che vengono aggiunti al payload utilizzando una proprietà params. Tieni presente che questi sono fissi (configurati una sola volta nell’attività durante il tempo di authoring).

Questo formato normalizzato ci ha permesso di avere un formato fisso senza il supporto dell’interfaccia utente per personalizzare come formattarlo in base alle specifiche API di terze parti. L’intenzione era quella di utilizzare un livello di traduzione, come Adobe IO Runtime, AWS Lambda, ecc., per eseguire la traduzione immediata di richieste/risposte in base alle esigenze.

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