Webhooks

Los webhooks permiten a IvozProvider notificar eventos de llamada a servicios HTTP externos en tiempo real. Cada vez que se produce un evento suscrito en una llamada coincidente, IvozProvider envía una petición HTTP POST al endpoint configurado con un payload JSON personalizable.

Consejo

Los webhooks se pueden habilitar por marca a través de Funciones.

Campos configurables

Nombre

Se utiliza para identificar este webhook.

Descripción

Texto libre opcional que describe el propósito del webhook.

URL

Endpoint que recibirá la petición HTTP POST cada vez que se dispare un evento suscrito.

Dirección

Restringe el webhook a las llamadas de una dirección determinada:

  • Entrante: solo llamadas entrantes.

  • Saliente: solo llamadas salientes.

  • Ambos: llamadas entrantes y salientes (por defecto).

Eventos

Cada webhook se suscribe a uno o más eventos de llamada. Se envía una petición POST cada vez que se produce un evento suscrito en una llamada coincidente:

Inicio

Se envía cuando se inicia una nueva llamada.

Sonando

Se envía cuando el destino empieza a sonar.

Respuesta

Se envía cuando se responde la llamada.

Fin

Se envía cuando finaliza la llamada.

Actualizar CLID

Se envía cuando la identificación de línea del llamante (CLID) se actualiza durante la llamada.

Plantilla

El cuerpo de la petición POST se define mediante el campo Plantilla: un documento JSON válido donde las marcas {{placeholder}} se sustituyen por los valores reales de la llamada antes de enviar la petición.

Consejo

Al crear un nuevo webhook se proporciona una plantilla por defecto. Puedes adaptarla libremente siempre que el resultado sea un JSON válido.

Placeholders disponibles

Estos son los placeholders que se pueden usar en la plantilla a nivel de marca:

{{event}}

Evento que ha disparado la petición (start, ring, answer, end, updateClid).

{{time}}

Marca de tiempo del evento.

{{callId}}

Call-ID del diálogo SIP.

{{companyId}}

ID interno del cliente implicado en la llamada.

{{company}}

Nombre del cliente implicado en la llamada.

{{ddiId}}

ID interno del DDI implicado.

{{crId}}

ID interno del carrier utilizado (llamadas salientes).

{{dpId}}

ID interno del proveedor de DDI utilizado (llamadas entrantes).

{{direction}}

Dirección de la llamada (entrante/saliente).

{{caller}}

Número del llamante en E.164.

{{callee}}

Número del llamado en E.164.

{{carrier}}

Nombre del carrier utilizado (llamadas salientes).

{{ddiProvider}}

Nombre del proveedor de DDI utilizado (llamadas entrantes).

{{iden}}

Identificador del webhook.

Niveles de asignación

Los operadores de marca pueden definir webhooks en dos niveles diferentes:

Nivel de cliente

Se configura en la configuración de cada cliente (sección Webhooks). Se aplica a todas las llamadas de ese cliente, independientemente del DDI implicado.

Nivel de DDI

Se configura en un DDI concreto. Se aplica solo a las llamadas de ese DDI.

Consejo

Los placeholders y eventos disponibles son los mismos en ambos niveles; solo cambia el alcance de las llamadas coincidentes.