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
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.
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 |
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.
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 |
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"
}
}