Compatibilidad con actividades de API externas

Este artículo explica el problema en el que Adobe Campaign Standard modifica el formato JSON que el extremo de la API REST de terceros no puede aceptar.

Descripción description

Entorno

Adobe Campaign Standard (ACS)

Problema/Síntomas

El extremo de la API de REST de terceros acepta el siguiente formato JSON para pasar los datos.

Carga real:

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

Sin embargo, ACS modifica el formato JSON, que no es aceptado por el punto final de la API REST de terceros.

Carga útil modificada:

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

Resolución resolution

Existen dos factores que influyeron en la decisión de utilizar el formato:

  1. La parte data solo se agrega si hay una tabla temporal de entrada generada por la actividad anterior y las filas de esa tabla temporal se serializan en una matriz JSON. De ahí la necesidad de una propiedad JSON llamada data y de los datos serializados enviados como una matriz usando [ ]
  2. La actividad permite enviar parámetros personalizados también a la API, que se añaden a la carga útil mediante una propiedad params. Tenga en cuenta que estos se corrigen (se configuran una vez en la actividad durante la creación).

Este formato normalizado nos permitía tener un formato fijo sin ningún soporte de interfaz de usuario para personalizar cómo dar formato a esto según las especificaciones de API de terceros. La intención era utilizar una capa de traducción, como Adobe IO Runtime, AWS Lambda, etc., para traducir sobre la marcha las solicitudes/respuestas según fuera necesario.

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