Webhooks

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
Information Circle 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.

Information Circle 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
Hand Left 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.
Information Circle 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
E-Mail 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
Color Wand 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"
    }
}

  1. Dispositionsdaten sind im Tag-Feld der Anrufsitzung enthalten. ↩︎