Parametrizações
Sintaxe Fluid
A sintaxe utilizada pela Fluid para criação/parametrização dos fluxos é simples e intuitiva. Para acesso a dados, seja do evento disparado para executar o fluxo ou para acessar os dados de um passo anterior, veja a seguir:
Dados de entrada no disparo ao fluxo
Para acessar tanto o JSON do body/payload de entrada do disparo do fluxo quanto as demais informações, utilize o .input:
- .input.bodyé usado para acessar o JSON do payload de entrada.
- .input.headers
- .input.query_params
Resultados de passos do próprio fluxo
Para acessar os dados resultantes da execução de um passo do fluxo, utilize a sintaxe .steps.<nome_do_passo>:
- Para acessar o resultado de um passo específico, utilize .steps.<nome_do_passo>.body
- Para headers resultantes de um passo, use .steps.<nome_do_passo>.headers
- Para o código (ex: HTTP Status Code) resultantes de um passo, use .steps.<nome_do_passo>.code
Exemplo de uso detalhado
Considere um exemplo prático onde um fluxo é disparado via Gateway Fluid com a seguinte URL e JSON de entrada (payload):
{
"payload_campo_1": "valor do payload de entrada",
"payload_campo_2": {
"msg": "valor do payload de entrada"
}
}Considere que um passo chamado passo_1 tenha gerado o seguinte resultado:
{
"campo_1": "resultado do campo 1",
"campo_2": "resultado do campo 2"
}Acesso aos dados de entrada
Na última versão 3.0, a sintaxe visa refletir a origem dos dados, utilizando .inputpara acessar os dados do payload de entrada e .steps para acessar os resultados dos passos.
A sintaxe para recuperar o campo payload_campo_1 do body do webhook/evento de entrada/disparo do fluxo é:
{{.input.body.payload_campo_1}}Acesso Headers e Query parameters do payload de entrada
É possível acessar os headers utilizando .input.headers e os query parameters utilizando .input.query_params.
Exemplo para acessar os headers:
{{.input.headers | toJson}}Ou para acessar diretamente um header específico:
{{.input.headers.Authorization}}Caso o header (ou nome do passo, query param, etc) contenha algum caractere especial como hífen -, acesse com a seguinte sintaxe:
{{index .input.headers "Content-Type"}}Exemplo para acessar os query parameters:
{{.input.query_params}}Ou acessar um parâmetro específico:
{{.input.query_params.cod_cliente}}Acesso ao resultado de um passo do fluxo
Para acessar o body do resultado de um passo adotamos a sintaxe com .steps.<nome_do_passo>.body:
{{.steps.passo_1.body}}Para acessar um resultado específico (campo_x) dentro do resultado do passo_1, utilize:
{{.steps.passo_1.body.campo_x}}Acesso Headers e Query parameters do passo
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:
{{.steps.passo_1.headers | toJson}}Ou:
{{index .input.headers "Content-Type"}}Exemplo para acessar os query parameters:
{{.steps.passo_1.query_params}}Ou:
{{.steps.passo_1.query_params.cod_cliente}}Migração da sintaxe antiga
Para os usuários que já criaram fluxos utilizando a antiga sintaxe com .state, siga o guia de migração documentado em: Migração de sintaxe v2 para v3
Demais guias de sintaxe para fluxos
Avançado
De/para
Rules
Template