Добавьте https-адрес в Интеграции → Вебхуки и уведомления, чтобы получать события звонков:
| Событие | Когда |
|---|---|
call.started | Агент ответил на звонок |
call.ended | Звонок завершился; указаны длительность и кредиты |
call.analyzed | Готовы краткое содержание, итог, извлечённые поля и расшифровка |
call.transcript | Во время звонка, новые строки расшифровки каждые несколько секунд |
call.tool_called | Агент вызвал одну из ваших функций: name, arguments, status, durationMs |
call.handed_off | Звонок передан другому агенту: fromAgentId, toAgentId |
call.transferred | Звонок переведён на человека: destination |
call.voicemail | Исходящий звонок попал на автоответчик |
call.do_not_call | Человек в исходящем звонке попросил больше ему не звонить: phone |
call.recording_ready | Двухканальная запись сохранена: recordingUrl (действителен 24 часа), durationMs |
call.message_sent | Агент показал карточки на экране веб- или приложенческого звонящего: items, quickReplies |
alert.triggered | Одно из ваших оповещений (Вебхуки и уведомления → Оповещения) превысило порог |
alert.resolved | Это оповещение вернулось в норму |
События, отправляемые во время звонка, содержат data.call (id, agentId, channel, direction, номера). Каждый запрос подписан:
EvaSay-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">
EvaSay-Delivery: <delivery id>
Проверяйте подпись секретом вебхука, показанным при его создании, и отвечайте статусом 2xx. Неудачные доставки повторяются через 1 минуту, 5 минут, 30 минут, 2 часа и 12 часов с тем же телом и тем же идентификатором EvaSay-Delivery, поэтому повторы можно игнорировать. Последние доставки вебхука с точным отправленным телом и статусом, который ответил ваш endpoint, перечисляются через GET /webhooks/{id}/deliveries и в панели; POST /webhooks/{id}/deliveries/{delivery_id} отправляет одну из них снова.
Помимо электронной почты и вебхуков alert.triggered / alert.resolved, оповещения можно отправлять в канал Slack (incoming webhook), групповой бот WeCom или Telegram в Вебхуки и уведомления → Оповещения → Также отправлять в.
Создайте вебхук через POST /webhooks с { "url": "https://crm.example.com/evasay-events", "events": ["call.analyzed"] }. В ответе — подписка и сгенерированный секрет подписи, возвращаемый только при создании. Проверяйте EvaSay-Signature, дедуплицируйте по EvaSay-Delivery и обновляйте свой CRM. Вебхуки событий — это асинхронные уведомления; инструменты во время звонка возвращают результаты напрямую агенту.