Aggiungi un indirizzo https in Integrazioni → Webhook e notifiche per ricevere gli eventi di chiamata:
| Evento | Quando |
|---|---|
call.started | L'agente ha risposto |
call.ended | La chiamata è terminata, con durata e crediti |
call.analyzed | Il riepilogo, l'esito, i campi estratti e la trascrizione sono pronti |
call.transcript | Durante la chiamata, le nuove righe della trascrizione ogni pochi secondi |
call.tool_called | L'agente ha chiamato una delle tue funzioni: name, arguments, status, durationMs |
call.handed_off | La chiamata è stata passata a un altro agente: fromAgentId, toAgentId |
call.transferred | La chiamata è stata trasferita a una persona: destination |
call.voicemail | Una chiamata in uscita ha raggiunto una segreteria |
call.do_not_call | La persona di una chiamata in uscita ha chiesto di non essere richiamata: phone |
call.recording_ready | La registrazione a due canali è archiviata: recordingUrl (valido 24 ore), durationMs |
call.message_sent | L'agente ha mostrato schede sullo schermo di chi chiama da web o app: items, quickReplies |
alert.triggered | Uno dei tuoi avvisi (Webhook e notifiche → Avvisi) ha superato la soglia |
alert.resolved | Quell'avviso è tornato alla normalità |
Gli eventi inviati durante una chiamata portano data.call (id, agentId, channel, direction, numeri). Ogni richiesta è firmata:
EvaSay-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">
EvaSay-Delivery: <delivery id>
Verifica la firma con il segreto del webhook mostrato quando lo hai creato, e rispondi con uno stato 2xx. Le consegne non riuscite vengono ritentate dopo 1 minuto, 5 minuti, 30 minuti, 2 ore e 12 ore con lo stesso corpo e lo stesso id EvaSay-Delivery, quindi puoi ignorare le ripetizioni. Le ultime consegne di un webhook, con il corpo esatto inviato e lo stato risposto dal tuo endpoint, sono elencate da GET /webhooks/{id}/deliveries e nella dashboard; POST /webhooks/{id}/deliveries/{delivery_id} ne reinvia una.
Oltre all'e-mail e ai webhook alert.triggered / alert.resolved, gli avvisi possono andare a un canale Slack (incoming webhook), a un robot di gruppo WeCom o a Telegram in Webhook e notifiche → Avvisi → Invia anche a.
Crea un webhook con POST /webhooks e { "url": "https://crm.example.com/evasay-events", "events": ["call.analyzed"] }. La risposta contiene la sottoscrizione e un segreto di firma generato, restituito solo alla creazione. Verifica EvaSay-Signature, deduplica EvaSay-Delivery e aggiorna il tuo CRM. I webhook degli eventi sono notifiche asincrone; gli strumenti durante la chiamata restituiscono i risultati direttamente all'agente.