O bloco "Requisição HTTP (API)" conecta seu fluxo a qualquer sistema externo. No meio da conversa, o AgeuBot chama a sua API, guarda a resposta em variáveis e continua o atendimento usando esses dados — tudo automático, sem programar.
Para que serve?
Sempre que a conversa precisar falar com um sistema de fora, esse é o bloco. Exemplos reais:
- Gerar um teste automaticamente: o cliente pede um teste, o fluxo chama a API do seu painel (Sigma e similares) e devolve usuário e senha na hora
- Consultar um pedido: o cliente informa o número e o bot responde o status buscado no seu sistema
- Criar um cadastro/lead: enviar nome e telefone coletados no fluxo para o seu CRM ou ERP
- Buscar preço ou estoque: responder com dados sempre atualizados do seu sistema
Onde encontrar o bloco
No construtor de fluxos:
- No painel, abra Fluxos e edite (ou crie) um fluxo
- Na barra lateral de blocos, seção Avançado, localize "Requisição HTTP (API)"
- Arraste para o quadro e conecte na sequência da conversa
Não está aparecendo? Atualize a página do construtor com Ctrl+F5 (recarrega sem cache).
Configurando o bloco
1 Método e URL
Escolha o método (GET, POST, PUT, PATCH ou DELETE) e informe a URL da API. Por segurança, somente endereços HTTPS são aceitos.
Você pode usar variáveis na URL — elas são preenchidas com os dados do contato e codificadas automaticamente:
https://api.seusistema.com/criar-teste?whats={{telefone}}https://api.seusistema.com/pedidos/{{numero_pedido}}
{{nome}} e {{telefone}} já existem sempre; qualquer variável capturada com o bloco "Capturar Dados" também pode ser usada.
2 Headers (opcional)
Use para autenticação e formatos. Clique em "Adicionar header" e preencha, por exemplo:
- Authorization →
Bearer SEU_TOKEN_AQUI - Content-Type →
application/json(já é o padrão quando o corpo é JSON)
3 Corpo da requisição (body)
Para POST, PUT, PATCH e DELETE você pode enviar um corpo. Se for JSON, as variáveis são escapadas automaticamente (aspas e quebras de linha não quebram o JSON):
{"nome": "{{nome}}", "whatsapp": "{{telefone}}", "plano": "teste"}
4 Guardar a resposta em variáveis
É aqui que a mágica acontece: campos da resposta JSON viram variáveis do contato, que você usa nos próximos blocos com {{nome_da_variavel}}.
Em "Guardar resposta em variáveis", clique em "Adicionar variável" e preencha:
| Variável | Caminho JSON | Se a API respondeu… |
|---|---|---|
usuario | data.username | {"data": {"username": "teste123"}} |
senha | data.password | {"data": {"password": "abc999"}} |
status | pedidos[0].status | primeiro item de uma lista |
Deixe o caminho vazio para guardar a resposta inteira. Os nomes de variável são sempre minúsculos, sem espaço e sem acento — o campo já ajusta sozinho enquanto você digita.
5 Tempo limite
Quanto tempo esperar a API responder: de 3 a 30 segundos (padrão 10). Passou do tempo, o fluxo segue pela saída de Erro.
As duas saídas: Sucesso e Erro
O bloco tem duas portas de saída:
- ✅ Sucesso (2xx): a API respondeu OK (status 200 a 299) — siga para a mensagem que usa as variáveis
- ❌ Erro / Falha: URL bloqueada, tempo esgotado ou resposta de erro (4xx/5xx)
Sempre conecte a saída de Erro a uma mensagem amigável (ex: "Não consegui gerar agora, um atendente vai te ajudar") ou a um bloco de transferir para humano. Sem isso, o fluxo simplesmente encerra quando a API falhar.
Exemplo completo: gerar um teste automático
Fluxo "Quero um teste":
- Bloco Capturar Dados: "Qual seu nome?" → variável
nome - Bloco Requisição HTTP: método
POST, URLhttps://api.seupainel.com/api/criar-teste, headerAuthorization: Bearer SEU_TOKEN, corpo{"nome": "{{nome}}", "whats": "{{telefone}}"}, variáveisusuario←data.usernameesenha←data.password - Porta Sucesso → Bloco Conteúdo: "Prontinho, {{nome}}! 🎉 Seu teste: Usuário: {{usuario}} Senha: {{senha}}"
- Porta Erro → Bloco Conteúdo + Transferir: "Ops, não consegui gerar agora. Já chamei um atendente!"
Limites e segurança
- Somente HTTPS — endereços http:// são bloqueados
- Endereços internos/privados são bloqueados (proteção do servidor)
- Resposta de até 1 MB é lida (o excedente é descartado)
- Proteção anti-loop: o mesmo bloco roda no máximo 5x por minuto (e 20x a cada 10 min) por contato — evita ciclos infinitos de chamadas
Problemas comuns
| Sintoma | Causa provável | Solução |
|---|---|---|
| Cai sempre no Erro | URL http:// (sem S), API fora do ar ou token inválido | Confirme HTTPS e teste a chamada num cliente REST (Postman/Insomnia) |
| Variável fica vazia na mensagem | Caminho JSON errado | Confira a resposta real da API e o caminho (ex: data.username, sem $ na frente — mas se usar, também funciona) |
| Bloco não aparece na barra lateral | Cache do navegador | Ctrl+F5 no construtor de fluxos |
| Demora e falha | API lenta | Aumente o tempo limite (até 30s) ou otimize a API |
Dica: se você precisa que o sistema externo seja avisado dos eventos do AgeuBot (mensagem recebida, mudança de status), o caminho é o contrário: use os Webhooks e a API pública.
Artigos relacionados
- Tipos de blocos do editor visual
- Como criar um fluxo de conversa
- Como configurar webhooks
- API pública do AgeuBot
Pronto para integrar seu sistema ao WhatsApp?
Abrir o painel e criar meu fluxo