Migração de sintaxe v2 para v3
Neste guia, exploraremos as mudanças na sintaxe necessárias para migrar do padrão da versão v2.0 para a versão v3.0 ao acessar dados dentro de um fluxo de processamento.
Anteriormente, onde usávamos .state para acessar o JSON do payload de entrada ou acessar o resultado de um passo, agora usamos .input.body para o JSON de entrada ou .steps.<nome_do_passo>.body para o resultado de um passo.
Já para acessarmos os headers e query parameters, .input.headers e .input.query_params respectivamente.
Considere um exemplo prático onde um fluxo é disparado via Gateway Fluid com a seguinte URL e JSON de entrada (payload):
Considere que um passo chamado passo_1 tenha gerado o seguinte resultado:
Na versão 2.0, os dados do JSON (body) de entrada eram acessados usando .state. Na versão 3.0, isso foi refinado para melhor refletir a origem dos dados, utilizando .input.body.
Agora a forma para recuperar o campo payload_campo_1 do body do webhook/evento de entrada/disparo do fluxo na versão 3.0 é:
Onde, anteriormente na versão 2.0 usávamos:
Com a atualização para a v3.0, é possível acessar os headers utilizando .input.headers e os query parameters utilizando .input.query_params.
Exemplo para acessar os headers:
Ou para acessar diretamente um header específico:
Caso o header (ou nome do passo, query param, etc) contenha algum caractere especial como hífen -, acesse com a seguinte sintaxe:
Exemplo para acessar os query parameters:
Ou acessar um parâmetro específico:
Em relação ao resultado gerado pela execução de um passo específico no fluxo, a sintaxe também evoluiu. Na versão v2.0, costumávamos usar .state.<nome_do_passo> para acessar o body do resultado desse passo. Na versão v3.0, adotamos uma abordagem mais estruturada com .steps.<nome_do_passo>.body.
Onde anteriormente usávamos:
Para acessar um resultado específico (campo_x) dentro do resultado do passo_1, na versão 3.0, utilize o exemplo conforme abaixo:
Onde a sintaxe antiga v2.0 era:
Da mesma forma, é possível utilizar os dados para ter acesso aos headers utilizando .steps.<nome_do_passo>.headers e os query parameters utilizando .steps.<nome_do_passo>.query_params em um passo.
Exemplo para acessar os headers de um passo:
Ou:
Exemplo para acessar os query parameters:
Ou:
Esta atualização na sintaxe é crucial para garantir a compatibilidade e eficácia na manipulação de dados em ambientes de processamento de fluxo. Certifique-se de ajustar seus templates de acordo com essas novas orientações para aproveitar ao máximo os recursos da versão v3.0. Ao adotar essa nova abordagem, você estará alinhado com as melhores práticas e garantirá uma transição suave para a versão mais recente do sistema de processamento de dados.