JSON Transformation

JSON Transformation es un step que facilita la manipulación y transformación de datos JSON entre sistemas y aplicaciones distintas. Es un recurso esencial para garantizar la consistencia y compatibilidad de los datos entre diversas APIs y fuentes de datos.

Para transformar el JSON, utilizará el lenguaje JSONata. Como soporte, el JSONata Exerciser puede ser accedido directamente desde el formulario del step. En él, puede:

  • Definir la estructura de los datos de entrada.

  • Crear expresiones de transformación que generan los datos de salida en el formato deseado.

  • Verificar la existencia de errores en la expresión.

Para comprender en detalle este lenguaje, consulte la documentación oficial de JSONata.

A continuación, aprenda a añadir JSON Transformation al canvas y a configurar su formulario.

Añade JSON Transformation al canvas

  1. Haga clic en el icono icono de herramienta con signo más del menú de edición de la izquierda.

  2. Seleccione el JSON Transformation para añadirlo al canvas. Puede utilizar la barra de búsqueda search steps icon para encontrarlo.

    Puede añadirlo más de una vez. En este caso, cada vez que se añade la herramienta, se añade un número junto al nombre (JSON Transformation 1, JSON Transformation 2, JSON Transformation 3).
  3. Conecta el JSON Transformation a los steps del flujo. Esta herramienta puede conectarse a un step anterior y a un step posterior.

Para copiar el step, haga clic en el botón  icono de copia. Si el formulario del step ya está configurado, los ajustes también se copian.

Para eliminar el JSON Transformation del canvas, selecciónelo y haga clic en el botón icono de la papelera.

Configura el formulario

  1. Seleccione el JSON Transformation en el canvas.

  2. Haga clic en el icono de edición icono de lápiz.

  3. Rellene los siguientes campos del formulario:

    • Name: inserte un nombre único para el step. Por defecto, aparecerá "JSON Transformation".

      • Input Data: seleccione el step y su payload de origen para aplicar la transformación de datos. Verá los datos de solicitud y respuesta de los conectores y los datos de solicitud del gatillo (trigger).

  4. Haga clic en el botón GO TO JSONATA open in newIcon. Será redirigido al JSONata Exerciser.

  5. Solicite al proveedor de la aplicación el modelo de datos para su mapeo de entrada.

  6. Inserte el modelo de datos en la parte izquierda de la pantalla.

  7. Elabore su expresión en la parte superior derecha de la pantalla utilizando el lenguaje JSONata.

  8. Utilice la versión 2.0.x. Puede encontrarla en la esquina superior derecha de la pantalla.

    Vea un ejemplo de cómo crear una expresión en un flujo que integra E-commerce y CRM.

    Si tiene alguna duda, puede consultar la documentación de JSONata.

  9. Copie la expresión finalizada.

  10. Vuelva a la pantalla JSON Transformation de Sensedia Integrations.

    • En el campo JSONata, inserte la expresión obtenida en el paso 7 y copiado en el paso 9 para mapear los datos para el proceso de transformación.

      Si la expresión tiene algún error, verá un mensaje en rojo en la parte inferior derecha de este campo.
  11. Haga clic en SAVE.

Configuración de una expresión en JSONata Exerciser

jsonata es

Para utilizar la respuesta en conectores, consulte la documentación de Data Mapping con Full Body.

Ejemplo

Vea un ejemplo de cómo utilizar el JSONata Exerciser para transformar un JSON:

Integrando E-commerce y CRM

Consideremos un flujo que integre una plataforma de E-commerce con un sistema de CRM.

En este escenario, cuando se realiza un nuevo pedido en la plataforma de E-commerce, los detalles del pedido deben ser transformados del formato JSON de la plataforma de E-commerce a un formato compatible con el sistema CRM.

Así, tenemos los datos iniciales de la plataforma de E-commerce:

Datos de entrada (E-commerce)

{

  "orderId": "123456",

  "customerName": "John Doe",

  "email": "john@example.com",

  "totalAmount": 100.50,

  "items": [

    {

      "productId": "ABC123",

      "productName": "Widget",

      "quantity": 2,

      "price": 25.25

    },

    {

      "productId": "DEF456",

      "productName": "Gadget",

      "quantity": 1,

      "price": 50.00

    }

  ]

}

Y los datos en el formato requerido para su inclusión en el CRM:

Datos de salida (CRM)

{

  "order_id": "123456",

  "customer": {

    "name": "John Doe",

    "email": "john@example.com"

  },

  "products": {

    "id": [

      "ABC123",

      "DEF456"

    ],

    "name": [

      "Widget",

      "Gadget"

    ],

    "quantity": [

      2,

      1

    ],

    "price": [

      25.25,

      50

    ]

  },

  "total_amount": 100.5

}
Los datos son iguales, pero la nomenclatura y la forma de organizar la información son diferentes para ambos sistemas.

Para lograr el resultado deseado, vamos a mapear el formato JSON de origen al formato JSON de destino.

Este mapeo puede implicar renombrar campos, reestructurar datos y realizar cálculos.

Por ejemplo:

  • Mapear "orderId" para "order_id".

  • Mapear "customerName" para "customer.name".

  • Mapear "email" para "customer.email".

  • Mapear cada ítem en el array "items" para la estructura correspondiente en el array de "products".

  • Sumar el precio de todos los ítems para calcular el total.

En este caso específico, la expresión que utilizaremos para obtener el mapeo mencionado será:

Expresión de transformación JSON

{

  "order_id": orderId,

  "customer": {

    "name": customerName,

    "email": email

  },

  "products": items {

    "id": productId,

    "name": productName,

    "quantity": quantity,

    "price": price

  },

  "total_amount": totalAmount

}

Después de aplicar la expresión de transformación JSON, los datos JSON resultantes serán compatibles con el sistema CRM y podrán ser enviados como una solicitud para crear un nuevo registro de pedido.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]