Prise en charge des activités d’API externe

Cet article explique le problème en raison duquel Adobe Campaign Standard modifie le format JSON que le point de terminaison API REST tiers ne peut pas accepter.

Description description

Environnement

Adobe Campaign Standard (ACS)

Problème/Symptômes

Le point de terminaison d’API REST tiers accepte le format JSON suivant pour transmettre les données.

Charge utile réelle :

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

Mais ACS modifie le format JSON, qui n’est pas accepté par le point de terminaison tiers de l’API REST.

Charge utile modifiée :

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

Résolution resolution

Deux facteurs ont influencé la décision d’utiliser le format :

  1. La partie data n’est ajoutée que si une table temporaire entrante est générée par l’activité précédente et que les lignes de cette table temporaire sont sérialisées dans un tableau JSON. D’où la nécessité d’une propriété JSON nommée data et des données sérialisées envoyées sous forme de tableau à l’aide de [ ] .
  2. L’activité permet également l’envoi de paramètres personnalisés à l’API, qui sont ajoutés à la charge utile à l’aide d’une propriété params . Notez qu’elles sont corrigées (configurées une fois dans l’activité au moment de la création).

Ce format normalisé nous a permis d’avoir un format fixe sans prise en charge de l’interface utilisateur afin de personnaliser la mise en forme selon les spécifications d’API tierces. L’intention était d’utiliser une couche de traduction, telle qu’Adobe IO Runtime, AWS Lambda, etc., pour effectuer la traduction à la volée des requêtes/réponses, si nécessaire.

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