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

Nodo de IVR: Petición HTTP

Cómo conectar tu IVR con un sistema externo (CRM, ERP, API propia) llamando a una URL y guardando la respuesta en una variable.

Jul 11, 2026

Para qué sirve

Llama a un endpoint HTTP externo desde el propio flujo del IVR, sin pasar por Asterisk, y opcionalmente guarda la respuesta (completa o un fragmento puntual) en una variable para usarla en nodos siguientes. Sirve para consultar un CRM antes de rutear, validar un cliente contra tu ERP, disparar una automatización, etc.

Configuración

  • Método HTTP: GET, POST, PUT o DELETE.
  • URL: admite interpolación de variables, por ejemplo https://crm.com/api/lookup?phone=${caller.phone}. Solo se permiten URLs http(s); direcciones privadas, loopback o reservadas quedan bloqueadas por seguridad.
  • Cabeceras: pares clave/valor; los valores también admiten interpolación (útil para tokens guardados como variable, ej. ${secret}).
  • Cuerpo (JSON): el body de la petición para POST/PUT, también con interpolación de variables.
  • Timeout (segundos): máximo 30 segundos.
  • Guardar respuesta en variable: nombre de la variable donde queda el cuerpo completo de la respuesta.
  • Extraer ruta JSON (opcional): un path tipo data.user.email o $.user.tier; si lo definís, solo ese fragmento se guarda en la variable en vez del JSON completo.

Salidas (edges)

  • success: respuesta 2xx (y, si configuraste una ruta JSON, que además se haya podido resolver).
  • failure: cualquier error — status no-2xx, timeout, problema de red, respuesta que no es JSON válido, ruta JSON no encontrada, o URL bloqueada por la protección contra SSRF.

Ejemplo

Antes de rutear una llamada, agregás un nodo Petición HTTP con método GET a https://mi-erp.com/api/clientes?telefono=${caller.phone}, guardás la respuesta en la variable cliente_info y extraés la ruta $.tier hacia otra variable llamada nivel_cliente. Un nodo Condición después decide: si ${nivel_cliente} es "vip", rutea directo a un agente senior; si falla la consulta (salida failure), sigue al menú general.

Consejos

  • Guardá siempre la salida failure hacia algún nodo (un menú genérico, un mensaje de disculpas): nunca dejes esa rama sin conectar.
  • Usá la ruta JSON para quedarte solo con el dato que necesitás; guardar la respuesta completa obliga a los nodos siguientes a parsear el JSON manualmente.

Solución de problemas

  • Si la petición siempre falla, revisá primero que la URL no apunte a una IP privada o a localhost: el nodo la bloquea automáticamente por seguridad (protección SSRF), aunque el endpoint exista y funcione desde tu red interna.
  • Si guardás una ruta JSON y no aparece nada en la variable, confirmá que la respuesta sea JSON válido y que el path coincida exactamente con la estructura devuelta (el $. inicial es opcional).
¿Te fue útil?

Artículos relacionados