Requisição HTTP (Delegar)
Delegue o processamento do fluxo para um endpoint HTTP próprio. Este node deve ser usado dentro de fluxos do bot, sempre conectado a uma jornada com objetivo claro, rota esperada e tratamento para exceções.
Quando usar
- Use quando uma API própria precisa decidir o próximo comportamento da conversa.
- Aplique em regras complexas, integrações customizadas e jornadas que precisam manter estado fora do builder.
Campos de configuração
- URL Requisição: endpoint que receberá a requisição.
Entradas e saídas
- Entradas: recebe 1 entrada.
- Saídas: possui 1 saída.
- Com
keepHere: true, permanece no node e envia a próxima mensagem recebida novamente ao endpoint. - Com
keepHere: false, segue pela única saída conectada ao próximo passo do fluxo.
Exemplo prático
Envie a mensagem atual para uma API própria, receba variáveis atualizadas e decida se o fluxo deve permanecer aguardando novas mensagens.
Como funciona a delegação
Ao executar o node, a Agilize envia um POST para a URL configurada. O payload inclui o número sequencial da execução (seq), identificadores da conversa e do canal, a mensagem atual, a resposta interativa quando houver e as variáveis já disponíveis no fluxo.
O endpoint deve responder com JSON usando estes campos:
| Campo | Função |
|---|---|
messages | Lista de mensagens que a Agilize enviará ao contato. Cada item pode conter texto, arquivo ou botões. |
keepHere | Use true para aguardar outra mensagem neste node; use false para continuar pela saída. |
vars | Variáveis que serão persistidas e disponibilizadas aos próximos nodes e templates. |
Somente os valores retornados dentro de vars são persistidos no contexto do fluxo. Para consultar todos os campos do payload, formatos de mensagem e exemplo de retorno, veja a referência técnica do NodeHttpDelegate.
Exemplo de implementação
Consulte o template JavaScript com Express. O exemplo envia texto, PDF, imagem e botões, mantém a primeira interação no node e depois retorna uma variável antes de continuar o fluxo.
Boas práticas e riscos comuns
- O endpoint externo precisa responder dentro do tempo esperado.
- Use
varspara devolver dados que serão usados por próximos nodes. - Controle loops quando o retorno mantiver a conversa no mesmo node.
- Consulte a documentação e exemplo para estruturar seu serviço.
- Use para integrações customizadas e regras complexas.
Como testar
- Retorne
keepHere: truee confirme que a conversa permanece no node aguardando uma nova mensagem. - Envie uma nova mensagem ou selecione um botão e confirme que
seqfoi incrementado einteractiveReplychegou quando aplicável. - Retorne
keepHere: falsecom uma variável emvarse confirme que a saída foi seguida e que o próximo node recebeu o valor. - Simule erro HTTP, timeout e retorno vazio para validar o caminho de contingência do fluxo.
