Skip to main content
WEBHOOK

Anrufergebnis

Drei Felder beschreiben, was passiert ist. Auf ihnen solltest du aufbauen:
  • state — wo sich der Anruf in seinem Lebenszyklus befindet
  • status — wie er ausgegangen ist, sobald er beendet wurde
  • follow_up — das von telli geplante Follow-up, falls vorhanden
call_status ist veraltet und wird entfernt. Verwende stattdessen state, status und follow_up.
Das alte Feld lässt sich wie folgt auf die neuen abbilden: call_status ist in beide Richtungen verlustbehaftet: IN_PROGRESS unterscheidet nicht zwischen in_progress und processing, und COMPLETED und ANSWERED unterscheiden sich nur darin, ob ein Follow-up geplant wurde.

Analysefelder

call_analysis ist veraltet und bleibt aus Kompatibilitätsgründen verfügbar. Verwende call_outcome für extrahierte Anrufergebnisse. Die beiden Felder haben unterschiedliche Formate.
Die Payload enthält zwei Arten von Analysedaten, und ihre Formate unterscheiden sich. call_analysis enthält die integrierte Analyse von telli. Jeder Eintrag hat einen booleschen value; Einträge, die zusätzliche Details unterstützen, haben außerdem details:
call_outcome enthält die benutzerdefinierten Analysefelder, die du in telli konfigurierst. Die Einträge sind nach Feldnamen benannt und enthalten den extrahierten value sowie das Schema, gegen das er validiert wurde:
Ein call_outcome-Eintrag kann zusätzlich reason enthalten, das erklärt, warum der Agent diesen Wert gewählt hat, sowie error, wenn die Extraktion fehlgeschlagen ist.

Erfasste Daten

Wenn der Agent Datenerfassungs-Aufgaben hat, zeigt collected_data, was während des Anrufs erfasst und bestätigt wurde:
Nur Einträge mit confirmed enthalten einen Wert, auf den du dich verlassen solltest. Adresseinträge enthalten zusätzlich latitude und longitude, wenn die Adressvalidierung Koordinaten ermittelt hat; bei anderen Aufgabentypen fehlen diese Felder. Wenn keine Datenerfassungs-Aufgaben konfiguriert sind oder keine ausgelöst wurde, ist collected_data leer oder null — behandle beide Fälle.

Termine

call.appointments enthält die während des Anrufs gespeicherten Buchungen mit Startzeit (starts_at, in UTC), Status, Gastgebern und Anbieterkennungen. Ohne gespeicherte Buchungen ist das Array leer. Fehlgeschlagene Buchungsversuche sind ausgeschlossen. booked beschreibt die Buchung des Termins, nicht die Bestätigung durch den Kunden. Bei pending steht der Abschluss der Buchung oder die Bestätigung durch den Anbieter noch aus; bei unknown hat die Integration keinen Status gemeldet. Spätere Stornierungen oder Umbuchungen beim Anbieter werden nicht nachgeführt. call.booked_slot_for ist veraltet und bleibt aus Kompatibilitätsgründen verfügbar. Verwende call.appointments für Buchungsdetails. Bei älteren Anrufen kann call.booked_slot_for gesetzt sein, während call.appointments leer ist.

Aufnahme

recording_url verlinkt auf die Audioaufnahme des Anrufs oder ist null, wenn die Aufnahme deaktiviert oder nicht verfügbar ist. Der Link läuft 1 Stunde nach dem Senden des Webhooks ab — lade die Aufnahme daher sofort herunter, wenn du sie behalten möchtest.

Wiederholungsversuche

Automatische Wiederholungen innerhalb einer geplanten Sequenz teilen sich eine loop_id, und attempt zählt darin hoch. Wird derselbe Kontakt erneut geplant, beginnt eine neue Schleife — verwende daher contact_id, um einen Kontakt über Sequenzen hinweg zu verfolgen.

Body

application/json
event
string
erforderlich

Always call_ended.

Allowed value: "call_ended"
call
object
erforderlich
contact
object
erforderlich

The contact as it stood after the call was processed.

Antwort

2XX

Acknowledged. Return any 2xx within 15 seconds or the message is retried.