JSONLogic
JSONLogic permite avaliar condicoes sem escrever codigo imperativo.
Onde aplicar
- Condition Node para decisao binaria
- Switch Node para roteamento multiplo
- Validacao de criterios antes de integrar com API externa
Exemplo simples
{
">": [{"var": "score"}, 80]
}
Use em Condition Node e Switch Node para roteamento por regra.
Operadores comuns
- Comparacao:
>,>=,<,<=,===,!== - Logica:
and,or,! - Texto/lista:
in - Controle:
if
Exemplo de roteamento por confianca
{
"if": [
{">=": [{"var": "intentScore"}, 0.8]},
"rota-automatica",
"fila-humana"
]
}
Exemplo de criterio combinado
{
"and": [
{"===": [{"var": "canal"}, "whatsapp"]},
{">": [{"var": "tempoEsperaMin"}, 5]}
]
}
Cenario avancado: decisao com fallback operacional
Objetivo: automatizar somente quando houver confianca alta e integracao disponivel.
{
"if": [
{
"and": [
{">=": [{"var": "intentScore"}, 0.8]},
{"===": [{"var": "integration.crm.status"}, "up"]},
{"===": [{"var": "trigger.channel"}, "whatsapp"]}
]
},
"rota_automatica",
"rota_fallback_humano"
]
}
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.
Cenario de degradacao controlada
Se a API externa estiver instavel, preserve experiencia do cliente:
{
"if": [
{"!==": [{"var": "integration.crm.status"}, "up"]},
"mensagem_padrao_e_handoff",
"seguir_fluxo_normal"
]
}
Como testar regra antes de publicar
Teste no minimo 3 payloads:
- Confianca alta + integracao ok (deve ir para automacao)
- Confianca baixa (deve ir para fallback)
- Integracao fora do ar (deve ir para fallback)
Erros frequentes
- Caminho de variavel inexistente no contexto
- Comparar numero com texto
- Regra extensa sem fallback
Boas praticas
- Quebre regras muito grandes em etapas.
- Use valores padrao para campos opcionais.
- Teste a regra com 2 ou 3 payloads diferentes.
- Em regra critica, prefira fallback seguro ao inves de bloqueio total.
Proximo passo
Depois das regras, revise Fluxo de Execucao para validar impacto no comportamento geral do flow.