Интеграция с Asterisk: лидогенератор и автотесты

Интеграция с Asterisk: лидогенератор и автотесты

27 апреля 2014


Автор: Карпович Игорь
Вышла новая версия модуля Интеграции с Asterisk. В ней вышли следующие вкусные штуки:

1. Лидогенератор
Классический сценарий, который предоставляет наш модуль для работы с лидами такой: вам звонит неизвестный номер, появляется стандартное уведомление - карточка звонка с предложением создать лид. Вы нажимаете на кнопку, переходите в форму создания лида, где заполнено поле номера телефона. В целом сценарий показал себя хорошо, но есть у него одно неудобство - кнопку Применить/Сохранить в форме создания лида нужно нажать до окончания разговора, иначе записи разговора будет некуда прикрепиться.

Сейчас мы предлагаем клиентам новую автоматическую генерацию лидов: все просто - лид создается автоматически либо в начале вызова при определении номера (предпочтительный вариант), либо по факту окончания вызова (при прикреплении записи). Режим настраивается в настройках модуля, также можно указать шаблон названия для лида, источник и статус лида по умолчанию.

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

2. Автоматическая проверка интеграции
Не смотря на то, что базовый протокол обмена Asterisk-КП в модуле реализован достаточно просто и требует стандартного Apache и модулей CURL и JSON к PHP, практика показывает, что клиентам и партнерам часто сложно выполнить полный перечень требований, перечисленный на странице модуля в Marketplace. Это вызывает множество лишних вопросов, по которым зачастую идет отсылка все к той же инструкции.

Чтобы уменьшить количество вопросов и позволить диагностировать базовые требования модуля, на странице "Проверка" настроек модуля появился полноценный автоматический тестировщик основных параметров. Причем он сразу проверяет и наличие связи до сервера с Asterisk.

Фото 1: «Skrinshot 2014_01_13 18.15.29.png»

Данный функционал реализован гибко и позволяет писать свои тесты с помощью API.


3. Передача произвольных параметров из Asterisk в начале вызова
В общем случае при начале вызова вызывается скрипт определения номера:
callerid.php PHONE USER_ID_NOTIFY USER_PHONE_NOTIFY PARAM1=VALUE1 PARAM2=VALUE2 ...

PHONE - номер телефона звонящего
USER_ID_NOTIFY - список ID пользователей, которых надо уведомить о звонке
USER_PHONE_NOTIFY - список внутренних номеров пользователей, которых надо уведомить о звонке

И новое:
PARAMn=VALUEn - произвольные пары ключ=значение, которые будут переданы в функцию определения номера и создания лида в КП, а также во все связанные пользовательские обработчики.

Этот функционал позволет передавать из Asterisk в КП любые данные, включая переменные и контекстно-зависимые данные. Вот минимальный набор сценариев, которые можно реализовать на пользовательских обработчиках в вашем портале:
- Устанавливать прозвольные параметры создаваемого лида в зависимости от номера звонящего или номера, на который позвонили. Например, имея несколько номеров, можно определять при создании лида, на какой из них позвонили и в зависимости от этого выставлять лидам разный источник и запускать произвольные процессы обработки.
- Сохранять в КП время ожидания в очереди, выбранный пункт в IVR