JSON Transformation

JSON Transformation é um step que facilita a manipulação e transformação de dados JSON entre sistemas e aplicativos distintos. É um recurso essencial para garantir a consistência e compatibilidade dos dados entre diversas APIs e fontes de dados.

Para transformar o JSON, você utilizará a linguagem JSONata. Como suporte, o JSONata Exerciser pode ser acessado diretamente a partir do formulário do step. Nele, você pode:

  • Definir a estrutura dos dados de entrada.

  • Criar expressões de transformação que geram os dados de saída no formato desejado.

  • Verificar a existência de erros na expressão.

Para entender em detalhes esta linguagem, consulte a documentação oficial do JSONata.

A seguir, aprenda a adicionar o JSON Transformation ao canvas e a configurar seu formulário.

Adicione o JSON Transformation ao canvas

  1. Clique no ícone ícone de ferramenta com sinal de mais no menu de edição à esquerda.

  2. Selecione o JSON Transformation para adicioná-lo ao canvas. Você pode usar a barra de pesquisa search steps icon para encontrá-lo.

    Você pode adicioná-lo mais de uma vez. Nesse caso, cada vez que a ferramenta é adicionada, um número é acrescentado ao lado do nome (JSON Transformation 1, JSON Transformation 2, JSON Transformation 3).
  3. Conecte o JSON Transformation aos steps do fluxo. Esta ferramenta pode se conectar com um step anterior e um step posterior.

Para copiar o step, clique no botão icone de copiar. Se o formulário do step já estiver configurado, as configurações serão copiadas também.

Para excluir o JSON Transformation do canvas, selecione-o e clique no botão icone lixeira.

Configure o formulário

  1. Selecione o JSON Transformation no canvas.

  2. Clique no ícone de edição icone lapis.

  3. Preencha os seguintes campos do formulário:

    • Name: insira um nome único para o step. Por padrão, você verá "JSON Transformation".

    • Input Data: selecione o step e seu payload de origem para aplicar a transformação de dados. Você verá os dados de requisição e resposta dos conectores e os dados de requisição do gatilho (trigger).

  4. Clique no botão GO TO JSONATA open in newIcon. Você será redirecionado para o JSONata Exerciser.

  5. Solicite ao fornecedor da aplicação o modelo de dados para o seu mapeamento de entrada.

  6. Insira o modelo de dados do lado esquerdo da tela.

  7. Monte sua expressão no canto superior direito da tela utilizando a linguagem JSONata.

  8. Utilize a versão 2.0.x. Você pode localizá-la no canto superior direito da tela.

    Veja um exemplo de como criar uma expressão em um fluxo que integra E-commerce e CRM.

    Em caso de dúvidas, você pode consultar a documentação JSONata.

  9. Copie a expressão já finalizada.

  10. Volte para a tela JSON Transformation do Sensedia Integrations.

    • No campo JSONata, cole a expressão obtida no passo 7 e copiado no passo 9 para mapear os dados para o processo de transformação.

      Caso a expressão tenha algum erro, você verá uma mensagem em vermelho no canto inferior direito deste campo.
  11. Clique em SAVE.

Montando uma expressão no JSONata Exerciser

jsonata pt

Para utilização da resposta nos conectores, acesse a documentação do Data Mapping com Full Body.

Exemplo

Veja um exemplo de como usar o JSONata Exerciser para transformar um JSON:

Integrando E-commerce e CRM

Vamos considerar um fluxo que integre uma plataforma de E-commerce com um sistema de CRM.

Neste cenário, quando um novo pedido é feito na plataforma de E-commerce, os detalhes do pedido precisam ser transformados do formato JSON da plataforma de E-commerce para um formato compatível com o sistema CRM.

Assim, temos os dados iniciais da plataforma de E-commerce:

Dados 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

    }

  ]

}

E os dados no formato desejado para inclusão no CRM:

Dados de saída (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

}
Os dados são iguais, mas a nomenclatura e a maneira de organizar a informação são diferentes para os dois sistemas.

Para chegar ao resultado desejado, vamos mapear o formato JSON de origem para o formato JSON de destino.

Esse mapeamento pode envolver renomear campos, reestruturar dados e realizar cálculos.

Por exemplo:

  • Mapear "orderId" para "order_id".

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

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

  • Mapear cada item no array "items" para a estrutura correspondente no array de "products".

  • Somar o preço de todos os itens para calcular o total.

Neste caso específico, a expressão que vamos usar para obter o mapeamento acima será:

Expressão de transformação JSON

{

  "order_id": orderId,

  "customer": {

    "name": customerName,

    "email": email

  },

  "products": items {

    "id": productId,

    "name": productName,

    "quantity": quantity,

    "price": price

  },

  "total_amount": totalAmount

}

Após aplicar a expressão de transformação JSON, os dados JSON resultantes serão compatíveis com o sistema CRM e poderão ser enviados como uma solicitação para criar um novo registro de pedido.

Thanks for your feedback!
EDIT

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