Webhooks

Webhooks #

Los webhooks posteriores a la llamada proporcionan información sobre cada llamada que se completó en el sistema. Esta información se puede usar para actualizar sistemas externos o iniciar automatizaciones de flujo de trabajo, mediante productos como Azure Logic Apps o Zapier.

Ejemplos de casos de uso:

  • Agregar un evento de historial de llamadas en un CRM grabar
  • Agregar detalles de reproducción de grabación de llamadas a un CRM grabar
  • Récord de ventas exitosas en CRM
  • Seguimiento de las quejas de los clientes en un sistema externo
Information Circle info
Se pueden configurar varios webhooks (dependiendo de la licencia) para proporcionar información posterior a la llamada a diferentes sistemas externos según sea necesario.

Configuración de un webhook #

Condiciones de filtrado #

De forma predeterminada, se activará un webhook para todas las sesiones de llamada a menos que se aplique un filtro. Se pueden agregar filtros para la mayoría de las propiedades de llamada para permitir que el webhook se restrinja para que solo se active en llamadas 'externas', por ejemplo, o llamadas que coincidan con un número 'DID' específico.

Agregue opciones de filtro según sea necesario. Cuando se agregan varios campos de filtro, se combinan mediante un ' Y' operador.

Information Circle info
Para obtener más información sobre el filtrado, consulte aquí

Acción #

Parámetro Opciones Descripción
URL https:// Proporcione un HTTPS URL que el disparador llamará cuando se dispare.
Método de solicitud GET, POST, PUT Elija el método de solicitud requerido para el webhook.
Formato de solicitud JSON, Datos del formulario Elija el formato de solicitud requerido para el webhook si POST o PUT se seleccionan como método de solicitud.
Datos de carga útil adicionales Par clave-valor Si es necesario, se puede agregar información estática adicional a la carga útil del webhook. Introduzca los datos adicionales como pares clave-valor, según sea necesario.
Intentos de reintento 0 - 10 Por defecto 1. Introduzca el número de veces que el webhook debe volver a intentarlo si en algún momento hay un error
Hand Left warning
La configuración del desencadenador de webhook se almacena en caché para mejorar el rendimiento. Los nuevos activadores o los cambios en los activadores existentes pueden tardar hasta 10 minutos en surtir efecto.
Information Circle info
El tiempo de espera de una solicitud de webhook es de 10 segundos. El tiempo entre reintentos es igual a Número de intento x 2 segundos

Datos de carga útil

En la tabla siguiente se muestran los datos proporcionados en la carga útil del desencadenador.

Parámetro Descripción
triggerID El identificador único del desencadenador para el que se desencadena la solicitud de webhook.
identificación El identificador de la entidad que está cambiando (ID de usuario o ID de inquilino).
tenantId El identificador de inquilino del cliente al que está asociado el evento.
Cdr La carga útil de datos de llamada
customData Si se configura con el desencadenador, cualquier información adicional del par clave/valor de carga útil se pasará aquí.

CDR Datos

Parámetro Descripción
identificación El ID de sesión para el CDR grabar.
dType CDR Tipo de registro: "CloudSessionCdr"
sVer CDR Versión - 1
pbxId ~.Dimensions.~ ID para la plataforma de comunicaciones el CDR es de (p. ej. ~.pbx.kazoo.name.~)
pbxName El nombre configurado de la plataforma de comunicaciones
tz Identificador TZ para los tiempos de llamada.
empezar Hora de inicio de la sesión de llamada.
respuesta Hora en que las llamadas fueron atendidas por primera vez.
fin Hora de finalización de la sesión de llamada.
Dur Duración de la llamada en segundos.
anillo Tiempo de timbre de la llamada en segundos.
hablar Tiempo de conversación de la llamada en segundos.
sostener Tiempo de espera de la llamada en segundos.
parque Tiempo de estacionamiento de la llamada en segundos.
extraviado Indicación de si se ha abandonado la llamada: 1/0
lostinPark Indicación de si la llamada se abandonó mientras estaba estacionado - 1/0
Aban Indicación de si la llamada fue una llamada de timbre corto o no: 1/0
Ans Indicación de si la llamada fue ans - 1/0
corto Indicación de si la llamada fue llamada por ser de corta duración: 1/0
causa Despeje la causa de la llamada.
Dir Dirección de la llamada. 0 - Desconocido, 1 - Interno, 2 - Entrante, 3 - Saliente, 4 - Ambos
tipo Tipo de llamada. 0 - Desconocido, 1 - Interno, 2 - Externo
T2T Indicación de si la llamada fue de enlace troncal a enlace troncal: 1/0
cliNum Número de identificación de llamadas (CLI) en E.164 formato.
cliName Nombre de la persona que llama
cliLoc Ubicación de CLI
cliArea Código de área CLI
cliState Estado de CLI (solo EE. UU.)
cliCtry País CLI
ddiNum Número de DID en E.164 formato.
ddiName Nombre DID
fRngDevNum El primer número de dispositivo sonó.
fRngDevName Primer sonó el nombre del dispositivo.
lRngDevNum Número de dispositivo del último timbre.
lRngDevName Nombre del dispositivo del último timbre.
ansDevNum Número de contestador automático.
ansDevName Nombre del dispositivo contestador.
lAnsDevNum Número del último dispositivo de respuesta.
lAnsDevName Nombre del último dispositivo de respuesta.
fRngUsrNum El primer número de usuario que sonó.
fRngUsrName Primer nombre de usuario que sonó.
lRngUsrNum Número de usuario del último timbre.
lRngUsrName Nombre de usuario del último timbre.
ansUsrNum Contestando al número de usuario.
ansUsrName Nombre de usuario de respuesta.
lAnsUsrNum Número de usuario del último contestador.
lAnsUsrName Nombre de usuario del último contestador.
fRngAgtNum Primer número de agente que sonó.
fRngAgtName Primer sonó el nombre del agente.
lRngAgtNum Número de agente que llamó por última vez.
lRngAgtName Último nombre del agente que llamó.
ansAgtNum Número de agente contestador.
ansAgtName Nombre del agente de respuesta.
lAnsAgtNum Número del último agente de respuesta.
lAnsAgtName Nombre del último agente de respuesta.
rteID Número de prefijo. Cualquier número agregado a la CLI como prefijo durante el enrutamiento a través de la plataforma de comunicaciones.
rteName Nombre del prefijo. Cualquier cadena agregada al nombre de la persona que llama como prefijo durante el enrutamiento a través de la plataforma de comunicaciones.
fRngGroupName Primer sonó el nombre del grupo.
lRngGroupName Nombre del grupo del último timbre.
ansGroupName Nombre del grupo de contestador.
hasRec Indicación de si la llamada fue grabada - 1/0
tasa Indicación de si la llamada ha sido calificada - 1/0
rateCost El costo de la tarifa (doble).
rateBand El nombre de la banda para la tasa.
rateName El nombre de la tasa aplicada.
recordingIds Matriz de cadenas de identificadores para las grabaciones asociadas a esta sesión de llamada.
DirectoryMatches Elemento de directorio de contactos Matriz de los contactos que coincidan con la llamada.
Etiquetas Matriz que contiene un par clave-valor de cualquier etiqueta aplicada a la llamada.

CDR Elemento de directorio de contactos

Llave Descripción Tipo
título Cargo del contacto (Sr., Sra., Dr., etc.) cuerda
Nombre completo Nombre completo del contacto. Esto se utiliza en informes y ~.UcClient.~ clientes para ayudar a los usuarios a identificar a las personas que llaman. cuerda
companyName El nombre de la empresa para la que trabaja el contacto. cuerda
jobTitle El puesto de contacto con la empresa. cuerda
teléfono1 a teléfono4 Una dirección de correo electrónico de contacto para el contacto. E.164
Correo electrónico Hasta 4 campos de número de teléfono de contacto diferentes cuerda
crmId Un identificador único para el registro de contacto de un CRM sistema cuerda
Del campo 1 al campo 10 10 campos para llevar cualquier dato personalizado para el registro de contacto cuerda
Color Wand tip
El triggerId se puede encontrar editando un disparador configurado en el Portal del cliente y copiando el archivo GUID Desde el final de la URL. p. ej. https://myreports.com/en-GB/webhooks/00000000-0000-0000-0000-000000000000

Ejemplo JSON carga útil

Ejemplo JSON Formato de carga útil para PUT/POST Solicitudes:

{
    "triggerId": "00000000-0000-0000-0000-000000000000",
    "id": "00000000-0000-0000-0000-000000000000",
    "tenantId": "00000000-0000-0000-0000-0000000000000",
    "cdr": {
        "id": "00000000-0000-0000-0000-000000000000",
        "dType": "CloudSessionCdr",
        "sVer": 1,
        "pbxId": "00000000-0000-0000-0000-000000000000",
        "pbxName": "BenDV1 - Dev - Ben",
        "tz": "Europa/Londres",
        "inicio": "2024-05-29T09:37:35+01:00",
        "end": "2024-05-29T09:37:45+01:00",
        "durante": 10,
        "anillo": 10,
        "perdido": 1,
        "causa": "NORMAL_ DESMONTE",
        "dir": 2,
        "tipo": 2,
        "cliNum": "\\u002B447000000000",
        "cliLoc": "Reino Unido",
        "cliCtry": "GB",
        "ddiNum": "\\u002B441610000000",
        "fRngDevNum": "user_ **\*\***",
        "fRngDevName": "(T42S) Usuario de prueba",
        "lRngDevNum": "user\_**\*\***",
        "lRgDevName": "(T42S) Usuario de prueba",
        "fRngUsrNum": "302",
        "fRngUsrName": "Usuario de prueba",
        "lRngUsrNum": "302",
        "lRngUsrName": "Usuario de prueba",
        "fRngAgtNum": "302",
        "fRngAgtName": "Usuario de prueba",
        "lRngAgtNum": "302",
        "lRngAgtName": "Usuario de prueba",
        "hasRec": 1,
        "recordingIds": [" 00000000-0000-0000-0000-000000000000"]["00000000-0000-0000-0000-000000000000"],
        "directoryMatches": [ {
            "dirName": "Mi global",
            "dirId": "00000000-0000-0000-0000-000000000000",
            "dirType": "DirectoryContactMatch",
            "contactId": "00000000-0000-0000-0000-000000000000",
            "campos": {
            "fullName": "Contacto de ejemplo",
            "companyName": "Empresa",
            "jobTitle": "Título del trabajo",
            "email": "Dirección de correo electrónico",
            "campo1": "campo1",
            "campo2": "campo2",
            "field3": "field3",
            "campo4": "campo4",
            "field5": "field5",
            "field6": "field6",
            "field7": "field7",
            "field8": "field8",
            "field9": "field9",
            "field10": "301"
            }][{
            "dirName": "My Global",
            "dirId": "00000000-0000-0000-0000-000000000000",
            "dirType": "DirectoryContactMatch",
            "contactId": "00000000-0000-0000-0000-000000000000",
            "fields": {
            "fullName": "Example Contact",
            "companyName": "Company",
            "jobTitle": "Job Title",
            "email": "Email Address",
            "field1": "field1",
            "field2": "field2",
            "field3": "field3",
            "field4": "field4",
            "field5": "field5",
            "field6": "field6",
            "field7": "field7",
            "field8": "field8",
            "field9": "field9",
            "field10": "301"
            }],
        "etiquetas": {
            "Soporte": "paso 1"
        }
    },
    "customData": {
        "hook": "post llamada"
    }
}