Устанавливается, настраивается и запускается служба web-service на прослушивание внешнего порта http или https.
Интеграция реализована по протоколу UserCRM телефонии Runtel (обмен JSON по HTTP, авторизация через Authorization: Bearer). Описание методов и форматов — в официальной документации Runtel.
В интерфейсе АТС в разделе «Пользовательская интеграция» задайте:
- URL CRM (вебхук) — адрес, на котором доступна служба web-service, в виде
https://ваш_хост:порт/runtel/ (запросы POST, тело JSON). По этому адресу АТС вызывает проверку связи (test), получение списка пользователей CRM (get_users), поиск контакта по номеру (get_contact) и передаёт события звонков.
- Ключ CRM — секретная строка; её же нужно внести в ClubIS в параметр «Ключ CRM» (см. ниже). В запросах от АТС ключ передаётся в заголовке
Authorization: Bearer ….
- Ключ API АТС — ключ из панели Runtel для запросов от CRM к АТС; тот же ключ указывается в ClubIS в поле «Ключ API АТС» для исходящего вызова из программы.
Для корректной маршрутизации и сопоставления линий на стороне Runtel должно быть настроено сопоставление пользователей АТС с пользователями CRM: идентификаторы пользователей CRM в интеграции должны совпадать с идентификаторами сотрудников в ClubIS (access_users.id), которые отдаются в ответ на get_users.
Внутренний номер абонента на АТС (в событиях, поле вроде domain_user) должен совпадать с внутренним номером, указанным у сотрудника в ClubIS в карточке телефонов, иначе клиент не сопоставит событие с рабочим местом.
В модуле Администратор — Параметры — SIP выберите бэкэнд Runtel и заполните:
- Базовый URL API (v2), без завершающего «/» — хост API, например https://pbx.example.com. К запросам автоматически добавляется путь
/integration/usercrm/.
- Ключ API АТС — для заголовка
Authorization: Bearer при обращении ClubIS к API АТС (в т.ч. исходящий вызов из модуля SIP-телефон).
- Ключ CRM — тот же секрет, что задан в Runtel как ключ для доступа к CRM; по нему web-service проверяет входящие запросы АТС на URL
/runtel/.
Рекомендуется включить встроенный режим SIP-телефона. В Менеджер — Настройки — Общие укажите внутренний номер, совпадающий с учётной записью на АТС и с номером в карточке сотрудника.
Если SIP-телефон запускается отдельно и номер не берётся из базы, в локальных настройках приложения можно задать ключ runtel_extension (секция sip-phone), аналогично другим облачным бэкэндам.
- События и CDR, приходящие от АТС, сохраняются в учётных таблицах и доставляются в клиент через механизм уведомлений (как у других интеграций через web-service).
- В событиях поле направления (
direction) в ClubIS интерпретируется так: значение 0 считается входящим звонком относительно журнала; если фактическое значение на вашей площадке отличается, уточните настройки у поставщика АТС.