Интеграция собственной CRM и телефонии

Зачем нужна интеграция собственной CRM/ERP/Desk с АТС

В большинстве систем автоматизации бизнеса (CRM/ERP/Desk и т.д.) автоматизируется общение с клиентами и/или партнерами. Пока значимая часть общения происходит по телефону, систему просто необходимо интегрировать с IP-телефонией.

Специально для разработчиков CRM/Desk и других систем автоматизации, мы предлагаем инструкцию по интеграции вашей системы с IP-телефонией Zadarma.

Преимущества интеграции с Zadarma:

  • большая клиентская база Zadarma (более 1.3 млн ) получит доступ к вашим сервисам;
  • ваши клиенты смогут интегрировать телефонию без затрат (АТС, API, интеграции - бесплатны);
  • всемирное покрытие услуг, ваши клиенты могут быть где угодно (поддержка 5 языков, дата-центры на трех континентах, виртуальные номера в 90 странах мира).

Также после интеграции, если посещаемость вашего сайта превышает 30 000 пользователей в месяц, мы готовы протестировать вашу интеграцию, разместить инструкцию на нашем сайте и интеграцию в личном кабинете (что даст вашей системе дополнительный поток лояльных клиентов от одного из самых популярных VoIP операторов в СНГ и Европе).

В личном кабинете по этой ссылке доступны прямые интеграции (разработанные нами) с различными системами, также в разделе Помощь - Инструкции по настройке вы можете найти примеры настройки интеграции со сторонними системами, разработанные без нашего участия. Открытый API позволяет самостоятельно реализовать полноценную интеграцию с виртуальной АТС Zadarma, с этой задачей справится любой разработчик по причине невысокой степени сложности. Для удобства будем рассматривать интеграцию виртуальной АТС Zadarma и сторонней CRM

Основные функции:

Взаимодействие с API можно условно разделить на две части:

1. Запросы (POST, GET) со стороны CRM к API Zadarma

2. Система уведомлений о звонках (webhook), POST-запросы с информацией о звонках отправляемые нашим API в сторону CRM

Полная документация по API находится тут

1. Настройка интеграции со стороны Zadarma.

Условия необходимые для начала настройки интеграции:

В личном кабинете Zadarma:

1. Сгенерированы ключи авторизации API (Key и Secret)

2. Создана виртуальная АТС и пройден Мастер настройки (внутренние номера АТС с записью разговоров по количеству пользователей CRM, сценарий входящих звонков)

У вас есть аккаунт Zadarma и некая CRM у которой должен быть URL адрес на модуль телефонии, например:

https://mybestcrm.com/zadarma

или

https://id12345678.mybestcrm.com/zadarma

Далее в качестве примера будет использоваться ссылка https://mybestcrm.com/zadarma (У вас должна быть ссылка указывающая на вашу CRM)

В личном кабинете Zadarma в разделе Настройки - API в столбце “События, по которым необходимо отправлять данные:” должны быть включены все типы уведомлений. В секции “Уведомления о звонках в АТС” в поле “Ссылка вашего ресурса” введите URL вашей CRM, на этот адрес будут отправляться уведомления о звонках.

Для того, чтобы система приняла ссылку, необходимо добавить проверочный код вначале скрипта.

Пример на PHP:


<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>

Валидация ссылки происходит после нажатия кнопки “Добавить”, на ссылку отправляется произвольный набор символов, например 1234567, согласно вышеуказанному коду ссылка должна вернуть отправляемое значение, без дополнительных символов, пробелов, BOM-последовательностей и т.д. Если валидация ссылки не проходит проверьте какое значение возвращает ссылка, отправьте curl запрос на вашу ссылку добавив к ней ?zd_echo=1234567


 curl https://mybestcrm.com/zadarma?zd_echo=1234567

В ответ ссылка должна вернуть отправляемое значение 1234567

Также для проверки ссылки можно воспользоваться сервисом https://onlinecurl.com В поле URL вводим ссылку https://mybestcrm.com/zadarma?zd_echo=1234567 и нажимаем Enter в секции Response Body должно быть 1234567 , если там пусто или другое значение отличное от 1234567 - валидация не пройдет.

Для увеличения безопасности, рекомендуем разрешить доступ к вашей ссылке только с IP 185.45.152.42 В каждом запросе на Вашу ссылку будет приходить дополнительный заголовок "Signature", по которому также сможете сверять целостность и подлинность данных. Подробнее тут

2. Настройка интеграции со стороны CRM.

В личном кабинете Zadarma уже подтверждена ссылка, указывающая на CRM, на которую будут отправляться уведомления о звонках, созданы ключи авторизации, теперь эти ключи необходимо сохранить в CRM. На стороне CRM нужна страница для настройки интеграции, назовем её “Настройки телефонии”, на этой странице обязательно должны быть следующие основные параметры:

  • Поля для ввода ключей авторизации (Key и Secret).
  • Ссылка на модуль телефонии в CRM которую мы подтверждали ранее https://mybestcrm.com/zadarma.
  • Список пользователей с возможностью назначить каждому свой собственный, уникальный внутренний номер атс.

Список внутренних номеров можно получить методом GET /v1/pbx/internal/

Из полученного списка внутренних номеров формируем контекстное меню для назначения внутреннего номера каждому пользователю CRM Если внутренний номер уже назначен одному пользователю, этот внутренний номер больше не должен быть доступен для выбора и назначения другому пользователю.

Рекомендуем одного из пользователей назначать ответственным по умолчанию, создав соответствующий чекбокс на странице настроек телефонии. Ответственный по умолчанию - это сотрудник, который будет назначаться ответственным по событиям у которых нет явного ответственного. Например: Входящий звонок от нового клиента направлен одновременно на 5 внутренних номеров (5 пользователей CRM ) и никто их них не снял трубку, потенциального клиента не хотелось бы терять, для этого в CRM можно создать событие, задачу или лид “Пропущенный звонок с номера”, но на кого из пользователей его назначить, если назначить на всех пятерых пользователей, то клиенту могут перезвонить 5 раз, что не очень хорошо, в этом случае можно назначать событие на сотрудника ответственного по умолчанию (Например руководитель отдела продаж). Если у вас в CRM есть пул неразобранных лидов и пользователи сами берут оттуда лиды или они назначаются пользователям автоматически, согласно внутреннему алгоритму, опцию ответственного по умолчанию можно не использовать.

Настройки телефонии в CRM обычно доступны только пользователю с правами администратора/руководителя. Для call-центров может быть полезным отображение баланса из личного кабинета Zadarma на странице настроек телефонии в CRM. Получить баланс можно методом GET /v1/info/balance/

3. Исходящие звонки из интерфейса CRM

4. Всплывающие уведомления о звонках в интерфейсе CRM

5. Аудиозаписи и статистика звонков

6. Автоматическое создание контактов/лидов/сделок при звонке от нового клиента

7. Автонаправление входящего звонка на ответственного сотрудника

8. Отображение имени клиента в ip-телефоне/софтфоне

9. Напоминания о пропущенных звонках

10. Черный список в CRM

11. Добавление интеграции в личный кабинет Zadarma

Функционал из пунктов 6-10 рекомендуем делать опциональным, чтобы конечный пользователь мог включить/выключить необходимые ему функции на странице "Настройки телефонии" в CRM