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.
A seguir, aprenda a adicionar o JSON Transformation ao canvas e a configurar seu formulário.
Adicione o JSON Transformation ao canvas
-
Clique no ícone no menu de edição à esquerda.
-
Selecione o JSON Transformation para adicioná-lo ao canvas. Você pode usar a barra de pesquisa 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). -
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 . 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 .
Configure o formulário
-
Selecione o JSON Transformation no canvas.
-
Clique no ícone de edição .
-
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).
-
-
Clique no botão GO TO JSONATA . Você será redirecionado para o JSONata Exerciser.
-
Solicite ao fornecedor da aplicação o modelo de dados para o seu mapeamento de entrada.
-
Insira o modelo de dados do lado esquerdo da tela.
-
Monte sua expressão no canto superior direito da tela utilizando a linguagem JSONata.
-
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.
-
Copie a expressão já finalizada.
-
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.
-
-
Clique em SAVE.
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.
Share your suggestions with us!
Click here and then [+ Submit idea]