Webhooks

Webhooks #

Les webhooks post-appel fournissent des informations sur chaque appel effectué sur le système. Ces informations peuvent être utilisées pour mettre à jour des systèmes externes ou démarrer des automatisations de flux de travail, à l'aide de produits tels qu'Azure Logic Apps ou Zapier.

Exemples de cas d'utilisation :

  • Ajouter un événement d'historique d'appels par rapport à un CRM enregistrer
  • Ajouter les détails de lecture de l'enregistrement d'appel à un CRM enregistrer
  • Des ventes record en CRM
  • Suivre les réclamations des clients dans un système externe
Information Circle info
Plusieurs Webhooks peuvent être configurés (en fonction de la licence) pour fournir des informations post-appel à différents systèmes externes selon les besoins.

Configuration d'un webhook #

Conditions de filtrage #

Par défaut, un webhook se déclenche pour toutes les sessions d'appel, sauf si un filtre est appliqué. Des filtres peuvent être ajoutés pour la plupart des propriétés d'appel afin de permettre au webhook d'être limité à se déclencher uniquement sur les appels 'Externe' par exemple, ou les appels qui correspondent à un numéro 'DID' spécifique.

Ajoutez des options de filtrage si nécessaire. Lorsque plusieurs champs de filtre sont ajoutés, ils sont combinés à l'aide d'un ' ET' opérateur.

Information Circle info
Pour plus d'informations sur le filtrage, reportez-vous à la section ici

Action #

Paramètre Options Description
URL https:// Fournir un HTTPS URL que la gâchette appellera lorsqu'elle sera tirée.
Méthode de la requête GET, POST, PUT Choisissez la méthode de requête requise pour le webhook.
Format de la requête JSON, données de formulaire Choisissez le format de requête requis pour le webhook si POST ou PUT sont sélectionnées comme méthode de demande.
Données utiles supplémentaires Paire clé/valeur Si nécessaire, des informations statiques supplémentaires peuvent être ajoutées à la charge utile du webhook. Entrez des données supplémentaires sous forme de paires clé/valeur, si nécessaire.
Tentatives de nouvelle tentative 0 - 10 Par défaut 1. Entrez le nombre de fois que le webhook doit réessayer si le
Hand Left warning
La configuration du déclencheur de webhook est mise en cache pour améliorer les performances. Tout nouveau déclencheur ou modification apportée à des déclencheurs existants peut prendre jusqu'à 10 minutes avant d'entrer en vigueur.
Information Circle info
Le délai d'expiration d'une demande de webhook est de 10 secondes. Le temps entre les nouvelles tentatives est égal à la Nombre de tentatives x 2 secondes

Données de charge utile

Le tableau ci-dessous présente les données fournies dans la charge utile du déclencheur.

Paramètre Description
triggerID ID unique du déclencheur pour lequel la demande de webhook est déclenchée.
id L'identifiant de l'entité qui change (ID utilisateur ou ID locataire).
tenantId ID de locataire du client auquel l'événement est associé.
Cdr Charge utile des données d'appel
données personnalisées S'il est configuré contre le déclencheur, toutes les informations supplémentaires de la paire clé/valeur de la charge utile seront transmises ici.

CDR Données

Paramètre Description
id ID de session pour le CDR enregistrer.
dType CDR type d'enregistrement - « CloudSessionCdr »
sVer CDR Version - 1
pbxId ~.Dimensions.~ ID de la plate-forme de communication le CDR provient de (par exemple ~.pbx.kazoo.name.~)
pbxNom Nom configuré de la plate-forme de communication
tz Identifiant TZ pour les heures d'appel.
commencer Heure de début de la session d'appel.
répondre L'heure à laquelle les appels ont été répondus pour la première fois.
fin Heure de fin de la session d'appel.
durée Durée de l'appel en secondes.
bague Temps de sonnerie de l'appel en secondes.
parler Temps de conversation de l'appel en secondes.
tenir Temps d'attente de l'appel en secondes.
parc Temps de stationnement de l'appel en secondes.
perdu Indication de l'abandon de l'appel - 1/0
lostinPark Indication indiquant si l'appel a été abandonné alors qu'il était stationné - 1/0
Aban Indication indiquant s'il s'agissait d'un appel à sonnerie courte ou non - 1/0
ans Indication de l'existence d'un appel annuel - 1/0
court Indication indiquant si l'appel a été appelé comme ayant une courte durée - 1/0
cause Effacez la cause de l'appel.
Dir Appelez la direction. 0 - Inconnu, 1 - Interne, 2 - Entrant, 3 - Sortant, 4 - Les deux
type Type d'appel. 0 - Inconnu, 1 - Interne, 2 - Externe
t2t Indication indiquant s'il s'agissait d'un appel de ligne de circuit à ligne de circuit - 1/0
cliNum Numéro d'identification de l'appelant (CLI) dans E.164 format.
cliName Nom de l'appelant
cliLoc Emplacement de l'interface de ligne de commande
cliArea Indicatif régional CLI
cliState État de l'interface de ligne de commande (États-Unis uniquement)
cliCtry Pays CLI
ddiNum Numéro DID en E.164 format.
ddiName Nom DID
fRngDevNum Numéro de l'appareil de première rangée.
fRngDevName Nom de l'appareil du premier rang.
lRngDevNum Numéro de l'appareil du dernier rang.
lRngDevName Nom de l'appareil du dernier rang.
ansDevNum Numéro du répondeur.
ansDevName Nom du répondeur.
lAnsDevNum Numéro du dernier répondeur.
lAnsDevName Nom du dernier répondeur.
fRngUsrNum Numéro d'utilisateur du premier rang.
fRngUsrName Nom d'utilisateur du premier rang.
lRngUsrNum Numéro d'utilisateur du dernier rang.
lRngUsrName Nom d'utilisateur du dernier rang.
ansUsrNum Numéro d'utilisateur de réponse.
ansUsrName Nom d'utilisateur de réponse.
lAnsUsrNum Numéro du dernier utilisateur répondant.
lAnsUsrName Nom d'utilisateur du dernier répondant.
fRngAgtNum Numéro d'agent de première rangée.
fRngAgtName Nom de l'agent de première rang.
lRngAgtNum Numéro d'agent du dernier rang.
lRngAgtName Nom de l'agent du dernier rang.
ansAgtNum Numéro du répondeur.
ansAgtName Nom de l'agent répondeur.
lAnsAgtNum Numéro du dernier répondeur.
lAnsAgtName Nom du dernier répondeur.
rteID Numéro de préfixe. Tout numéro ajouté à l'interface de ligne de commande en tant que préfixe lors de l'acheminement via la plate-forme de communication.
rteName Nom du préfixe. Toute chaîne ajoutée au nom de l'appelant en tant que préfixe lors de l'acheminement via la plate-forme de communication.
fRngGroupName Nom du groupe First Rang.
lRngGroupName Nom du groupe du dernier rang.
ansGroupName Nom du groupe de réponse.
hasRec Indication de l'enregistrement de l'appel - 1/0
taux Indication de la notation de l'appel - 1/0
rateCost Le coût du tarif (double).
rateBand Nom de la bande pour le taux.
rateName Le nom du tarif appliqué.
enregistrementIdés Tableau de chaînes d'Id pour tous les enregistrements associés à cette session d'appel.
annuairematchs Élément du répertoire de contacts Tableau de tous les contacts correspondant à l'appel.
étiquettes Tableau contenant une paire clé/valeur de toutes les balises appliquées à l'appel.

CDR Élément de l'annuaire des contacts

Clé Description Type
titre Titre de la personne-ressource (M, Mme, Docteur, etc.) corde
Nomcomplet Nom complet du contact. Il est utilisé dans les rapports et ~.UcClient.~ clients pour aider les utilisateurs à identifier les appelants. corde
nom de l'entreprise Le nom de l'entreprise pour laquelle le contact travaille. corde
jobTitle La position de contact avec l'entreprise. corde
Téléphone1 vers téléphone4 Une adresse e-mail de contact pour le contact. E.164
Messagerie électronique Jusqu'à 4 champs de numéro de téléphone de contact différents corde
crmId Un identifiant unique pour l'enregistrement de contact d'un CRM système corde
Champ1 à Champ 10 10 champs pour transporter des données personnalisées pour l'enregistrement du contact corde
Color Wand tip
Le triggerId peut être trouvé en modifiant un déclencheur configuré dans le portail client et en copiant le GUID à partir de la fin du URL. par exemple https://myreports.com/en-GB/webhooks/00000000-0000-0000-0000-000000000000

Exemple JSON charge utile

Exemple JSON Format de charge utile pour PUT/POST Requêtes:

{
    « triggerId » : « 00000000-0000-0000-0000-00000000000 »,
    « id » : « 00000000-0000-0000-0000-000000-0000000000 »,
    « tenantId » : « 00000000-0000-0000-0000-00000000000 »,
    « cdr » : {
        « id » : « 00000000-0000-0000-0000-000000-0000000000 »,
        « dType » : « CloudSessionCdr »,
        « sVer » : 1,
        « pbxId » : « 00000000-0000-0000-0000-00000000000 »,
        « pbxName » : « BenDV1 - Dev - Ben »,
        « tz » : « Europe/Londres »,
        « start » : « 2024-05-29T09:37:35+01:00 »,
        « end » : « 2024-05-29T09:37:45+01:00 »,
        « dur » : 10,
        « anneau » : 10,
        « perdu » : 1,
        « cause » : « NORMAL_ DÉFRICHAGE",
        « réal » : 2,
        « type » : 2,
        « cliNum » : « \\u002B44700000000 »,
        « cliLoc » : « Royaume-Uni »,
        « cliCtry » : « GB »,
        « ddiNum » : « \\u002B441610000000 »,
        « fRngDevNum » : « utilisateur_ **\*\***",
        « fRngDevName » : « (T42S)Utilisateur test »,
        « lRngDevNum » : « user\_**\*\***",
        « lRgDevName » : « (T42S)Utilisateur test »,
        « fRngUsrNum » : « 302 »,
        « fRngUsrName » : « Utilisateur test »,
        « lRngUsrNum » : « 302 »,
        « lRngUsrName » : « Utilisateur test »,
        « fRngAgtNum » : « 302 »,
        « fRngAgtName » : « Utilisateur test »,
        « lRngAgtNum » : « 302 »,
        « lRngAgtName » : « Utilisateur test »,
        « hasRec » : 1,
        « recordingIds » : [" 00000000-0000-0000-0000-00000000000"]["00000000-0000-0000-0000-000000000000"],
        « directoryMatches » : [ {
            « dirName » : « Mon global »,
            « dirId » : « 00000000-0000-0000-0000-00000000000 »,
            « dirType » : « DirectoryContactMatch »,
            « contactId » : « 00000000-0000-0000-0000-00000000000 »,
            « champs » : {
            « fullName » : « Exemple de contact »,
            « companyName » : « Société »,
            « jobTitle » : « Titre du poste »,
            « email » : « Adresse e-mail »,
            « field1 » : « field1 »,
            « field2 » : « field2 »,
            « field3 » : « field3 »,
            « field4 » : « field4 »,
            « 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"
            }],
        « tags » : {
            « Support » : « étape1 »
        }
    },
    « customData » : {
        « hook » : « après l'appel »
    }
}