Webhooks #
Post-Call-Webhooks liefern Informationen über jeden Anruf, der im System abgeschlossen wurde. Diese Informationen können verwendet werden, um externe Systeme zu aktualisieren oder Arbeitsablauf-Automatisierungen zu starten, mit Produkten wie Azure Logic Apps oder Zapier.
Beispielanwendungen:
- Fügen Sie ein Anrufverlis-Ereignis gegen einen CRM Datensatz hinzu
- Fügen Sie die Wiedergabedetails der Anrufaufnahme zu einem CRM Datensatz hinzu
- Trage erfolgreiche Dispositionen in einem CRM
- Kundenbeschwerden in einem externen System verfolgen
info
Mehrere Webhooks können konfiguriert werden (je nach Lizenz), um nach Bedarf Informationen nach dem Anruf an verschiedene externe Systeme bereitzustellen.
Konfiguration eines Webhooks #
Veranstaltung #
Wählen Sie eines oder mehrere der folgenden Ereignisse aus, die den Webhook auslösen:
| Ereignistyp | Beschreibung |
|---|---|
| Erstellt | Der Webhook wird ausgelöst, wenn eine neue Anrufsitzung erstellt wird. Sobald eine Anrufsitzung abgeschlossen ist, wird der Webhook 'Created' ausgelöst und liefert alle Details zum Telefonanruf. |
| Aktualisiert | Der Webhook wird ausgelöst, wenn eine Anrufsitzung aktualisiert wird. Dies geschieht, wenn die Details eines vorherigen Anrufs aktualisiert werden. Primär kann dies dann geschehen, wenn nach Abschluss zusätzliche Informationen zu einem Anruf hinzugefügt werden, wie zum Beispiel eine Disposition oder Notizen. |
| Transkribiert | Der Webhook wird ausgelöst, wenn alle relevanten Abschnitte einer Anrufsitzung transkribiert wurden. Dieser Web-Hook-Trigger ist nur für Kunden relevant, die die Funktionen zur Anruftranskription nutzen. |
Filterbedingungen #
Standardmäßig wird ein Webhook für alle Aufrufsitzungen ausgelöst, sofern kein Filter angewendet wird. Für die meisten Aufrufeigenschaften können Filter hinzugefügt werden, um den Webhook auf nur 'externe' Aufrufe oder Anrufe mit einer bestimmten 'DID'-Nummer zu beschränken.
Füge bei Bedarf Filteroptionen hinzu. Wenn mehrere Filterfelder hinzugefügt werden, werden sie mit einem Operator 'AND' kombiniert.
info
Weitere Informationen zur Filterung finden Sie hier
Aktion #
| Parameter | Optionen | Beschreibung |
|---|---|---|
| URL | https:// | Stellen Sie eine HTTPS URL die der Trigger beim Auslösen aufruft. |
| Anforderungsmethode | GET, POST, PUT | Wählen Sie die erforderliche Anforderungsmethode für den Webhook. |
| Anfrageformat | JSON, Formulardaten | Wählen Sie das erforderliche Anfrageformat für den Webhook, wenn POST oder PUT als Anfrage-Methode ausgewählt werden. |
| Zusätzliche Nutzlastdaten | Schlüssel-/Wertpaar | Falls erforderlich, können zusätzliche statische Informationen zum Webhook-Payload hinzugefügt werden. Geben Sie alle zusätzlichen Daten als Schlüssel-/Wertpaare nach Bedarf ein. |
| Wiederholungsversuche | 0 - 10 | Standard 1. Geben Sie die Anzahl der Male ein, die der Webhook erneut versuchen sollte, falls es zu irgendeinem Zeitpunkt einen erfolglosen Versuch gibt |
warning
Die Webhook-Triggerkonfiguration wird zwischengespeichert, um die Leistung zu verbessern. Neue Auslöser oder Änderungen bestehender Auslöser können bis zu 10 Minuten dauern, bis sie wirken.
info
Die Auszeit für eine Webhook-Anfrage beträgt 10 Sekunden. Die Zeit zwischen den Wiederholungsversuchen entspricht der Versuchszahl x 2 Sekunden
Nutzlastdaten
Die untenstehende Tabelle zeigt die im Trigger-Payload bereitgestellten Daten.
| Parameter | Beschreibung |
|---|---|
| triggerID | Die eindeutige ID für den Auslöser, für den die Web-Hook-Anfrage abgefeuert wird. |
| id | Die ID der Entität, die sich ändert (Benutzer-ID oder Mieter-ID). |
| MieterID | Die Kunden-Tenant-ID, mit der das Ereignis verknüpft ist. |
| CDR | Die Aufrufdatennutzlast |
| customData | Wenn sie gegen den Trigger konfiguriert sind, werden zusätzliche Informationen zum Nutzlastschlüssel/Wert-Paar hierher übermittelt. |
CDR Daten
| Parameter | Beschreibung |
|---|---|
| id | Die Session-ID für den CDR Datensatz. |
| dType | CDR Datensatztyp - "CloudSessionCdr" |
| sVer | CDR Version - 1 |
| pbxId | ~.Dimensions.~ id für die Kommunikationsplattform die CDR stammt von (z. B. ~.pbx.kazoo.name.~) |
| pbxName | Der konfigurierte Name der Kommunikationsplattform |
| tz | TZ-Kennung für die Anrufzeiten. |
| Start | Startzeit der Gesprächssitzung. |
| Antwort | Zeit, dass die Anrufe zuerst beantwortet wurden. |
| Ende | Ende der Gesprächssitzung. |
| Dur | Dauer des Anrufs in Sekunden. |
| Ring | Klingelzeit des Anrufs in Sekunden. |
| Reden | Sprechen Sie die Zeit des Anrufs in Sekunden. |
| Halt | Wartezeit des Anrufs in Sekunden. |
| Park | Parkzeit des Anrufs in Sekunden. |
| verloren | Hinweis darauf, ob der Anruf abgebrochen wurde – 1/0 |
| lostinPark | Hinweis darauf, ob der Anruf während des Parkens abgebrochen wurde – 1/0 |
| aban | Hinweis darauf, ob der Anruf ein kurzer Klingelanruf war oder nicht – 1/0 |
| Ans | Hinweis darauf, ob der Anruf war - 1/0 |
| Kurzfilm | Hinweis darauf, ob der Ruf als kurzfristig angerufen wurde – 1/0 |
| Ursache | Räumt den Grund für den Anruf frei. |
| Regie | Ruf die Richtung an. 0 - Unbekannt, 1 - Intern, 2 - Einkommend, 3 - Ausgehend, 4 - Beide |
| Typ | Ruftyp. 0 - Unbekannt, 1 - Intern, 2 - Extern |
| t2t | Anzeige, ob der Anruf ein Trunk-zu-Trunk-Anruf war – 1/0 |
| cliNum | Anrufer-ID (CLI)-Nummer im E.164 Format. |
| cliName | Name des Anrufers |
| cliLoc | CLI-Standort |
| cliArea | CLI-Vorwahl |
| CliState | CLI-Staat (nur in den USA) |
| Klizier | CLI-Land |
| ddiNum | DID-Nummer im Format E.164. |
| ddiName | DID-Name |
| fRngDevNum | Zuerst klingelte die Gerätenummer. |
| fRngDevName | Zuerst klingelte der Name des Geräts. |
| lRngDevNum | Zuletzt hat die Gerätenummer geklingelt. |
| lRngDevName | Letzter Klingel-Gerätename. |
| ansDevNum | Gerätenummer des Ansprechers. |
| ansDevName | Antworte auf den Gerätenamen. |
| lAnsDevNum | Letzte Anrufnummer des Anrufgeräts. |
| lAnsDevName | Name des letzten antwortenden Geräts. |
| fRngUsrNum | Zuerst klingelte die Benutzernummer. |
| fRngUsrName | Erster Ring-Benutzername. |
| lRngUsrNum | Zuletzt geklingeltes Benutzernummer. |
| lRngUsrName | Letzter Nutzername geklingelt. |
| ansUsrNum | Ich antworte auf Benutzernummer. |
| ansUsrName | Der Benutzername wird beantwortet. |
| lAnsUsrNum | Letzte Anrufnummer des Benutzers. |
| lAnsUsrName | Letzter Antwort-Benutzername. |
| fRngAgtNum | Zuerst habe ich die Agentennummer angerufen. |
| fRngAgtName | Zuerst klingelte der Name des Agenten. |
| lRngAgtNum | Letzte Nummer des Agenten klingelt. |
| lRngAgtName | Letzter Name des Agenten. |
| ansAgtNum | Antwortnummer des Agenten. |
| ansAgtName | Name des antwortenden Agenten. |
| lAnsAgtNum | Letzte Nummer des antwortgebenden Agenten. |
| lAnsAgtName | Name des letzten antwortenden Agenten. |
| rteID | Präfixnummer. Jede Nummer, die während der Routing durch die Kommunikationsplattform als Präfix zur CLI hinzugefügt wird. |
| rteName | Präfixname. Jede Zeichenkette, die beim Routing durch die Kommunikationsplattform als Präfix zum Anrufernamen hinzugefügt wird. |
| fRngGroupName | Erster Gruppenname. |
| lRngGroupName | Letzter Gruppenname. |
| ansGroupName | Beantworte den Gruppennamen. |
| hasRec | Hinweis darauf, ob der Anruf aufgezeichnet wurde – 1/0 |
| Zinssatz | Hinweis darauf, ob der Anruf bewertet wurde – 1/0 |
| rateCost | Der Tarif (doppelt). |
| rateBand | Der Bandname für den Tarif. |
| rateName | Der Name des Zinssatzes. |
| recordingIds | String-Array von IDs für alle Aufnahmen, die mit dieser Anrufsitzung verbunden sind. |
| Verzeichnismatches | Kontaktverzeichnis Array aller Kontakte, die dem Anruf zugeordnet sind. |
| Tags1 | Array, das ein Schlüssel-/Wert-Paar beliebiger Tags/Dispositionen enthält, die auf den Aufruf angewendet wurden. |
| Analytisch | Anrufzusammenfassung und Themendaten aus der Funktion Conversational Intelligence. Anwendbar nur für den 'Transcribed' Web-Hook-Auslöser. |
CDR Kontaktverzeichnis
| Legende | Beschreibung | Typ |
|---|---|---|
| Titel | Kontakttitel (Herr, Frau, Dr. usw.) | String |
| Vollname | Vollständiger Name des Kontakts. Dies wird in Berichten und ~.UcClient.~ Clients, um Benutzern bei der Identifizierung von Anrufern zu helfen. | String |
| Firmenname | Der Name der Firma, für die der Kontakt arbeitet. | String |
| Berufsbezeichnung | Die Kontaktposition bei der Firma. | String |
| phone1 zu phone4 | Eine Kontakt-E-Mail-Adresse für den Kontakt. | E.164 |
| Bis zu 4 verschiedene Kontakttelefonnummernfelder | String | |
| crmId | Eine eindeutige ID für den Kontaktdatensatz von einem externen CRM System | String |
| Feld 1 zu Feld 10 | 10 Felder zum Übertragen benutzerdefinierter Daten für den Kontaktdatensatz | String |
tip
Das triggerId kann gefunden werden, indem man einen konfigurierten Trigger im Customer Portal bearbeitet und die GUID vom Ende des URL kopiert. z. B. https://myreports.com/en-GB/webhooks/00000000-0000-0000-0000-000000000000
Beispiel JSON Nutzlast
Beispielformat JSON für PUT/POST-Anfragen:
{
"triggerId": "00000000-0000-0000-00000-00000000000",
"id": "00000000-0000-0000-00000-00000000000",
"tenantId": "00000000-0000-0000-00000-000000000000",
"cdr": {
"id": "00000000-0000-0000-00000-00000000000",
"dType": "CloudSessionCdr",
"sVer": 1,
"pbxId": "00000000-0000-0000-000000000000",
"pbxName": "BenDV1 - Dev - Ben",
"tz": "Europa/London",
"start": "2024-05-29T09:37:35+01:00",
"ende": "2024-05-29T09:37:45+01:00",
"Dur": 10,
"ring": 10,
"verloren": 1,
"CAUSE": "NORMAL_CLEARING",
"dir": 2,
"Typ": 2,
"cliNum": "\\u002B44700000000000",
"cliLoc": "Vereinigtes Königreich",
"cliCtry": "GB",
"ddiNum": "\\u002B4416100000000",
"fRngDevNum": "user_**\*\***",
"fRngDevName": "(T42S) Testnutzer",
"lRngDevNum": "user\_**\*\***",
"lRgDevName": "(T42S) Testbenutzer",
"fRngUsrNum": "302",
"fRngUsrName": "Testnutzer",
"lRngUsrNum": "302",
"lRngUsrName": "Testnutzer",
"fRngAgtNum": "302",
"fRngAgtName": "Testnutzer",
"lRngAgtNum": "302",
"lRngAgtName": "Testnutzer",
"hasRec": 1,
"recordingIds": ["00000000-0000-0000-00000-00000000000000"]["00000000-0000-0000-0000-000000000000"],
"directoryMatches": [{
"dirName": "My Global",
"dirId": "00000000-0000-0000-00000-00000000000",
"dirType": "DirectoryContactMatch",
"contactId": "00000000-0000-0000-00000-00000000000",
"Felder": {
"fullName": "Beispielkontakt",
"Firmenname": "Unternehmen",
"JobTitle": "Jobtitel",
"E-Mail": "E-Mail-Adresse",
"Feld1": "Feld1",
"Feld2": "Feld2",
"Field3": "Field3",
"Feld4": "Feld4",
"Feld5": "Feld5",
"Field6": "Field6",
"Feld7": "Feld7",
"Feld8": "Feld8",
"Feld9": "Feld9",
"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": "Schritt 1"
}
"analytisch": {
"Zusammenfassung": "Zusammenfassung des Inhalts des Gesprächs."
"priTop": "Hauptthema",
"secTops": ["Zusätzliches Thema 1", "Zusätzliches Thema 2"]["Additional Topic 1", "Additional Topic 2"]
}
},
"customData": {
"Hook": "Post Call"
}
}-
Dispositionsdaten sind im Tag-Feld der Anrufsitzung enthalten. ↩︎