Fügen Sie unter Integrationen → Webhooks & Benachrichtigungen eine https-Adresse hinzu, um Anrufereignisse zu empfangen:
| Ereignis | Wann |
|---|---|
call.started | Der Agent hat abgenommen |
call.ended | Der Anruf ist beendet, mit Dauer und Credits |
call.analyzed | Zusammenfassung, Ergebnis, extrahierte Felder und Transkript sind bereit |
call.transcript | Während des Anrufs alle paar Sekunden die neuen Zeilen des Transkripts |
call.tool_called | Der Agent hat eine Ihrer Funktionen aufgerufen: name, arguments, status, durationMs |
call.handed_off | Der Anruf wurde an einen anderen Agent übergeben: fromAgentId, toAgentId |
call.transferred | Der Anruf wurde an eine Person weitergeleitet: destination |
call.voicemail | Ein ausgehender Anruf hat eine Mailbox erreicht |
call.do_not_call | Die Person bei einem ausgehenden Anruf möchte nicht mehr angerufen werden: phone |
call.recording_ready | Die zweikanalige Aufnahme ist gespeichert: recordingUrl (24 Stunden gültig), durationMs |
call.message_sent | Der Agent hat Karten auf dem Bildschirm eines Web- oder App-Anrufers gezeigt: items, quickReplies |
alert.triggered | Einer Ihrer Alarme (Webhooks & Benachrichtigungen → Alarme) hat seine Schwelle überschritten |
alert.resolved | Dieser Alarm ist wieder im Normalbereich |
Ereignisse während eines Anrufs enthalten data.call (id, agentId, channel, direction, Nummern). Jeder Request ist signiert:
EvaSay-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">
EvaSay-Delivery: <delivery id>
Prüfen Sie die Signatur mit dem Webhook-Secret, das beim Erstellen des Webhooks angezeigt wurde, und antworten Sie mit einem 2xx-Status. Fehlgeschlagene Zustellungen werden nach 1 Minute, 5 Minuten, 30 Minuten, 2 Stunden und 12 Stunden mit demselben Inhalt und derselben EvaSay-Delivery-ID wiederholt, sodass Sie Wiederholungen ignorieren können. Die letzten Zustellungen eines Webhooks, mit dem genau gesendeten Inhalt und dem Status, den Ihr Endpunkt geantwortet hat, listet GET /webhooks/{id}/deliveries und das Dashboard; POST /webhooks/{id}/deliveries/{delivery_id} sendet eine erneut.
Neben E-Mail und den Webhooks alert.triggered / alert.resolved können Alarme unter Webhooks & Benachrichtigungen → Alarme → Auch senden an an einen Slack-Kanal (Incoming Webhook), einen WeCom-Gruppenroboter oder Telegram gehen.
Erstellen Sie einen Webhook über POST /webhooks mit { "url": "https://crm.example.com/evasay-events", "events": ["call.analyzed"] }. Die Antwort enthält das Abonnement und ein erzeugtes Signatur-Secret, das nur beim Erstellen zurückgegeben wird. Prüfen Sie EvaSay-Signature, deduplizieren Sie über EvaSay-Delivery und aktualisieren Sie Ihr CRM. Ereignis-Webhooks sind asynchrone Benachrichtigungen; Tools während des Anrufs geben ihre Ergebnisse direkt an den Agent zurück.