Модуль «вебхуки» используется для интеграции 3СХ со сторонними CRM системами. Он написан на C#, реализован как служба и в момент старта подключается к 3СХ. За счет этого модуль непрерывно мониторит низкоуровневую телефонную активность АТС и на основе этого мониторинга генерирует события высокого уровня:
Также модуль генерирует событие, если у какого-либо добавочного изменился один из его статусов: статус переадресации, статус глобального входа/выхода из очередей, статус входа/выхода в конкретную очередь. Кроме этого отслеживаются следующие события: появился новый добавочный номер, добавочный номер удален, в очередь добавили агента или удалили агента из очереди.
В момент наступления каждого из событий модуль отправляет https-запрос (вебхук) на заданный в ini-файле адрес с теми или иными данными о звонке или о событии изменения статуса.
Замечание: если у добавочного номера зазвонил телефон, а затем перестал звонить, но звонок не завершился (ушел на другой добавочный), то такое событие (телефон у добавочного перестал звонить, но звонок не завершился) отсутствует.
Предлагаемое решение не является полным, т.к. требует адаптации на стороне CRM. Вам необходимо собственными силами разработать прослойку межу модулем «вебхуки» и вашей CRM. Такая прослойка будет получать от нашего модуля https-запросы с информацией о звонках и на основе полученной информации будет производить необходимые действия с вашей CRM (журналирование звонков, открытие карточки контакта).
Видеопрезентация универсальной интеграции «вебхуки»
Описание данных, которые через вебхуки передаются при возникновении событий
Телефон звонит у такого-то добавочного номера
Начался разговор
Закончился звонок
ID звонка формируется следующим образом:
<дата время>_<уникальный номер звонка в рамках текущей сессии 3СХ>-<номер звена звонка>
Пример ID: 210701165649_698-2
Дата и время соответствуют моменту, когда звонок поступил на 3СХ. Звено звонка – это порядковый номер вызова в единой цепочке трансферов. Когда звонок только-только поступил на АТС, и еще никто не ответил на него, звено звонка равно 0. Как только кто-то ответил – равно 1. При каждом последующем трансфере звено звонка увеличивается на 1. У всех звонков в единой цепочке трансферов дата время и уникальный номер в рамках текущей сессии – одинаковы. Такие звонки отличаются только номером звена.
После полного завершения звонка (когда внешний абонент положил трубку) в 3СХ появляется запись разговора, или несколько записей разговоров, которые соответствуют всей цепочке трансферов, если таковые были. Запись (записи) разговоров появляются с небольшим запозданием: от нескольких миллисекунд до 1-2 секунд после того, как положили трубку. Как только это происходит, модуль «вебхуки» конвертирует wav-файл(ы) с записью (записями) в mp3-формат и помещает их в отдельную папку, из которой возможно скачивание записей через https-ссылку. Ссылка на скачивание файлов передается через соответствующий POST-запрос. Таким образом, вебхук с информацией о завершении звонка и вебхук с ссылкой на файл разговора – это разные, отдельные вебхуки.
В POST-запросе в общем случае может передаваться несколько ссылок на скачивание записи разговора. Дело в том, что у 3СХ одному разговору может соответствовать несколько звуковых файлов. Такое происходит, если говорили через мобильное приложение, и в процессе разговора связь пропадала на непродолжительное время. В этом случае каждый кратковременный разрыв связи – это начало нового файла записи.
Кроме ссылки на запись разговора POST-запрос содержит id-вызова, по которому его можно идентифицировать с событиями начала/завершения звонка. Опционально (через ini-файл) в POST-запросе можно включить передачу полной информации о завершившимся звонке. В этом случае POST-запрос будет содержать туже информацию (помимо ссылки на скачивание записи), что и событие о завершении звонка.
Записи разговоров в mp3-формате хранятся в отдельной паке необходимое количество дней (соответствующий параметр задается в ini-файле службы). По ночам записи, срок хранения которых истек, автоматически удаляются службой.
Через несколько секунд после отправки записи разговора появляются результаты речевой аналитики: полный текст разговора и его краткое резюме. Они также отправляются в соответствующем POST-запросе. Речевая аналитика работает через сервисы Яндекса. Опция требует дополнительной оплаты помимо базовой стоимости интеграции, а также регулярной оплаты сервисов Яндекса.
За расчетом стоимости модуля обращайтесь в нашу компанию.