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  | 
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]