[Программирование, CRM-системы] Интегрируем web-телефон в свою систему

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
03-Дек-2020 16:30

Мы уже писали, как и зачем интегрировать телефонию со своей CRM/ERP/Helpdesk системой. Теперь опишем, как это сделать еще проще, добавив на свой сайт web-телефон.
WebRTC виджет позволит звонить и принимать звонки из вашего web приложения, не устанавливая никаких программ и не делая никаких настроек.

Что получится?
Множество 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, то есть вы получаете уведомление при каждом звонке либо событии в АТС/СМС/коллтрекинге.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_crmsistemy (CRM-системы), #_crm, #_iptelefonija (ip-телефония), #_webrtc, #_webrtc_sip, #_webrtc_server, #_blog_kompanii_zadarma (
Блог компании Zadarma
)
, #_programmirovanie (
Программирование
)
, #_crmsistemy (
CRM-системы
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 08:55
Часовой пояс: UTC + 5