Компания Пять систем
Интеграция amoCRM и Asterisk/FreePBX
Пошаговая инструкция по настройке.
Инструкция по настройке
Следуя принципам открытого исходного кода, нашу разработку для интеграции с Asterisk мы выложили в открытый доступ. Любой желающий может разобраться в ее коде, дополнить своей логикой. Хотя в инструкции подробно расписаны все действия, требуется понимание принципов работы Asterisk и API amoCRM. Поручите данную работу профессионалам.
1. Подготовка Asterisk
1. Подключаемся по ssh к серверу Asterisk.
2. Переходим в каталог
#cd /usr/src/
3. Загружаем с git-сервера актуальную версию скриптов
#wget https://github.com/5-systems/amocrm/archive/master.zip
4. Распаковываем архив
#unzip master.zip
#cd amocrm-master
5. Копируем файл с дополнительными контекстами Asterisk
#cp ./asterisk/extensions_custom.conf /etc/asterisk/
6. Создаем каталог для скриптов интеграции
#mkdir /var/lib/5-systems/
#cp ./lib/* /var/lib/5-systems/
7. Создаем каталог для скриптов интеграции
#mkdir /var/www/html/amocrm/
#cp ./html/* /var/www/html/amocrm/
8. Создаем каталог для лог-файлов, даем права на запись
#mkdir /var/log/5-systems/
#chmod -R 777 /var/log/5-systems/

2. Параметры для работы с amoCRM
Параметры работы с amoCRM задаются на сервере Asterisk в файле /var/www/html/amocrm/amocrm_settings.php.
Прежде всего откройте в браузере станицу https://{subdomian}.amocrm.ru/private/api/v2/json/accounts/current (вместо {subdomain} укажите адрес вашего аккаунта amoCRM). Если ваш браузер не имеет json-просмотрщика, то лучше установить соответствующее расширение/дополнение.
Далее приступим к заданию настроек:
amocrm_USER_LOGIN - ваш логин для входа в amoCRM
amocrm_USER_HASH - ваш API ключ (см. раздел Настройки - API)
amocrm_account - адрес вашего аккаунта (см. раздел Настройки - Общие настройки)
custom_field_user_amo_crm - идентификатор поля "Пользователь amoCRM"
custom_field_user_phone - идентификатор поля "Внутренний телефон"
custom_field_do_not_create_lead - идентификатор поля "Не создавать сделку при звонке"
custom_field_address_type - идентификатор поля "Вид обращения"
custom_field_address_type_value_phone_call - идентификатор значения "Телефонный звонок" у вида обращения
custom_field_phone_id - идентификатор поля "Телефон"
custom_field_phone_enum - идентификатор вида телефона (обычно Work)
custom_field_email_id - идентификатор поля Email
custom_field_email_enum - идентификатор вида email
3. Регистрация входящих звонков
После того, как подготовительные мероприятия проделаны, необходимые файлы скопированы, приступим к настройке регистрации входящих звонков.
1. Сначала внесем необходимые настройки в контексты Asterisk. Выполняемые действия зависят от версии программы:
- Для ванильного Asterisk мы должны в каждой команде Dial контекстов, отвечающих за обработку входящих звонков, добавить опцию U(crm_inbound_call).
Пример: exten => _XX,1,Dial(SIP/${EXTEN},20,rtTU(crm_inbound_call))
Наличие данной опции означает, что при ответе на входящий звонок будет исполняться контекст crm_inbound_call.
- Для FreePBX мы должны в файл /etc/asterisk/globals_custom.conf добавить строку
QGOSUB = crm_inbound_call
Данная настройка означает, что при ответе на звонок в очереди (сущность Queue) будет исполняться контекст crm_inbound_call. Т.е. для работы данной логики необходимо, чтобы входящие звонки попадали на очереди.
2. В завершение открываем CLI Asterisk и выволняем команду "core reload". Можно тестировать фиксацию входящих звонков.

4. Регистрация исходящих звонков
1. Сначала внесем необходимые настройки в контексты Asterisk. Выполняемые действия зависят от версии программы:
- Для ванильного Asterisk мы должны в каждой команде Dial контекстов, отвечающих за обработку исходящих звонков, добавить опцию U(crm_outbound_call).
Пример: exten => _.X,n,Dial(SIP/${EXTEN}@10.108.15.18:5062,60,rtTU(crm_outbound_call))
- Для FreePBX мы должны в меню "Settings - Advanced settings" в параметре "Asterisk Dial Options" добавить строку U(crm_outbound_call).
Данная настройка означает, что в момент ответа на исходящий звонок будет исполняться контекст crm_outbound_call.
2. Неудачный дозвон до клиента также требуется фиксировать как исходящий звонок, как минимум для полноты оценки эффективности работы менеджеров.

5. Регистрация пропущенных звонков
1
6. Прослушивание записей звонков
ln -s /home/asterisk/monitor/ /var/www/html/

в файле .htaccess достаточно добавить всего одну простую строчку
Options -Indexes
Заказать настройку интеграции
E-mail
Имя
Телефон
Комментарий
Made on
Tilda