Prise en charge des activités d’API externe

Description

Environnement
Content Standard

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

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

  1. Le data n’est ajoutée que s’il existe une entrée table temporaire généré par l’activité précédente et les lignes de celle-ci table temporaire sont sérialisées dans une JSON tableau. D’où la nécessité d’une JSON property nommée data et les données sérialisées envoyées sous la forme d’un 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 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.

Sur cette page