Перейти к содержанию

Работа с входящими звонками#

В зависимости от потребностей интеграции, работу с уведомлениями о входящих звонках можно реализовать несколькими способами:

  1. Если Вам не нужна работа с входящими звонками, то рекомендуем делать сброс входящего уведомления incomingCall

    • При работе обработчика уведомлений - установить удаление неизвестных типов уведомлений по полю typeWebhook. Так все ненужные вам уведомления будут удаляться из очереди.
    • При работе через HTTP API - удалять уведомления методом deleteNotification.
    • При работе через Webhook Endpoint - отдавать статус код 200.
  2. Если Вам необходимо получать только факт входящего звонка, можно сделать обработчик на получение уведомления typeWebhook: incomingCall и отслеживать статус status: offer. Все остальные статусы исключать из обработки звонков.

  3. Если вам необходимо видеть только результат звонка и не информировать оператора о поступлении входящего звонка, тогда требуется отслеживать и записывать в чат все статусы кроме offer. Также можно сократить информацию по неотвеченным звонкам.

    Например:

    • При получении уведомления (typeWebhook: incomingCall + status: offer) - просто сбрасывать уведомление.
    • При получении других статусов - записывать в чат с собеседником записи:

      pickUp - "Отвеченный звонок"
      hungUp - "Пропущенный звонок"
      missed - "Пропущенный звонок"
      declined - "Пропущенный звонок"

  4. Если необходимо получать все статусы звонков, требуется реализовать обработку всех уведомлений типа incomingCall. Необходимо при получении уведомления транслировать в чат запись о звонке.

    Например:

    • Получаем входящий звонок (typeWebhook: incomingCall + status: offer), записываем в чат Входящий вызов и информируем оператора.
    • Завершение звонка (по причинам: ответа оператора, сброса звонка, истечения времени ожидания) - получаем уведомление (typeWebhook: incomingCall) и в зависимости от значения поля status делаем запись в чат:

      pickUp - "Отвеченный звонок"
      hungUp - "Сброшенный звонок" - оператор сбросил звонок или в системе установлена настройка или на телефоне активирована функция Не беспокоить (положили трубку)
      missed - "Пропущенный звонок" - собеседник завершил звонок
      declined - "Пропущенный звонок" - собеседник не дождался ответа

Получение имени звонящего собеседника

  1. Получить уведомление incomingCall о входящем звонке, в поле from указан номер аккаунта собеседника.

  2. Использовать метод GetContactInfo для определения информации о звонящем собеседнике.

  3. Использовать поля name или contactName из метода GetContactInfo для получения имени собеседника.