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 cliente:

{{event}}

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

{{callId}}

Call-ID del diálogo SIP.

{{direction}}

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

{{owner}}

Endpoint interno (usuario, friend, …) implicado en la llamada.

{{party}}

Participante restante de la llamada.

{{userId}}

ID interno del usuario al que pertenece el webhook.

{{time}}

Marca de tiempo del evento.

{{iden}}

Identificador del webhook.

Nivel de asignación

En el portal de cliente, los webhooks se configuran por usuario (sección Webhooks de cada usuario) y se aplican solo a las llamadas en las que participa ese usuario.