🇪🇸 Español 🇬🇧 English 🇧🇷 Português

Nó de IVR: Requisição HTTP

Como conectar seu IVR a um sistema externo (CRM, ERP, API própria) chamando uma URL e salvando a resposta numa variável.

Jul 11, 2026

Para que serve

Chama um endpoint HTTP externo direto do fluxo do IVR, sem passar pelo Asterisk, e opcionalmente guarda a resposta (corpo completo ou um trecho específico) numa variável para os próximos nós usarem. Útil para consultar um CRM antes de rotear, validar um cliente no seu ERP, ou disparar uma automação.

Configuração

  • Método HTTP: GET, POST, PUT ou DELETE.
  • URL: aceita interpolação de variáveis, ex. https://crm.com/api/lookup?phone=${caller.phone}. Só são permitidas URLs http(s); endereços privados, loopback ou reservados são bloqueados por segurança.
  • Cabeçalhos: pares chave/valor; os valores também aceitam interpolação (útil para tokens salvos como variável, ex. ${secret}).
  • Corpo (JSON): o corpo da requisição para POST/PUT, também com interpolação de variáveis.
  • Timeout (segundos): no máximo 30 segundos.
  • Salvar resposta na variável: o nome da variável que guarda o corpo completo da resposta.
  • Extrair caminho JSON (opcional): um caminho como data.user.email ou $.user.tier; se definido, apenas esse trecho é salvo em vez do JSON inteiro.

Saídas (edges)

  • success: resposta 2xx (e, se você configurou um caminho JSON, que ele foi resolvido com sucesso).
  • failure: qualquer erro — status não-2xx, timeout, problema de rede, JSON inválido, caminho JSON não encontrado, ou URL bloqueada pela proteção contra SSRF.

Exemplo

Antes de rotear uma chamada, você adiciona um nó Requisição HTTP com GET para https://meu-erp.com/api/clientes?telefone=${caller.phone}, salva a resposta na variável cliente_info e extrai o caminho $.tier para outra variável chamada nivel_cliente. Um nó Condição mais adiante decide: se ${nivel_cliente} for "vip", roteia direto para um agente sênior; se a consulta falhar (saída failure), segue para o menu geral.

Dicas

  • Sempre conecte a saída failure a algum lugar — um menu genérico, uma mensagem de desculpas. Nunca deixe esse ramo sem conexão.
  • Use o caminho JSON para ficar só com o dado que você precisa; salvar a resposta completa obriga os próximos nós a fazer o parse do JSON manualmente.

Solução de problemas

  • Se a requisição sempre falhar, confira primeiro se a URL não aponta para um IP privado ou localhost — o nó bloqueia isso automaticamente por segurança (proteção SSRF), mesmo que o endpoint funcione bem na sua rede interna.
  • Se você definir um caminho JSON e nada aparecer na variável, confirme que a resposta é um JSON válido e que o caminho corresponde exatamente à estrutura retornada (um $. no início é opcional).
Isso foi útil?

Artigos relacionados