/
Пример интеграции Webitel и Single Page Application

Пример интеграции Webitel и Single Page Application

Этот документ описывает основы интеграции Webitel с любым одностраничным веб-приложением (SPA).

Основные пункты интеграции:

Важно!

Webitel и SPA должны использовать HTTPS-соединение с действительными SSL-сертификатами, подписанными известными ЦС.

Общие настройки интеграции Webitel:

Для целей интеграции, вам нужно сохранить на стороне SPA следующие 4 настройки:

  1. Конечная точка Webitel REST API. Например: https://cloud.webitel.com/api/

  2. Конечная точка Webitel Web Socket. Например: wss://cloud.webitel.com/ws/

  3. Токен интеграции Webitel.

  4. Домен пользователей Webitel. Внутренний домен Webitel, например: my-company.lo

Создание пользователя и сохранение токена интеграции.

  1. Name - имя пользователя.

  2. Login - логин пользователя. Он может совпадать с внутренним номером пользователя.

  3. Password - случайная строка.

  4. Extension - внутренний телефонный номер пользователя.

  5. Product license key - лицензионный ключ продукта (пользователи без лицензии не могут войти в Webitel).

  6. WebRTC device - устройство WebRTC (пользователи без устройства не могут использовать звонки WebRTC из браузера).

Создание устройства.

Мы создадим устройство WebRTC для нашего будущего пользователя, используя конечную точку Webitel REST API и токен интеграции.

POST https://cloud.webitel.com/api/devices { "name": "device for user 1", "account": "sipUser1", "password": "BNZdVLryFwcB" }

В ответе мы получим тело с новым идентификатором устройства:

{ "id": "7287", "name": "device for user 1", "account": "sipUser1", "password": "BNZdVLryFwcB", "user": {}, "logged_in": "1682943253855", "created_at": "1682943253855", "created_by": { "id": "130", "name": "Administrator" }, "updated_at": "1682943253855", "updated_by": { "id": "130", "name": "Administrator" } }

Создание пользователя.

Теперь мы создадим пользователя с устройством WebRTC, используя конечную точку Webitel REST API и токен интеграции:

POST https://dev.webitel.com/api/users { "name": "User1", "email": "user1@gmail.com", "username": "2020", "password": "dl75lfLcOLLL", "extension": "2020", "roles": [ { "id": 4 } ], "device": { "id": "7287" }, "license": [ { "id": "95309f22-0d7c-4fb9-baab-9911898019c4" } ], "devices": [ { "id": "7287" } ] }

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

Создание токена пользователя.

Последнее, что нам понадобится, - токен интеграции для нового пользователя:

В ответе вы получите токен для пользователя:

Таким образом, внутри вашей SPA для каждого пользователя вам необходимо сохранять:

  • Идентификатор пользователя (user ID).

  • Идентификатор устройства (device ID).

  • Токен пользователя (user token).

Использование клиентской библиотеки Webitel JavaScript для звонков WebRTC или функционала Click-To-Call.

Webitel имеет свою собственную библиотеку на JavaScript, которая поддерживает следующие функции:

  • Инициирование звонка;

  • Ответ на входящий звонок (только с использованием WebRTC);

  • Удержание звонка;

  • Перенаправление звонка;

  • Отправка DTMF-сигнала;

  • Завершение звонка.

Вы можете найти пример web-phone по этой ссылке: https://git.webitel.com/projects/WEP/repos/vue-phone-example/browse

Если вам не нужны звонки с использованием WebRTC и вы будете использовать аппаратный телефон, вы можете использовать Click-To-Call HTTP REST API: https://swagger.webitel.com/#/CallService

Создание агента контакт-центра для расширенной функциональности маршрутизации звонков (необязательно).

Если вы используете очереди колл-центра и авто-набор номеров (дайлер), вам необходимо создать агента для каждого пользователя. Вы можете создать его с помощью REST API-интерфейса Webitel и токена интеграции: https://swagger.webitel.com/#/AgentService/AgentService_CreateAgent

Использование Webitel REST API для синхронизации истории звонков (необязательно).

Если вы хотите получить историю всех звонков с Webitel на SPA, вы можете использовать точку доступа Webitel REST API и токен интеграции: https://swagger.webitel.com/#/CallService/CallService_SearchHistoryCall

Также вы можете получить записи звонков: https://swagger.webitel.com/#/MediaFileService/MediaFileService_ReadMediaFile

Работа з дайлером (необязательно).

Эта часть описана на странице: Webitel REST API Usage Examples.

Related content

Приклад інтеграції Webitel та Single Page Application
Приклад інтеграції Webitel та Single Page Application
More like this
Функциональные возможности Webitel
Функциональные возможности Webitel
More like this
Установка и лицензирование Webitel на одном сервере
Установка и лицензирование Webitel на одном сервере
Read with this
Use cases для администратора Webitel
Use cases для администратора Webitel
More like this