Вебхуки звонков: руководство по интеграции
v1.0 · 11 стр. · Обновлено: 9 октября 2026
Как получать звонки в своей системе, когда звонок начинается, на него отвечают, он завершается и готова запись: настройка, примеры запросов, все поля, проверка подписи и различия между сервисами звонков.
Статьи по документу
- Вебхуки звонков: передавать звонки в свою систему «Settings › Workspace settings › Integrations › Webhook» › «Add new webhook». В разделе «Calls» отметьте «Call started», «Call answered», «Call ended» и «Call recording ready». Clomni отправляет каждое событие один раз на звонок: с длительностью, результатом, тем, кто завершил звонок, записью, текстом и кратким содержанием.
- Вебхуки звонков: события и когда они приходят call_started приходит, когда входящий звонок начал звонить или сотрудник позвонил, call_answered, когда ответили, call_ended, когда звонок завершён (длительность, результат, кто завершил), call_recording_ready, когда готовы запись, текст и краткое содержание. Каждое событие один раз на звонок. У звонка без ответа нет call_answered. Для звонка WhatsApp (QR), на который ответили на телефоне, call_ended ждёт журнал звонков до 10 минут.
- Вебхуки звонков: поля запроса и примеры Каждый запрос это JSON: event, delivery_id, id, provider_call_id, account, inbox, conversation, message_id, direction, status, contact, agent, started_at, answered_at, ended_at, duration_seconds, duration_known, ended_by, answered_on, recording_url, transcript_available, transcript, summary, language. Неизвестное поле равно null.
- Вебхуки звонков: проверка подписи В каждом запросе есть заголовки X-ChatX-Delivery, X-ChatX-Timestamp и X-ChatX-Signature. Подпись это sha256= и HMAC-SHA256(секретный ключ, "<timestamp>.<исходное тело>"). Ключ показывается при создании вебхука и есть в окне его редактирования. Не принимайте запрос старше 5 минут.
- Вебхуки звонков: доставка, повторы и дубликаты Ваш сервер должен ответить 2xx за 5 секунд. При ошибке соединения, таймауте, 429 или 5xx Clomni повторяет отправку: всего 5 попыток, с паузами 30 секунд, 1, 2 и 4 минуты. Ответ 4xx окончательный, повтора нет. delivery_id при повторе не меняется: если тот же delivery_id пришёл снова, это дубликат.
- Вебхуки звонков: различия WhatsApp QR, WhatsApp Business API и Twilio WhatsApp (QR): на входящий звонок отвечают на телефоне (answered_on: phone, agent: null), длительность с момента ответа или из журнала телефона, запись только у звонков из панели и приложения. WhatsApp Business API: ответ в панели, ended_by agent/contact/system, busy передаётся. Twilio: ended_by это сторона, первой вышедшая из конференции, записи и краткого содержания нет.
- Вебхуки звонков: проблемы и решения События не приходят: отметьте события в разделе «Calls» вебхука, адрес должен быть HTTPS и доступен, 4xx не повторяется. Подпись не совпадает: исходное тело и ключ именно этого вебхука. Событие пришло дважды: это повтор, отбросьте его по delivery_id. duration_seconds равно null: на звонок не ответили или журнал телефона не пришёл.