Pull to refresh
0
Zadarma
Бесплатная облачная АТС, виртуальные номера, CRM

Интегрируем web-телефон в свою систему

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



Что получится?


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


Как интегрировать?


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

  1. Ваши пользователи регистрируются в сервисе, включают АТС, копируют ключи API из нашей в вашу систему. (Все это планируем также очень скоро автоматизировать). Это проделывается один раз для каждого аккаунта. Если вы разрабатываете систему для себя, то вообще один раз.
  2. При включении интеграции, после копирования ключа, нужно сопоставить пользователей облачной АТС и вашей системы (то есть, задать у какого сотрудника какой номер). Для этого в 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, то есть вы получаете уведомление при каждом звонке либо событии в АТС/СМС/коллтрекинге.
Tags:
Hubs:
Total votes 17: ↑17 and ↓0+17
Comments9

Articles

Information

Website
zadarma.com
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
IgorDimitrov