- Конечные точки вебхуков получают
telephony.complete(телефонные звонки) илиweb.complete(веб-звонки и тестовые звонки с микрофоном в конструкторе) со стабильной полезной нагрузкой, описанной ниже,event_idдля каждой доставки, тайм-аутом 30 с и повторными попытками в течение до 24 ч. - Устаревший вебхук с одним URL получает одну синхронную попытку (тайм-аут 10 с, без повторных попыток) со слегка отличающейся полезной нагрузкой — см. Различия устаревшей полезной нагрузки.
Полезная нагрузка запроса (доставки на конечные точки)
Причины завершения
Формат расшифровки
Каждая запись вtranscripts — это одна реплика в диалоге. Роли:
user (речь звонящего), model (речь агента и вызовы инструментов),
tool (результаты инструментов) и system (события звонка, например
смена языка).
Для полной структурированной истории реплик (с маркерами прерываний,
запросами подтверждения и исходными позициями) используйте
GET /v1/calls/{call_id}/history.
Отличия устаревшего payload
Устаревший webhook-конверт с одним URL имеет вид{"type": "telephony.complete" | "web.complete", "data": {…}} и
не содержит event_id; его data отличается от payload конечной точки:
- Массив реплик находится в
history, а не вtranscripts(та же схема реплик, что выше). - Набор полей представляет собой необработанный отчёт по завершении звонка и может включать дополнительные внутренние поля помимо приведённых в таблице — считайте неизвестные поля информационными.
- Веб-звонки (
direction: "web") не содержатfrom_number/to_numberи добавляютorigin_domain. - Тестовые звонки с микрофона в конструкторе передаются как
telephony.completeпо устаревшему пути (система конечной точки сопоставляет их сweb.complete). - Координация перевода: если звонок завершается переводом, устаревший webhook
вызывается синхронно и может вернуть
{"transfer_ready": false}, чтобы указать, что целевой участник перевода ещё не готов. Любой другой ответ (или отсутствие устаревшего webhook) позволяет продолжить перевод. Доставки конечной точки для этого никогда не используются.
Пример обработчика
Распространённые сценарии использования
Интеграция с CRM
Сохраняйте расшифровку каждого звонка и URL записи вместе с данными
клиентов.
Аналитика
Передавайте расшифровки в конвейер для тематического моделирования,
извлечения сигналов CSAT или мониторинга доли переводов.
Проверка качества
Открывайте звонки в инструменте QA для проверки человеком или обрабатывайте их
собственной моделью оценки.
Уведомления
Уведомляйте сотрудника при переводе или сбое.
Связанные материалы
telephony.incoming / web.incoming
Блокирующий аналог, который запускается в начале звонка.
Каталог событий
Другие типы событий, на которые можно подписаться.
API истории звонков
Те же данные доступны через REST для дозагрузки или повторного воспроизведения.
