Вебхуки звонков: различия WhatsApp QR, WhatsApp Business API и Twilio

Обновлено: 9 октября 2026 · 3 мин чтения

События звонков приходят с одинаковыми полями для всех трёх сервисов, но каждый сервис чего то не знает. Неизвестное поле равно null.

Шаги

  1. 1

    WhatsApp (QR)

    • Исходящие звонки делаются из панели и приложения. События звонка с самого телефона приходят вместе, после звонка.
    • На входящий звонок отвечают на телефоне: answered_on: phone, agent: null.
    • Длительность считается с момента ответа. Для звонка, на который ответили на телефоне, она берётся из журнала звонков телефона; если журнал не пришёл за 10 минут, duration_known: false.
    • ended_by: agent, если сотрудник завершил звонок в панели или приложении или отклонил входящий звонок на телефоне. В остальных случаях null.
    • Запись, текст и краткое содержание есть у звонков из панели и приложения. Каждая сторона расшифровывается отдельно.
    • busy не передаётся.
  2. 2

    WhatsApp Business API

    • Исходящие звонки и ответ на входящие в панели.
    • Длительность передаёт WhatsApp.
    • ended_by: agent, contact или system.
    • agent: во входящем звонке тот, кто ответил.
    • Запись есть у звонков, записанных в браузере. Текст из одной записи, поэтому в строках speaker: mixed.
    • busy передаётся.
  3. 3

    Twilio

    • Исходящие звонки и ответ на входящие в панели.
    • Длительность передаёт Twilio.
    • ended_by: сторона, первой вышедшая из конференции, agent или contact.
    • Во входящем звонке agent: null.
    • Записи, текста и краткого содержания нет, call_recording_ready не приходит.
    • Занятая линия приходит как no_answer.

Документ