Что получится?
Множество CRM/ERP и прочих SaaS-систем требуют интеграции с телефонией. WebRTC-виджет это самый простой для пользователя вариант такой интеграции. Просто в углу браузера появляется веб-телефон, который может звонить и принимать вызовы. Выглядит он так.

Как интегрировать?
Начать логично с авторизации. Чтобы были права на звонки, нужно авторизоваться по ключам — вашим (если система для своей компании) либо ключам ваших клиентов (если система для многих клиентов).
- Ваши пользователи регистрируются в сервисе, включают АТС, копируют ключи API из нашей в вашу систему. (Все это планируем также очень скоро автоматизировать). Это проделывается один раз для каждого аккаунта. Если вы разрабатываете систему для себя, то вообще один раз.
- При включении интеграции, после копирования ключа, нужно сопоставить пользователей облачной АТС и вашей системы (то есть, задать у какого сотрудника какой номер). Для этого в API есть метод /v1/pbx/internal/ через него вы загружаете список номеров АТС вашего клиента, просите клиента указать у какого его сотрудника какой номер в АТС и сохраняете у себя эту информацию. Пример этого кода:
<?php use Zadarma_API\Api; if (isset($_GET['zd_echo'])) { exit($_GET['zd_echo']); } require_once __DIR__ . '/../vendor/autoload.php'; $key = 'YOUR_KEY'; $secret = 'YOUR_SECRET'; $api = new Api($key, $secret); $pbxInternal = $api->getPbxInternal(); //your code to save $pbxInternal->numbers $balance = $api->getBalance(); ?>
Установка кода на сайт
Перед открытием страницы внутреннего интерфейса вашей системы, нужно запросить временный ключ (действует до 72 часов) через метод /v1/webrtc/get_key/. Далее добавляем виджет с этим ключом в ваш внутренний интерфейс:
<?php /** * SIP login or login of PBX extension number */ $login = 'YOUR_LOGIN'; $webrtcKey = $api->getWebrtcKey($login)->key; //your code to save $webrtcKey, expiration time 72 hours. ?> <html lang="ru"> <body> <script src="https://my.zadarma.com/webphoneWebRTCWidget/v8/js/loader-phone-lib.js?v=23"></script> <script src="https://my.zadarma.com/webphoneWebRTCWidget/v8/js/loader-phone-fn.js?v=23"></script> <script> if (window.addEventListener) { window.addEventListener('load', function () { zadarmaWidgetFn('<?= $webrtcKey?>', '<?= $login?>', 'square' /*square|rounded*/, 'en' /*ru, en, es, fr, de, pl, ua*/, true, "{right:'10px',bottom:'5px'}"); }, false); } else if (window.attachEvent) { window.attachEvent('onload', function () { zadarmaWidgetFn('<?= $webrtcKey?>', '<?= $login?>', 'square' /*square|rounded*/, 'en' /*ru, en, es, fr, de, pl, ua*/, true, "{right:'10px',bottom:'5px'}"); }); } </script> </body> </html>
(Версия на 24.11.2020 актуальную версию можете скопировать в личном кабинете).
Вместо YOUR_KEY подставьте сгенерированный через API ключ; вместо YOUR_SIP подставьте ваш SIP-номер или полный логин внутреннего номера АТС, с которого будут совершаться звонки.
Обратите Внимание: Не размещайте виджет в открытом доступе в сети, иначе через ваш аккаунт сможет позвонить любой желающий.
Все — теперь ваши клиенты/сотрудники смогут звонить и принимать звонки из вашей системы. Также подробную инструкцию по настройке виджета вы сможете найти на нашем сайте.
Другие функции
Раз уж решили добавить интеграцию с телефонией, то логично получить от неё максимум. Для этого логично как минимум дать возможность вашим клиентам видеть статистику о звонке, прослушивать уведомление, совершать действия в системе при звонке (например, создавать лид/тикет/сделку).
Перечень основных функций для интеграции:
- Звонки из интерфейса CRM в один клик.
- Всплывающее уведомление о входящих/исходящих звонках с информацией о звонящем, ссылкой на карточку клиента.
- Статистика звонков, аудиозаписи звонков в карточке клиента.
- Автоматическое создание контактов/лидов/сделок при звонке от нового клиента.
- Автонаправление входящего звонка от существующего клиента на ответственного менеджера
- Отображение имени клиента на вашем IP-телефоне при входящем звонке.
- Напоминания о пропущенных звонках.
- Использование собственного черного списка для входящих звонков.
- Добавление интеграции в личный кабинет Zadarma.
Описание реализации всех этих функций вы можете найти в инструкции по интеграции телефонии.
Большая часть интеграции реализована на Webhook, то есть вы получаете уведомление при каждом звонке либо событии в АТС/СМС/коллтрекинге.
ссылка на оригинал статьи https://habr.com/ru/company/zadarma/blog/530284/

Добавить комментарий