Skip to main content
Каждое тело вебхука содержит поле type, значение которого соответствует одному из типов событий на этой странице. Когда вы подписываетесь на конечную точку, массив events должен содержать нужные вам типы событий (или быть пустым, чтобы подписаться на все события). Эти события доставляются двумя способами:
  • Доставки в конечные точки всегда являются неблокирующими уведомлениями с повторными попытками: ответьте любым кодом 2xx; для дедупликации оболочка содержит event_id.
  • Блокирующие обмены выполняются только через устаревший вебхук с одним URL: запрос конфигурации telephony.incoming / web.incoming (номера в режиме вебхука и ключи виджетов, тайм-аут 10 с) и отправка инструментов в режиме вебхука tool dispatch. Ваш ответ определяет ход текущего звонка.
Примеры полезной нагрузки ниже показывают оболочку конечной точки в порядке передачи по сети (ключи отсортированы по алфавиту: data, event_id, type); устаревшие доставки содержат те же data без event_id.

События звонков

telephony.incoming

Отправляется, когда входящий звонок поступает на один из ваших телефонных номеров. Доставки на эндпоинт — это уведомления без ожидания ответа, отправляемые для каждого входящего звонка, независимо от того, настроен ли номер для агента или для вебхука. Номера без назначенного агента дополнительно получают блокирующий запрос конфигурации в устаревшем вебхуке — полную схему запроса и ответа см. в разделе telephony.incoming / web.incoming.

telephony.complete

Отправляется при завершении входящего или исходящего телефонного звонка. Неблокирующее. Включает расшифровку, URL записи при наличии и сводку по оплате. Схему полезной нагрузки см. в разделе telephony.complete / web.complete.

telephony.tool

Отправляется после вызова инструмента-функции во время телефонного звонка. Неблокирующее уведомление для аудита — к моменту доставки этого события инструмент уже выполнен; оно охватывает ваши собственные инструменты-функции (не встроенные инструменты, инструменты базы знаний, подключений приложений или MCP).
response — это результат выполнения: {"status": <http status>, "response": <your endpoint's JSON>} при успехе или {"status": <status>, "error": "<message>"} при ошибке.

web.incoming

Эквивалент telephony.incoming для веб-канала, отправляемый при запуске сеанса веб-виджета или тестового звонка микрофона в конструкторе. Доставки на эндпоинт отправляются без ожидания ответа для каждого веб-сеанса. Публикуемые ключи в mode="webhook" дополнительно получают блокирующий запрос конфигурации в устаревшем вебхуке — этот блокирующий запрос имеет другую структуру (origin_domain, publishable_key_prefix; без телефонных номеров). См. telephony.incoming / web.incoming.
from_number всегда содержит буквальное значение "web". Для сеансов виджета в режиме вебхука to_number пуст (номер агента для сеанса назначается после настройки); для тестовых звонков микрофона в конструкторе пусты origin_domain и publishable_key_prefix.

web.complete

Эквивалент telephony.complete для веб-канала, охватывающий звонки веб-виджета (direction: "web") и тестовые звонки микрофона в конструкторе (direction: "test"). Неблокирующее. Структура полезной нагрузки такая же, как у telephony.complete, с добавлением origin_domain; для from_number устанавливается значение "web".
В устаревшем вебхуке с единым URL тестовые звонки микрофона в конструкторе исторически передаются как telephony.complete — только звонки с direction: "web" используют там тип web.complete. Система эндпоинтов сопоставляет как веб-звонки, так и тестовые звонки с web.*. Исторические полезные нагрузки могут содержать устаревшие значения direction: widget или mic.

web.tool

Эквивалент telephony.tool для веб-канала. В data передаётся origin_domain вместо from_number / to_number.

События голосов

Создание пользовательского голоса выполняется асинхронно. Эти неблокирующие события позволяют реагировать на конечный результат вместо опроса эндпоинта сведений о клоне.

voice.ready

Отправляется, когда пользовательский голос завершает обработку и может быть назначен агенту.

voice.failed

Отправляется, когда обработка пользовательского голоса завершается необратимой ошибкой.

События качества

call.graded

Отправляется при завершении запуска оценки ИИ для звонка. Не блокирует выполнение.
Звонок можно оценивать несколько раз — за быстрой эвристической оценкой часто следует оценка полной моделью, когда становится доступна запись, также возможна ручная повторная оценка. Каждый завершённый запуск отправляет собственное событие call.graded; считайте последнее значение graded_at актуальным.

issue.reported

Отправляется при создании отчёта о проблеме — либо пользователем из панели управления (source: "user"), либо автоматически при оценке звонка (source: "system"). Не блокирует выполнение.
Повторная оценка звонка заново формирует созданные системой отчёты о проблемах, из-за чего событие issue.reported повторно отправляется для воссозданных отчётов. Выполняйте дедупликацию по call_id + title, если вам нужно только одно уведомление для каждой исходной проблемы.

События тестовых звонков

test-call.completed

Отправляется, когда запуск тестового звонка переходит в конечный статус — completed или failed, включая запуски, которые завершились ошибкой при запуске и не создали звонок. Не блокирует выполнение. Полезно для интеграции пакетных запусков CI с вашими системами чатов и уведомлений.

События оповещений

alert.triggered

Отправляется, когда правило оповещения с включённым каналом Доставлять в вебхуки разработчика пересекает свой порог. Не блокирует выполнение. Правило срабатывает один раз, а затем соблюдает период охлаждения, поэтому при длительном нарушении создаётся одно событие за каждое окно периода охлаждения.
Сведения о создании правил, метриках, периодах охлаждения и каналах по email / Slack см. в руководстве по оповещениям.

Связанные материалы

telephony.incoming / web.incoming

Блокирующая полезная нагрузка входящего звонка, на которую необходимо ответить.

telephony.complete / web.complete

Расшифровка и метрики после звонка.

Конечные точки вебхуков

Подпишите URL на подмножество этих событий.

Инструменты функций

Как создаются события telephony.tool / web.tool.