Central de Ajuda

Bloco Requisição HTTP: Integre APIs Externas no Fluxo

Chame qualquer API direto do construtor de fluxos: gere testes e cadastros, consulte pedidos e use a resposta nas mensagens seguintes do WhatsApp.

O bloco “Requisição HTTP (API)” conecta o seu fluxo do WhatsApp a qualquer sistema. No meio da conversa o AgeuBot chama a sua API, guarda a resposta em variáveis e continua o atendimento — criando cadastros, consultando pedidos ou liberando testes sem ninguém digitar nada.

O que dá para fazer

Onde encontrar

  1. Abra o painel e vá em Automação → Construtor de Fluxos.
  2. Na barra lateral esquerda, procure o bloco Requisição HTTP (API).
  3. Arraste para a área do fluxo e clique nele para configurar.

Não está aparecendo? Dê Ctrl+F5 na página do construtor para atualizar o cache do navegador.

Passo 1 — Método e endereço (URL)

Escolha o método (GET, POST, PUT, PATCH ou DELETE) e informe o endereço. Só endereços https:// são aceitos.

Você pode usar variáveis na URL — elas são substituídas pelos dados do contato e codificadas automaticamente:

https://api.seusistema.com/criar-teste?whats={{telefone}}
https://api.seusistema.com/pedidos/{{numero_pedido}}
https://viacep.com.br/ws/{{cep}}/json/

{{nome}} e {{telefone}} sempre existem. Qualquer variável capturada antes — pelo bloco Capturar Dados ou pelo Menu — também pode ser usada.

Passo 2 — Cabeçalhos (headers)

Servem para autenticação e formato. Clique em + Adicionar header e preencha nome e valor:

Content-Type: application/json
Authorization: Bearer SEU_TOKEN_AQUI
X-API-Key: sua-chave

Enviando JSON no corpo? Inclua sempre Content-Type: application/json, senão muitas APIs recusam a chamada.

Passo 3 — Corpo da requisição (body)

Usado em POST, PUT e PATCH. Escreva o JSON com as variáveis entre chaves duplas:

{
  "nome": "{{nome}}",
  "whats": "{{telefone}}",
  "plano": "{{plano_escolhido}}"
}

As aspas das variáveis são obrigatórias: escreva "{{nome}}" e não {{nome}} solto — sem as aspas o JSON fica inválido e a API recusa.

Passo 4 — Guardar a resposta em variáveis

É aqui que a resposta da API vira mensagem no WhatsApp. Suponha que a sua API devolva:

{
  "sucesso": true,
  "data": {
    "username": "cliente_8842",
    "password": "Xy7k92",
    "validade": "3 dias"
  }
}

Em Extrair da resposta, informe o caminho do campo e o nome da variável que você quer criar:

Caminho na respostaSalvar comoVai valer
data.usernameusuariocliente_8842
data.passwordsenhaXy7k92
data.validadevalidade3 dias

Depois é só usar nos blocos seguintes:

Prontinho, {{nome}}! 🎉

Usuário: *{{usuario}}*
Senha: *{{senha}}*
Válido por {{validade}}.

Para campos dentro de listas, use o índice: data.itens.0.nome pega o nome do primeiro item.

Passo 5 — Tempo limite

Quanto o bot espera pela resposta antes de desistir. Aceita de 3 a 30 segundos (padrão: 10). Se a sua API costuma demorar, aumente — mas lembre que o cliente fica esperando do outro lado.

As duas saídas: Sucesso e Erro

O bloco tem duas saídas, e ligar as duas é obrigatório para o fluxo nunca travar:

SaídaQuando é usadaO que ligar nela
SucessoA API respondeu normalmente (status 2xx)Mensagem com o resultado
ErroAPI fora do ar, token inválido, demorou demais ou recusouMensagem de desculpas + transferir para atendente

Deixar a saída Erro solta é o erro mais comum: se a API falhar, a conversa simplesmente para e o cliente fica sem resposta.

Exemplo completo (copiar e colar)

Fluxo “quero um teste”: pergunta o nome, chama a API, entrega usuário e senha — e, se der problema, chama um atendente.

{
  "nodes": [
    { "id": 1, "type": "start", "x": 60, "y": 160,
      "data": { "label": "Início", "triggerMode": "any", "triggers": "teste, quero testar" } },

    { "id": 2, "type": "input", "x": 340, "y": 160,
      "data": { "label": "Pergunta o nome", "inputPrompt": "Qual o seu nome?",
                "inputVariable": "nome", "inputValidation": "any" } },

    { "id": 3, "type": "http", "x": 620, "y": 160,
      "data": {
        "label": "Criar teste no sistema",
        "httpMethod": "POST",
        "httpUrl": "https://api.seusistema.com/criar-teste",
        "httpHeaders": [
          { "key": "Content-Type",  "value": "application/json" },
          { "key": "Authorization", "value": "Bearer SEU_TOKEN" }
        ],
        "httpBody": "{\"nome\": \"{{nome}}\", \"whats\": \"{{telefone}}\"}",
        "httpTimeoutSec": 15,
        "httpExtractions": [
          { "path": "data.username", "variable": "usuario" },
          { "path": "data.password", "variable": "senha" }
        ]
      } },

    { "id": 4, "type": "content", "x": 900, "y": 70,
      "data": { "label": "Deu certo",
        "message": "Prontinho, {{nome}}! 🎉\n\nUsuário: *{{usuario}}*\nSenha: *{{senha}}*" } },

    { "id": 5, "type": "content", "x": 900, "y": 270,
      "data": { "label": "Deu erro",
        "message": "Ops, não consegui gerar agora. Já chamei um atendente pra te ajudar!" } },

    { "id": 6, "type": "transfer", "x": 1180, "y": 270,
      "data": { "label": "Chamar atendente", "transferMessage": "Transferindo para um atendente..." } }
  ],

  "connections": [
    { "fromNode": 1, "fromPort": "next",    "toNode": 2 },
    { "fromNode": 2, "fromPort": "next",    "toNode": 3 },
    { "fromNode": 3, "fromPort": "success", "toNode": 4 },
    { "fromNode": 3, "fromPort": "error",   "toNode": 5 },
    { "fromNode": 5, "fromPort": "next",    "toNode": 6 }
  ]
}

Para usar: troque a URL pela do seu sistema, coloque o seu token no header Authorization e ajuste os caminhos em httpExtractions conforme a resposta da sua API.

Teste antes de publicar

  1. Chame a sua API primeiro em um cliente REST (Postman, Insomnia) ou pelo terminal e veja a resposta real.
  2. Confira os caminhos: se a resposta é {"data":{"username":"x"}}, o caminho é data.username.
  3. Monte o bloco, ligue as duas saídas e teste mandando mensagem para o seu próprio número.
  4. Não veio a variável? Quase sempre é o caminho errado — reveja o passo 2.

Limites e segurança

Problemas comuns

SintomaCausa provávelSolução
Cai sempre no ErroURL sem HTTPS, API fora do ar ou token inválidoConfirme o https:// e teste a chamada no Postman/Insomnia
Variável chega vaziaCaminho JSON erradoVeja a resposta real da API e corrija o caminho (ex.: data.username)
API recusa o envioFalta o Content-Type ou o JSON está inválidoAdicione o header e confira as aspas nas variáveis
Bloco não aparece na lateralCache do navegadorCtrl+F5 no construtor de fluxos
Demora e falhaAPI lentaAumente o tempo limite (até 30s) ou otimize a API
Dados antigos vão juntoVariáveis de um atendimento anteriorVeja como limpar os dados do contato

Artigos relacionados

Pronto para integrar seu sistema ao WhatsApp?

Abrir o painel e criar meu fluxo