Variaveis e Contexto
Variaveis bem modeladas reduzem incidentes e retrabalho. Grande parte das falhas em producao vem de caminho incorreto de contexto.
Escopos comuns
- Entrada do trigger
- Resultado do node anterior
- Variaveis definidas por Set Variable
- Metadados do contato (ViewBag)
Modelo mental rapido
Pense no contexto como um objeto que cresce a cada etapa do flow. Se um node precisa de um dado, ele deve ler um caminho valido nesse objeto.
Cenario real: mensagem de WhatsApp
Exemplo simplificado de entrada no trigger:
{
"trigger": {
"channel": "whatsapp",
"contact": {
"id": "wa_123",
"name": "Joao",
"phone": "5511999999999"
},
"message": {
"text": "Quero segunda via"
}
}
}
Com essa estrutura, caminhos estaveis seriam:
trigger.contact.idtrigger.contact.phonetrigger.message.text
Preview no FlowBuilder
Este exemplo abre direto no FlowBuilder embedado. A visualizacao em Fluxo/JSON, simulacao e operacoes do flow ficam dentro do proprio editor.
Nao foi possivel carregar o preview embedado automaticamente.
Exemplo: errado vs correto
Errado
{"var": "userId"}
Sem escopo, o engine pode nao encontrar o valor.
Correto
{"var": "trigger.contact.id"}
Agora o caminho aponta para um local especifico do contexto.
Recomendacoes
- Use nomes previsiveis (
intent,userId,payload). - Defina defaults para campos opcionais.
- Normalize tipos antes de avaliar regras.
Integracao externa: mapeamento seguro
Antes de chamar API externa, padronize campos em um node de transformacao.
Exemplo de objeto pronto para integracao:
{
"customerId": "{{trigger.contact.id}}",
"customerPhone": "{{trigger.contact.phone}}",
"intent": "{{variaveis.intent}}",
"messageText": "{{trigger.message.text}}"
}
Se variaveis.intent estiver vazio, defina fallback para "atendimento_humano" antes do roteamento.
Checklist antes de publicar
- Todos os caminhos usados em regra existem no payload real.
- Valores opcionais possuem fallback.
- Campos numericos foram normalizados para numero.
- Campos booleanos nao estao como texto (
"true","false"). - Campos criticos para API externa possuem fallback seguro.
Proximo passo
Siga para Templates para montar mensagens e payloads dinamicos sem quebrar o contexto.