Ereignistypen
conversation.started
Wird ausgelöst, wenn ein neues Gespräch beginnt (eingehend oder ausgehend).
Wann es ausgelöst wird:
- Ein eingehender Anruf wird von einem Agenten entgegengenommen
- Ein ausgehender Kampagnenanruf wird verbunden
- Ein Web- oder Test-Gespräch startet
conversation.ended
Wird ausgelöst, wenn ein Gespräch endet.
Wann es ausgelöst wird:
- Anruf endet normal (Anrufer oder Agent legt auf)
- Anruf schlägt fehl (Verbindungsfehler, Timeout)
- Anruf wird an ein anderes Ziel weitergeleitet
completedfailedtransferred
conversation.analysis.completed
Wird ausgelöst, wenn die gesammelten Insights eines Gesprächs die Verarbeitung abgeschlossen haben.
Wann es ausgelöst wird:
- Nach
conversation.ended, sobald die Zielbewertung und Insight-Verarbeitung abgeschlossen sind
- Ergebnisse der Zielanalyse
- Ergebnisse der Post-Call-Analyse
- Serialisierte Gesprächsnachrichten und -ereignisse, die als Analysekontext verwendet werden
Dieses Ereignis wird separat von
conversation.ended ausgelöst, da die Analyse asynchron nach Gesprächsende läuft. Wenn du sowohl das Gesprächsergebnis als auch die Analysedaten benötigst, abonniere dieses Ereignis.Nutzlastformat
Alle Webhook-Nutzlasten verwenden einen gemeinsamen Umschlag.data enthält die ereignisspezifischen Felder.
Beispiel: conversation.started
Beispiel: conversation.ended
Beispiel: conversation.analysis.completed
Signaturverifizierung
Wenn du ein Signing-Secret konfiguriert hast, verifiziere die Webhook-Authentizität, indem du eine HMAC-SHA256-Signatur über<rawBody>.<timestamp> berechnest.
Ereignisdaten-Felder
Daten von conversation.started
Gemeinsame Felder:
conversation_uuidagent_uuid,agent_namechannelstarted_atfrom_number,to_numberip_addresscampaign_uuid,campaign_contact_uuiddirectionroom_sidmetadata
Daten von conversation.ended
Enthält alles, was für die Ergebnisverarbeitung benötigt wird:
conversation_uuidagent_uuid,agent_namechannelstatusstarted_at,ended_at,duration_secondsfrom_number,to_number,ip_addresscampaign_uuid,campaign_contact_uuiddirection,room_sidmetadataanswer_statusmessages(serialisierte Transkriptnachrichten)events(serialisierte Zeitachsenereignisse)
Daten von conversation.analysis.completed
Enthält Analyseausgabe plus Gesprächskontext:
conversation_uuidagent_uuid,agent_nameanalysis_job_uuidanalyzed_atmodel_usedresults.goalsresults.post_callmessagesevents
Zustellungs-Header
Signaturverifizierung
Jede Zustellung enthält Basis-Header:Content-Type: application/jsonUser-Agent: itellicoAI-Webhook/1.0X-Webhook-Event-TypeX-Webhook-Version: 1.0X-Webhook-Event-Id
X-Webhook-TimestampX-Webhook-Signature-256
<json_payload> der genaue JSON-String, der im Body gesendet wird.
Verifikations-Pseudocode
- Signatur stimmt nicht überein
- Zeitstempel liegt außerhalb deines Replay-Fensters
- Erforderliche Header fehlen
Wiederholungslogik
Wenn dein Endpunkt einen Nicht-2xx-Status zurückgibt oder das Timeout überschreitet, werden Zustellungen automatisch wiederholt. Aktuelles Verhalten:- maximale Wiederholungen:
5 - Basis-Wiederholungsverzögerung:
30s - Backoff: exponentiell (begrenzt)
- Anfrage-Timeout:
10s
Benutzerdefinierte Header
Du kannst benutzerdefinierte Header pro Abonnement für Auth/Routing konfigurieren (zum Beispiel deinen eigenen Bearer-Token-Header).Nächste Schritte
Webhooks einrichten
Webhook-Abonnements in der Account-UI konfigurieren
Webhook-Implementierungsleitfaden
Den empfangenden Endpunkt erstellen und Ereignisse sicher verarbeiten
Insights sammeln
Insights konfigurieren, die
conversation.analysis.completed auslösenAPI-Referenz
Vollständige API-Dokumentation anzeigen
Gesprächsziele
Ziele konfigurieren, die in Analyseereignissen enthalten sind