Ростелеком Интеграционный API. Руководство администратора (2019 год)

 

  Главная      Учебники - Разные 

 

поиск по сайту            правообладателям  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ростелеком Интеграционный API. Руководство администратора (2019 год)

 

 

Интеграционный API.
Руководство администратора
2019
Аннотация
Документ описывает услугу
«Интеграционный APIª, содержит краткую
информацию по настройке услуги и её отладке.
Документ предназначен для администраторов домена.
2
Оглавление
Аннотация
2
Определения и сокращения
4
1 Общие положения
6
1.1 Назначение услуги
6
1.2 Взаимодействие Интеграционного API с внешней системой
8
1.3 Общие принципы работы программных интерфейсов
9
1.3.1 Заголовок запроса
9
1.3.2 Проверка подписи
10
1.3.3 Настройка сертификатов
10
2 Доступ к услуге
12
2.1 Подключить услугу
12
2.2 Настроить Интеграционный API
13
2.2.1 Параметры Интеграционного API
14
2.2.2 Настроить белый список IP-адресов
15
2.2.3 Методы API
15
2.3 Отладить взаимодействие между API и CRM
17
2.3.1 Тестировать отправку запросов/уведомлений от CRM к API
18
2.3.2 Тестировать отправку запросов/уведомлений от API к CRM
19
2.3.3 Лог запросов/ответов
21
Приложение А. Состав и описание интерфейсов взаимодействия
23
Приложение B. Рекомендуемые этапы отладки взаимодействия Интеграционного
API с внешней системой
43
3
Определения и сокращения
Абонент - пользователь услуги телефонной связи.
Администратор - специалист, отвечающий за настройку и конфигурирование
услуги «Виртуальная АТСª и наделённый соответствующими полномочиями.
АРМ - автоматизированное рабочее место.
Внешняя система - любой внешний сервис (приложение, система CRM, система
ERP и пр.), имеющий публичный web-интерфейс и реализующий протокол взаимодействия
с СП (полностью или частично).
Домен - область пространства иерархических имен сети Интернет, которая
обслуживается набором серверов доменных имен
(DNS) и централизованно
администрируется. Домен идентифицируется уникальным именем;
уникальное имя учетной записи абонента (компании) в услуге «Виртуальная АТСª.
Виртуальная АТС - Услуга «Виртуальная АТСª ПАО «Ростелекомª.
Вызов
- телефонная заявка на установление соединения, поступившая от
оконечного абонентского телефонного устройства на телефонную станцию.
ЛК - личный кабинет.
Плечо вызова - это часть вызова, соединяющая участника звонка и платформу;
плечо может быть входящим (между вызывающим абонентом и платформой) и исходящим
(между платформой и вызываемым абонентом).
Поле
- элемент графического пользовательского интерфейса, позволяющий
пользователю вводить текстовые данные. Также используется для отображения
пользователю текстовых данных с возможностью или без возможности редактирования.
Пользователь домена - лицо, чьи контактные данные (имя, внутренний номер)
занесены в панель управления доменом Виртуальной АТС и которое участвует в
распределении входящих вызовов.
Публичный IP-адрес
- адрес, под которым систему видят устройства и
пользователи сети «Интернетª; публичный адрес уникален.
СП - Сервисная Платформа, на базе которой предоставляется услуга «Виртуальный
АТСª.
ХЭШ-сумма - результат преобразования массива данных хэш-функцией.
4
XЭШ-функция - функция, выполняющая алгоритм преобразования массива
данных произвольной длины в строку установленной длины; при даже незначительном
изменении исходного массива данных, меняется хэш-сумма. Для расчета хэш-сумм можно
использовать специальные калькуляторы.
API - application programming interface; набор классов, процедур и функцией,
предоставляемых приложением для использования во внешних системах.
CRM - Customer Relationship Management; прикладное программное обеспечение, в
котором объединены инструменты для взаимодействия с клиентами, управления сделками,
контроля за менеджерами компании.
HTTPS - HyperText Transfer Protocol Secure; расширение протокола HTTP,
поддерживающее шифрование.
IP-адрес - уникальный сетевой адрес узла в компьютерной сети, построенной на
основе стека протоколов TCP/IP.
JSON - JavaScript Object Notation; формат обмена данными, основанный на
JavaScript; используется для представления объекта в виде строки текста; легко читается и
людьми и компьютером.
POST-запросы - один из методов запроса, поддерживаемых HTTP-протоколом;
метод предназначен для запросов, при которых веб-сервер принимает данные и хранит,
заключенные в тело запроса; передаваемые в POST-запросе данные скрыты от глаз
обычного пользователя (например, не отображаются в адресной строке браузера).
SIP - Session Initiation Protocol; протокол установления мультимедийных сессий по
сетям IP, реализованный в соответствии с рекомендациями RFC 2543 и RFC 3261 IETF/
SIP URI - адрес, подобный адресу электронной почты, использующийся для
взаимодействия с существующими приложениями IP-сетей (обеспечивает мобильность
пользователей).
SSL - Secure Sockets Layer; криптографический протокол, который обеспечивает
защищенный обмен данными через Интернет; чтобы защищенное соединение было
возможным, необходимо чтобы на сервере был установлен SSL-сертификат.
SSL-сертификат (Серверный сертификат) - цифровая подпись, уникальным
образом идентифицирующая сетевой ресурс; обеспечивает шифрованное соединение
между сервером (сайтом) и клиентом (браузером) посредством протокола HTTPS.
5
1 Общие положения
1.1 Назначение услуги
Услуга
«Интеграционный APIª предоставляет возможность интегрировать
информационные системы клиентов с телефонией ВАТС для увеличения эффективности и
качества бизнес-процессов. Например, интеграционный API предлагает следующие
возможности по расширению функционала клиентской CRM:
1. (новый метод) Запрос информации о вызывающем номере.
Событие формируется, перед началом маршрутизации вызова в СП.
По каждому входящему вызову у CRM-системы запрашивается:
-
информации о пользователе
(группе), на которого необходимо сделать
маршрутизацию вызова;
-
информации о вызывающем абоненте для формирования отображаемого имени
(параметра Display Name) на экране аппаратного или программного телефона
сотрудника.
Если CRM-система не отвечает или возвращает пустые значения, то маршрутизация
и подстановка отображаемого имени выполняются по правилам услуги «Виртуальная
АТСª.
2. Уведомление о новом вызове.
Событие формируется, перед началом маршрутизации вызова в СП.
Пример реакции CRM-системы:
-
регистрация поступившего входящего/исходящего вызова.
3. Уведомление о начале разговора.
Событие формируется, когда абонент отвечает на вызов (поднимает трубку).
В рамках одного вызова может быть подключено/отключено несколько участников,
поэтому может передаваться несколько уведомлений о начале разговора.
Пример реакции CRM-системы:
-
отображение карточки клиента на АРМ менеджера CRM.
4. Уведомление о завершении разговора.
6
Событие формируется, когда завершается вызов или плечо вызова (в рамках одного
вызова может быть подключено/отключено несколько участников, поэтому может
передаваться несколько уведомлений о завершении разговора).
Пример реакции CRM-системы:
-
завершение отображения карточки клиента на АРМ менеджера CRM.
5. Уведомление о завершении вызова.
Событие формируется, когда завершается вызов.
Примеры реакции CRM-системы:
-
фиксация факта завершения вызова в клиентской CRM;
-
фиксация информации о вызове в журнале обращений клиентов в CRM.
6. Совершение исходящего вызова по запросу из CRM-системы.
По запросу CRM-системы:
-
совершается исходящий вызов на контакт пользователя домена (AOR или PIN);
-
после ответа пользователя домена совершается второй исходящий вызов на
указанный в запросе номер вызываемого абонента;
-
после ответа вызываемого абонента устанавливается соединение двух
участников разговора.
7. Получение временной ссылки на запись разговора.
По запросу CRM-системы возвращается ссылка на запись разговора, которая может
быть проиграна/загружена пользователю или загружена CRM-системой (прикреплена к
карточке контакта).
8. (новый метод) Получение информации по пользователям домена.
По запросу CRM-системы возвращается подробная информация по одному
пользователю или всем пользователям услуги «Виртуальная АТСª.
9. (новый метод) Получение подробной информации по вызову.
По запросу CRM-системы возвращается подробная информация по вызову услуги
«Виртуальная АТСª.
10. (новый метод) Установка ограничения исходящей связи пользователя.
По запросу CRM для выбранного пользователя домена ВАТС устанавливается один
из вариантов ограничений на исходящую связь:
7
-
Без ограничений;
-
Запрет международных;
-
Запрет междугородных и международных;
-
Запрет всех вызовов, кроме внутренних.
11. (новый метод) Получение параметров ограничения исходящей связи
пользователя.
По запросу CRM Система сообщает, какие ограничения на исходящую связь
установлены в ЛК ВАТС для выбранного пользователя домена.
12. (новый метод) Запрос истории списаний и начислений по вызовам
пользователя домена.
По запросу CRM для указанного пользователя домена ВАТС Система возвращает:
-
информацию о количестве исходящих вызовов пользователя;
-
детальную информацию о каждом вызове:
-
вызываемый номер;
-
дату и время вызова;
-
длительность вызова;
-
тарифицируемый интервал;
-
стоимость вызова.
1.2 Взаимодействие Интеграционного API с внешней системой
Интеграционный API и внешняя система взаимодействуют между собой
посредством запросов HTTPS:
-
Запросы к Интеграционному API отправляются на адрес API, указанный в ЛК
администратора домена (1, Рисунок 1). Запрос содержит метод API.
Администратор домена может ограничить источники запросов (IP-адресов
внешних систем) при обращении к Интеграционному API.
-
Запросы от Интеграционного API к внешней системе отправляются на адрес
внешней системы, указанный в ЛК администратора домена (1, Рисунок 1).
Запрос содержит метод API.
У внешней системы должен быть публичный адрес, доступный из сети
Интернет с установленным SSL-сертификатом.
8
Рисунок 1 - Настройки параметров Интеграционного API
1.3 Общие принципы работы программных интерфейсов
1.3.1 Заголовок запроса
В заголовке POST-запроса передаются параметры:
-
header.X-Client-ID:
-
содержит значение уникального кода услуги «Интеграционный APIª;
-
код указан в поле «Уникальный код идентификацииª на странице
настроек Интеграционного API (2, Рисунок 1);
-
по X-Client-ID идентифицируется абонент услуги «Виртуальная АТСª;
-
header.X-Client-Sign:
-
подпись, которой в целях повышения уровня безопасности
подписывается каждый запрос (от Интеграционного API к внешней
системе и в обратном направлении).
Подпись запроса (header.X-Client-Sign) формируется как хэш-сумма от следующих
параметров:
-
уникальный код идентификации - свой для каждого клиента ВАТС;
-
данные запроса;
9
-
уникальный ключ для подписи - указан в одноименном поле на странице
настроек Интеграционного API (2, Рисунок 1). Данный параметр должен быть
известен только отправляющей и принимающей стороне.
То есть:
X-Client-Sign = sha256hex (<уникальный код идентификации> + <данные запроса
(json)> + <уникальный ключ для подписи>)
Данные POST-запроса передаются в формате JSON (Content-Type: application/json).
Пример он-лайн калькулятора sha256hex - http://www.xorbin.com/tools/sha256-hash-
calculator.
1.3.2 Проверка подписи
В целях безопасности при получении запроса принимающая сторона повторно
вычисляет подпись и сравнивает получившееся значение со значением из заголовка
header.X-Client-Sign.
Если подпись запроса совпадает с вычисленным значением, источник сообщения
считается доверенным и запрос выполняется.
Пример вычисления подписи запроса:
Исходные данные:
-
уникальный код идентификации: "000003C405E6525C64C184258C44EC99";
-
данные запроса: {"request_number": "+74951234567","from_sipuri":
"test_user@cloudpbx.rt.ru"};
-
уникальный ключ для подписи: "00000716ABDA6D4DFF10F82BCBBFC532".
Подпись запроса:
sha256hex ("000003C405E6525C64C184258C44EC99{"request_number":
"+74951234567","from_sipuri":
"test_user@cloudpbx.rt.ru"}00000716ABDA6D4DFF10F82BCBBFC532").
Результат вычисления:
"fc95a524342dc68df90f7488e6d821c5a8a3b667d585490b50ebf939f1202c36".
1.3.3 Настройка сертификатов
10
Для повышения уровня безопасности запросы к Интеграционному API
отправляются по протоколу HTTPS
(в режиме отладки взаимодействия возможно
отправлять запросы без шифрования).
Чтобы обеспечить корректный обмен запросами:
1. Скачайте сертификат Интеграционного API со страницы
«Настройки
параметровª (1, Рисунок 2).
2. Добавьте серверный сертификат в список доверенных сертификатов внешней
системы.
Рисунок 2 - Скачать сертификат API
Запросы от Интеграционного API к внешней системе также осуществляются по
протоколу HTTPS (в режиме отладки взаимодействия возможно отправлять запросы без
шифрования).
Для корректной отправки запросов добавьте серверный сертификат внешней
системы в хранилище доверенных сертификатов Интеграционного API (2, Рисунок 2).
11
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
2 Доступ к услуге
2.1 Подключить услугу
Чтобы подключить услугу «Интеграционный APIª:
1. Авторизуйтесь в ЛК услуги «Виртуальная АТСª как пользователь с правами
администратора.
2. Перейдите в «Управление доменом».
3. Перейдите в раздел «Настройкиª - «Управление услугамиª.
Рисунок 3 - Подключение услуги «Интеграционный APIª
4. В строке «Интеграционный APIª поставьте переключатель в положение «Вкл.»
и подтвердите включение в открывшемся модальном окне.
Внимание! При подключении услуги списывается абонентская плата за
текущие сутки. Поэтому подключение услуги доступно, если на текущем
счету есть достаточная сумма.
5. Перейдите в раздел «Настройкиª - «Интеграционный APIª, чтобы приступить
к управлению услугой.
Примечание. Попасть в настройки Интеграционного API также можно через
иконку «Интеграционный APIª на рабочем столе.
После подключения Интеграционного API вам становятся доступны:
-
настройка параметров API;
-
отладка взаимодействия Интеграционного API с внешними системами;
-
документация по услуге.
12
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Рисунок 4 - Интеграционный API. Настройка параметров
2.2 Настроить Интеграционный API
В рамках настройки услуги «Интеграционного API» вы можете:
-
настроить параметры взаимодействия API с внешней системой (1, Рисунок 4);
-
настроить белый список IP-адресов (2, Рисунок 4);
-
разрешить или запретить отправку определенных запросов от API к внешней
системе (3, Рисунок 4).
13
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
2.2.1 Параметры Интеграционного API
-
Адрес API - адрес для отправки запросов и уведомлений от внешней системы
Интеграционному API.
-
Сертификат API - SSL-сертификат Интеграционного API:
-
скачайте его и добавьте в список доверенных сертификатов внешней
системы, чтобы при получении электронных документов от API была
возможность проверить их подлинность (см. пункт 1.3.3).
-
Адрес внешней системы - адрес внешней системы в сети Интернет:
-
используется для отправки уведомлений и запросов от
Интеграционного API;
-
может быть добавлен как с указанием порта, так и без него.
-
Серверный сертификат внешней системы:
-
инструменты для загрузки SSL-сертификата внешней системы в
хранилище доверенных сертификатов Интеграционного API (см. пункт
1.3.3).
-
Уникальный код идентификации:
-
формируется автоматически и используется для идентификации
клиента при получении электронных документов от внешней системы
(см. пункт 1.3.1).
-
Уникальный ключ для подписи:
-
формируется автоматически и при необходимости может быть
сгенерирован заново;
-
используется для подписи запросов между Интеграционным API и
внешней системой (см. пункт 1.3.1).
-
Статус услуги:
-
после подключения (см. подраздел 2.1) услуга по умолчанию находится
в статусе «Выключена»; в этом состоянии услугу можно настроить,
тестировать работу методов, ознакомиться с документацией;
-
чтобы отправлять и получать «рабочиеª запросы, измените состояние
услуги на «Включенаª.
14
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Важно! Перед переводом услуги в состояние
«Включена»
заполните параметр «Адрес внешней системыª.
Примечание. Нажмите
«Сохранить изменения», чтобы новые настройки
параметров API вступили в силу.
2.2.2 Настроить белый список IP-адресов
Чтобы повысить уровень безопасности, сформируйте список IP-адресов, с которых
к API могут поступать внешние запросы. Для этого:
1. Нажмите на ссылку
«Настройка белого списка IP-адресовª
- откроется
модальное окно со списком доверенных адресов (Рисунок 5).
2. Чтобы пополнить список доверенных адресов, введите в поле 1 IP-адрес и
нажмите «Добавитьª.
3. Чтобы удалить адрес из белого списка, нажмите .
4. Используйте поле 2 для поиска по списку IP-адресов.
Рисунок 5 - Настройка белого списка IP-адресов внешней системы
ПРИМЕЧАНИЕ. Если белый список пуст, запросы к Интеграционному API
будут поступать с любого IP-адреса.
2.2.3 Методы API
О каждом методе Интеграционного API известна следующая информация:
-
Статус:
-
для запросов от API во внешнюю систему:
-
по умолчанию установлен статус «Включеноª;
-
если статус установлен в значение «Выключеноª, по событиям
данного метода запросы/уведомления не будут отправляться во
внешнюю систему;
15
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
-
для запросов от внешней системы на API:
-
методы всегда включены и обрабатываются Интеграционным
API;
-
Название:
-
call_events - уведомление о вызовах;
-
get_number_info - запрос информации по номеру у внешней системы
(для интеллектуальной маршрутизации);
-
call_back - запрос на совершение исходящего вызова;
-
get_record - запрос записи разговора;
-
users_info - запрос информации о пользователя услуги ВАТС;
-
call_info - запрос подробной информации о вызове;
-
restricting_user_outgoing_calls/get - запрос на проверку установленных
ограничений на исходящую связь для пользователя домена;
-
restricting_user_outgoing_calls/set - запрос на установку ограничений на
исходящую связь для пользователя домена;
-
user_calls_charges - запрос информации о вызовах пользователя домена
за интервал времени.
-
Статистика - соотношение количества совершенных за определенный период
времени запросов к допустимому количеству;
-
период равен часу;
-
допустимое количество
- параметр, не доступный для изменения
пользователям.
16
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Рисунок 6
- Настройка методов API
2.3 Отладить взаимодействие между API и CRM
В разделе «Отладка взаимодействияª доступны:
-
инструменты для отправки тестовых запросов от Интеграционного API на
CRM-систему (1, Рисунок 7);
-
примеры запросов от CRM к API (2, Рисунок 7);
-
лог запросов/ответов, который позволит следить за ходом тестовых
мероприятий (3, Рисунок 7).
17
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Рисунок 7 - Инструменты для отладки взаимодействия API с внешней системой
2.3.1 Тестировать отправку запросов/уведомлений от CRM к API
Чтобы отправить тестовый POST-запрос к Интеграционному API вам понадобятся
следующие данные:
-
адрес для тестовой отправки (1, Error! Reference source not found.);
-
примеры запросов
/call_back,
/get_record,
/users_info,
/call_info,
/restricting_user_outgoing_calls/get,
/restricting_user_outgoing_calls/set,
/user_calls_charges
(2, Error! Reference source not found.);
18
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
-
X-Client-ID
(значение поля «Уникальный код идентификацииª из раздела
настройки параметров API);
-
X-Client-Sign (вычислите это значение по инструкции из пункта 1.3.2).
Рисунок 8 - Инструменты для отладки взаимодействия API с внешней системой
Отправьте запрос к API с включенным и отключенным механизмом шифрования
данных.
Чтобы сделать тесты с включенным SSL-режимом, сделайте следующие настройки:
1. Добавьте серверный сертификат CRM-системы в доверенные сертификаты (см.
пункт 1.3.3).
2. На вкладке «Отладка взаимодействияª включите режим шифрования трафика
(3, Error! Reference source not found.).
3. Нажмите «Сохранить настройки».
Все запросы (и ответы на них) будут зафиксированы в логе запросов/уведомлений.
Ознакомьтесь с рекомендациями по отладке исходящих от CRM запросов в
Приложении В.
2.3.2 Тестировать отправку запросов/уведомлений от API к CRM
Чтобы делать тестовые запросы от API к CRM-системе:
19
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
1. На вкладке «Настройка параметровª укажите адрес CRM-системы (на этапе
тестирования не стоит заполнять белый список IP-адресов).
2. На вкладке «Отладка взаимодействия» выберите метод из списка «Тестовые
уведомления/запросы от APIª (1, Рисунок 9).
3. Укажите величину таймаута
- время в секундах, в течение которого
Интеграционный API будет ожидать ответ на свои запросы (2, Рисунок 9).
4. Нажмите «Отправить запросª.
Рисунок 9 - Инструменты для отладки взаимодействия API с внешней системой
Сделайте тестовые запросы с включенным и отключенным механизмом шифрования
данных.
Чтобы правильно активировать SSL-режим:
1. Добавьте сертификат Интеграционного API в список доверенных для CRM-
системы (см. пункт 1.3.3).
2. На вкладке «Отладка взаимодействияª включите режим шифрования трафика
(3, Рисунок 9).
3. Сохраните настройки.
Все запросы (и ответы на них) будут зафиксированы в логе запросов/уведомлений.
Состав и описание интерфейсов взаимодействия API и внешней системы, примеры
отображения методов в логе приведены в Приложении А.
20
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Ознакомьтесь с рекомендациями по отладке исходящих от API запросов в
Приложении В.
2.3.3 Лог запросов/ответов
Лог запросов/ответов содержит журнал тестовых запросов, сделанных в рамках
отладки взаимодействия API и внешней CRM-системы.
Рисунок 10 - Лог запросов/ответов
Отфильтруйте запросы:
-
по методу:
-
уведомление о вызовах;
-
запрос на совершение исходящего вызова;
-
запрос записи разговоров;
-
запрос адресной книги пользователей домена;
-
запрос информации о вызове;
-
получение информации о вызывающем номере;
-
получение параметров ограничения исходящей связи пользователя;
-
установка ограничения исходящей связи пользователя;
-
запрос истории списаний и начислений по вызовам пользователя
домена;
21
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
-
все;
-
по направлению:
-
запросы к CRM;
-
запросы от CRM;
-
все запросы.
Нажмите «Обновить логª, чтобы увидеть результат фильтрации.
Нажмите «Очистить фильтрª, чтобы увидеть все записи лога.
Чтобы очистить лог, нажмите кнопку «Очистить логª.
22
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Приложение А. Состав и описание интерфейсов взаимодействия
А.1 Состав интерфейсов взаимодействия
Таблица А.1 - Краткое описание интерфейсов взаимодействия
Название
Комментарии
1
Запросы от API СП
1.1
Уведомление о вызовах
Регистрируются события:
/call_events
- о новом вызове;
- о начале дозвона на
контактный номер сотрудника;
- о начале разговора;
- о завершении разговора;
- о завершении вызова.
1.2
Получение информации о
3 Получение информации о
вызывающем номере для
вызывающем абоненте для
определения отображаемого имени
формирования
параметра
и маршрута
Display Name.
/get_number_info
Получение информации о
пользователе (группе), на
которого необходимо сделать
маршрутизацию вызова
2
Запросы от внешней системы
2.1
Запрос на совершение исходящего
Совершается вызов в
вызова
соответствии со сценарием
CallBack:
/call_back
- система дозванивается до
пользователя, заказавшего
звонок;
- система дозванивается до
внешнего номера телефона,
указанного в запросе.
2.2
Запрос записи разговора
По запросу возвращается
временная ссылка на файл с
/get_record
записью разговора или
сообщение об ошибке, при
отсутствии записи.
2.3
Экспорт адресной книги домена
Экспортируются данные по
одному пользователю или по
/users_info
всем пользователям домена
2.4
Запрос информации о вызове
Запрашивается детальная
информация о вызове по
/call_info
идентификатору сессии вызова.
23
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Комментарии
2.5
Получение параметров
Запрашивается информация об
ограничений исходящей связи
установленных для
пользователя
пользователя домена
ограничениях исходящей связи
/restricting_user_outgoing_calls/get
2.6
Установка ограничений исходящей
Из CRM отправляется запрос на
связи пользователя
установку ограничений
исходящей связи для
/restricting_user_outgoing_calls/set
пользователя домена
2.7
Запрос истории списаний и
Запрашивается информация о
начислений по вызовам
количестве исходящих вызовов
пользователя
пользователи домена и
детальная информация о каждом
/user_calls_charges
из вызовов
А.2 Уведомления и запросы от API СП
A.2.1 Уведомление о вызовах
Название интерфейса: call_events
Назначение интерфейса - отправка уведомлений о вызовах:
-
о новом вызове (входящем, исходящем, внутреннем);
-
о начале разговора
(установка акустического соединения); может быть
несколько событий (при переводе вызова или организации конференции);
-
о завершении разговора (разрыв акустического соединения); может быть
несколько событий (при переводе вызова или организации конференции);
-
о завершении вызова.
Таблица А.2.1 - Описание параметров интерфейса call_events
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры
session_id
Внутренний идентификатор сессии на
Строка
Не допускается
Платформе.
Все последующие события
(переадресация, перевод средствами СП),
генерируемые в процессе обработки
вызова, будут иметь одинаковое значения
данного поля.
timestamp
Время возникновения события (UTC)
Строка
Не допускается
24
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
type
Тип вызова:
Строка
Не допускается
incoming - входящий
outbound - исходящий
internal - внутренний
state
Тип уведомления:
Строка
Не допускается
new - о новом вызове
calling - начало дозвона на контактный
номер сотрудника;
connected - о начале разговора
disconnected - о завершении разговора
end - о завершении вызова
from_number
Номер в формате E.164 или SIP-URI
Строка
Не допускается
вызывающего абонента.
from_pin
PIN вызывающего абонента.
Строка
Допускается
Устанавливается только для исходящих и
внутренних вызовов.
request_number
Номер в формате E.164 или SIP-URI
Строка
Не допускается
вызываемого абонента.
request_pin
PIN вызываемого абонента.
Строка
Допускается
Устанавливается только для входящих и
внутренних вызовов
disconnect_reason
Причина завершения вызова.
Строка
Допускается
Устанавливается только для уведомлений
о завершении вызова (disconnected).
is_record
Флаг, уведомляющий о наличии записи
Строка
Допускается
разговора.
Устанавливается только для уведомлений
о завершении вызова (end).
Примеры уведомления о вызовах
Уведомление о новом вызове (входящем, исходящем, внутреннем):
{
"state": "new",
"type": "incoming",
"session_id": "76981273981237",
"timestamp": "2018-04-23 15:01:27.214",
"from_number": "sip:79771234567@example_domain.ru",
"request_number": "sip:74951234567@example_domain.ru"
}
25
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Уведомление о начале разговора (установка акустического соединения):
{
"state": "connected",
"type": "incoming",
"session_id": "76981273981237",
"timestamp": "2018-04-23 15:01:29.214",
"from_number": "sip:79771234567@example_domain.ru",
"request_number": "user@example_domain.ru",
"request_pin": "317"
}
Уведомление о завершении разговора (разрыв акустического соединения):
{
"state": " disconnected ",
"type": "incoming",
"session_id": "76981273981237",
"timestamp": "2018-04-23 15:01:29.214",
"from_number": "sip:79771234567@example_domain.ru",
"request_number": "user@example_domain.ru",
"request_pin": "317",
"disconnect_reason": "Отбой вызывающего абонента"
}
Уведомление о завершении вызова:
{
"state": "end",
"type": "incoming",
"session_id": "76981273981237",
"timestamp": "2018-04-23 15:01:27.214",
"from_number": "sip:79771234567@example_domain.ru",
"request_number": "user@example_domain.ru",
"request_pin": "317",
"is_record": "true"
}
A.2.2 Получение информации о вызывающем номере
Название интерфейса: get_number_info
Назначение интерфейса:
-
Получение информации о вызывающем абоненте для формирования параметра
Display Name (отображения ФИО клиентов на устройствах операторов).
26
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
-
Получение информации о пользователе (группе), на которого необходимо
сделать маршрутизацию вызова.
Запрос должен выполняться при поступлении входящего вызова на входящую
линию до маршрутизации вызовов в соответствии с правилами маршрутизации домена.
Если ответ на запрос не получен в установленный таймаут (настраивается администратором
системы
- настройка уровня Платформы, действуют для всех доменов), то вызов
маршрутизируется в соответствии с установленными в домене правилами маршрутизации.
Таблица А.2.2 - Описание параметров интерфейса get_number_info
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры (JSON)
domain
Название домена, на который пришел
Строка
Не допускается
вызов
from_number
Номер в формате E.164
Строка
Не допускается
request_number
Номер в формате E.164 (номер входящей
Строка
Не допускается
линии).
Возвращаемые параметры (JSON)
result
Код выполнения операции:
Число
Не допускается
0 - Операция выполнена успешно (код
проверен, номер свободен)
resultMessage
Описание результата выполнения запроса
Строка
Допускается, если
result = 0
displayName
Отображаемое имя для добавления
Строка
Допускается, если
информации о вызове.
result > 0
PIN
Внутренний номер пользователя, на
Строка
Допускается
который необходимо маршрутизировать
вызов.
Если поле пустое или ответ на запрос не
получен в установленный таймаут, то
вызов маршрутизируется в соответствии с
установленными правилами
маршрутизации.
Пример запроса на получение информации о номере
Запрос:
27
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
{
"domain":"test_domain.14.rt.ru",
"from_number":"74959561111",
"request_number":"74992222222"
}
Ответ:
{
"result": 0,
"resultMessage": "Операция выполнена успешно",
"displayName ": "Иванов Сергей Петрович",
"PIN ": "765"
}
А.3 Уведомления и запросы от внешней системы
A.3.1 Запрос на совершение исходящего вызова
Название интерфейса: call_back
Назначение интерфейса:
-
запрос на совершение исходящего вызова, содержащего информацию о номере
вызываемого абонента и пользователе домена, заказавшем исходящий вызов.
Сценарий:
-
СП совершает исходящий вызов на контакт пользователя домена (AOR или
PIN);
-
после ответа пользователя домена на входящий вызов СП проигрывает
системный звуковой файл («ожидайте соединения со вторым участником
разговораª);
-
по завершению проигрывания файла (если пользователь домена не сбросил
входящий вызов) СП совершает второй исходящий вызов на указанный в
запросе номер вызываемого абонента;
-
после ответа вызываемого абонента СП соединяет данного абонента с
заказавшим исходящий вызов пользователем домена.
Таблица А.3.1 - Описание параметров интерфейса call_back
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры (JSON)
28
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
request_number
Номер в формате E.164
Строка
Не допускается
from_sipuri
SIP-URI пользователя домена, с которым
Строка
Допускается, если
идет предварительное соединение.
задан from_pin
Если задан from_sipuri и from_pin, то
используется параметр from_sipuri
from_pin
Внутренний номер пользователя домена, с
Строка
Допускается, если
которым идет предварительное
задан from_sipuri
соединение.
Возвращаемые параметры (JSON)
result
Код выполнения операции:
Строка
Не допускается
0 - Операция выполнена успешно
resultMessage
Описание результата выполнения запроса
Строка
Не допускается
session_id
Внутренний идентификатор сессии на
Строка
Допускается, если
Платформе
result > 0
Пример запроса на совершение исходящего вызова:
Запрос:
{
"request_number" : "+436602225877",
"from_sipuri" : "sip:user1@192.168.69.142",
"from_pin" : "345"
}
Ответ:
{
"result": "1",
"resultMessage": "Операция выполнена успешно",
"session_id": "534dbe28-7e58-4705-89a4-26a308405464"
}
А.3.2 Запрос записи разговора
Название интерфейса: get_record
Назначение интерфейса:
-
запрос на получение временной одноразовой ссылки
на
запись разговора,
которая доступна только с указанного IP-адреса (если IP-адрес не указан, то
29
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
ссылка доступна с IP-адреса, с которого приходит запрос на формирование
одноразовой ссылки).
Сценарий:
-
возвращается временная ссылка на запись разговора или ошибка обработки
запроса.
Таблица А.3.2 - Описание параметров интерфейса get_record
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры (JSON)
session_id
Внутренний идентификатор сессии на
Строка
Не допускается
Платформе
ip_adress
IP-адрес, с которого будет доступна
Строка
Допускается
возможность загрузки записи разговора по
временной ссылке.
Если IP-адрес не указан, то загрузка
записи разговора будет доступна только с
IP-адреса, с которого пришел запрос на
формирование одноразовой ссылки.
Возвращаемые параметры (JSON)
result
Код выполнения операции:
Строка
Не допускается
0 - Операция выполнена успешно
resultMessage
Описание результата выполнения запроса
Строка
Не допускается
url
Одноразовая ссылка на файл с записью
Строка
Допускается, если
разговора, доступный для скачивания.
result > 0
Пример запроса на получение ссылки на запись разговоров:
Запрос:
{
"session_id": "0000be287e584709a46a308405464",
"ip_adress": "76.156.12.39"
}
Ответ:
{
"result": "0",
"resultMessage": "Операция выполнена успешно",
30
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
"url": "
550726/188254033084"
}
А.3.3 Экспорт адресной книги домена
Название интерфейса: users_info
Назначение интерфейса:
-
Предоставление по запросу внешней системы информации о пользователях
домена:
-
возвращается информация об одном пользователе, если на вход
передается AOR или PIN пользователя;
-
возвращается информация обо всех пользователях домена, если в
параметры AOR пользователя и PIN пользователя содержат пустые
значения.
Таблица А.3.3 - Описание параметров интерфейса users_info
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры (JSON)
domain
Название домена, по которому
Строка
Не допускается
запрашивается информация
user_name
Логин пользователя домена
Строка
Допускается
user_pin
PIN пользователя домена
Строка
Допускается
Возвращаемые параметры (JSON)
result
Код выполнения операции:
Число
Не допускается
0 - Операция выполнена успешно (код
проверен, номер свободен)
resultMessage
Описание результата выполнения запроса
Строка
Допускается, если
result = 0
users
Информация о пользователях домена.
JSON
Допускается, если
result > 0
Отображается массив объектов user.
Если задан user_aor или user_pin, то в
списке возвращается только один элемент.
31
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
groups
Информация о группах домена (не входят
JSON
Допускается, если
группы переадресации).
result > 0 или
указан AOR или
Отображается массив объектов group.
PIN пользователя
Если задан user_aor или user_pin, то
параметр не передается.
Таблица А.3.4 - Описание объекта user
Название
Допустимость
Описание
Формат
параметра
пустого значения
display_name
Отображаемое имя
Строка
Допускается
пользователя домена
name
Логин пользователя домена
Строка
Не допускается
pin
Внутренний номер
Строка
Не допускается
пользователя домена
is_supervisor
Признак того, что
Логическое
Не допускается
пользователь является
значение
администратором домена.
true - администратор;
false - не администратор.
is_operator
Признак того, что
Логическое
Не допускается
пользователь является
значение
оператором.
true - оператор;
false - не оператор.
email
Адрес электронной почты
Строка
Допускается
пользователя домена
recording
Признак того, что
Число
Не допускается
разговоры пользователя
записываются:
0 - не записываются;
1 - записываются;
2 - записываются с
аналитикой.
Таблица А.3.5 - Описание объекта group
Допустимость
Название параметра
Описание
Формат
пустого значения
name
Название группы, в
Строка
Не допускается
которой состоит
пользователь домена
32
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Допустимость
Название параметра
Описание
Формат
пустого значения
pin
Внутренний номер группы
Строка
Не допускается
домена
email
Адрес электронной почты
Строка
Допускается
группы
distribution
Алгоритм распределения
Число
Не допускается
вызовов (классификатор):
0 - не задан;
1 - всем пользователям;
2 - наиболее свободный;
3 - наименее занятый;
4 - случайный.
users_list
Строковый массив
Массив
Допускается
внутренних номеров
пользователей, которые
входят в данную группу
Пример запроса на получение информации по пользователю:
Запрос:
{
"domain":"testdomain.ru",
"user_name":"b2"
}
Ответ:
{
"result": 0,
"resultMessage":"",
"users":[{
"display_name":"Иванов Сергей",
"name":"b2",
"pin":"16",
"is_supervisor": false,
"is_operator": false,
"email":"",
"recording": 2
}]
}
А.3.4 Запрос информации о вызове
Название интерфейса: call_info
33
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Назначение интерфейса:
-
предоставление подробной информации о совершенном вызове.
Таблица А.3.6 - Описание параметров интерфейса call_info
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры (JSON)
session_id
Внутренний идентификатор сессии на
Строка
Не допускается
Платформе
Возвращаемые параметры (JSON)
result
Код выполнения операции:
Число
Не допускается
0 - Операция выполнена успешно (код
проверен, номер свободен)
resultMessage
Описание результата выполнения запроса
Строка
Допускается, если
result = 0
info
Детальная информация о вызове
JSON
Допускается, если
result > 0
Таблица А.3.7 - Описание параметра info
Название
Допустимость
Описание
Формат
параметра
пустого значения
call_type
1 - обычный звонок
Целое число
Не допускается
3 - callback
direction
Направление вызова:
Целое число
Не допускается
1 - от внешнего клиента (входящий);
2 - внешнему клиенту (исходяший);
3 - внутренний
state
1 - вызов принят
Целое число
Не допускается
2 - вызов не принят
orig_number
Номер в формате SIP-URI вызывающего
Строка
Не допускается
абонента.
orig_pin
PIN вызывающего абонента (для
Строка
Допускается для
исходящих и внутренних вызовов).
входящих вызовов
dest_number
Номер в формате SIP-URI вызываемого
Строка
Не допускается
абонента:
- для входящих вызовов - номер линии
домена;
34
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
answering_sipuri
Номер первого ответившего абонента в
Строка
Допускается, если
формате SIP-URI.
не было
акустического
соединения
answering_pin
PIN первого ответившего абонента (для
Строка
Допускается
входящих и внутренних вызовов).
start_call_date
Дата и время входящего вызовы
TIMESTAM
Не допускается
P
duration
Продолжительность вызова в секундах,
Число
Не допускается
при отсутствии соединения передается 0
session_log
Краткий протокол вызова (переадресации,
Текст
Не допускается
переводы, перехваты и т.д.), как в журнале
is_voicemail
Флаг, уведомляющий о наличии
Bool
Не допускается
голосового сообщения.
is_record
Флаг, уведомляющий о наличии записи
Bool
Не допускается
разговора.
is_fax
Флаг, уведомляющий о наличии
Bool
Не допускается
факсимильного сообщения.
status_code
Код ошибки соединения
Строка
Допускается
status_string
Текст ошибки соединения
Строка
Допускается
Пример запроса на получение информации по вызову:
Запрос:
{
"session_id":"K1x23clUwVWnlzjQ"
}
Ответ:
{
"result":0,
"resultmessage":"",
"info":{
35
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
"call_type":1,
"direction":2,
"state":1,
"orig_number":"sip:m1@testdomain.ru",
"orig_pin":"3",
"dest_number":"sip:89123456789",
"answering_sipuri":null,
"answering_pin":null,
"start_call_date":"1552315968",
"duration":8,
"session_log":"0:ct:89035037889;5:cc:89035037889;8:cd:89035037889;",
"is_voicemail": false,
"is_record": true,
"is_fax": false,
"status_code":"0",
"status_string":""
}
}
А.3.4 Получение параметров ограничений исходящей связи пользователя
Название интерфейса: restricting_user_outgoing_calls/get
Назначение интерфейса:
-
предоставление по запросу внешней CRM-системы информации об
установленных для пользователя домена ограничениях исходящей связи.
Таблица А.3.8 - Описание параметров интерфейса restricting_user_outgoing_calls/get
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры
user_name
Логин пользователя домена
Строка
Допускается, если
задан user_pin
user_pin
PIN пользователя домена
Строка
Допускается, если
задан user_name
Возвращаемые параметры
36
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
result
Код выполнения операции:
Строка
Не допускается
0 - Операция выполнена успешно (код
проверен, номер свободен)
Неуспешные коды:
-1 - Error decoding POST body as JSON
20 - Wrong "sipuri" format
40 - User not found
60 - Wrong "restricting_outgoing_calls"
value"
resultMessage
Описание результата выполнения запроса
Строка
Допускается, если
result = 0
restricting_outgoing
0 - Без ограничений
Число
Недопускается
_calls
1 - Запрет международных
2 - Запрет междугородных и
международных
3 - Запрет всех вызовов, кроме
внутренних
Пример запроса на получение параметров
ограничений
исходящей связи
пользователя:
Запрос:
{
"user_name":"",
"user_pin":"30129"
}
Ответ:
{
"result":"0",
"resultmessage":"",
"restricting_outgoing_calls": 2
}
А.3.5 Установка ограничений исходящей связи пользователя
Название интерфейса: restricting_user_outgoing_calls/set
Назначение интерфейса:
37
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
-
установка по запросу внешней CRM-системы ограничений на исходящую связь
для пользователя домена:
-
0 - Без ограничений
-
1 - Запрет международных
-
2 - Запрет междугородных и международных
-
3 - Запрет всех вызовов, кроме внутренних.
Таблица А.3.9 - Описание параметров интерфейса /restricting_user_outgoing_calls/set
Допустимость
Название
Описание
Формат
пустого
параметра
значения
Входящие параметры
user_name
Логин пользователя домена
Строка
Допускается,
если задан
user_pin
user_pin
PIN пользователя домена
Строка
Допускается,
если задан
user_name
restricting_outgoin
0 - Без ограничений
Число
Недопускается
g_calls
1 - Запрет международных
2 - Запрет междугородных и
международных
3 - Запрет всех вызовов, кроме
внутренних
Возвращаемые параметры
result
Код выполнения операции:
Строка
Не допускается
0 - Операция выполнена успешно (код
проверен, номер свободен)
Неуспешные коды:
-1 - Error decoding POST body as JSON
20 - Wrong "sipuri" format
40 - User not found
60 - Wrong "restricting_outgoing_calls"
value"
resultMessage
Описание результата выполнения
Строка
Допускается,
запроса
если result = 0
Пример запроса на установку ограничений исходящей связи пользователя:
Запрос:
{
38
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
"user_name":"",
"user_pin":"30129",
"restricting_outgoing_calls": 2
}
Ответ:
{
"result":"0",
"resultmessage":""
}
А.3.6 Запрос истории списаний и начислений по вызовам пользователя
Название интерфейса: user_calls_charges
Назначение интерфейса:
-
предоставление по запросу внешней CRM-системы:
-
информации о количестве исходящих вызовов пользователя домена;
-
подробной информации о каждом из вызовов.
Информация отображается постранично, максимальный размер страницы - 100
вызовов.
Таблица А.3.10 - Описание параметров интерфейса user_calls_charges
Название
Допустимость
Описание
Формат
параметра
пустого значения
Входящие параметры (JSON)
user_name
Логин пользователя домена
Строка
Не допускается
date_start
Дата по часовому поясу Москвы в
Строка
Не допускается
формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
Например, 2019-07-24 00:00:00
date_end
Дата по часовому поясу Москвы в
Строка
Не допускается
формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
Например, 2019-07-24 00:00:00
39
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
shift
Сдвиг - значение определяет сколько
Целое число
Допускается,
элементов необходимо пропустит при
Если значение не
выдаче результата.
задано, то
Если значение не задано, то возвращается
устанавливается
список вызовов без сдвига (сортируется
равным 0
по дате и времени начала вызова).
Например, если запрашивается третья
страница (page_size = 30 ), то значение
параметра устанавливается равным 60.
Внимание. Если значение shift больше 0,
то значение параметра «number_of_callsª
не возвращается.
page_size
Количество возвращаемых вызовов.
Целое число
Допускается,
Может принимать значение от 1 до 100.
Если значение не
задано, то
По умолчанию 20
устанавливается
равным 20
Возвращаемые параметры (JSON)
result
Код выполнения операции:
Строка
Не допускается
0 - Операция выполнена успешно (код
проверен, номер свободен)
Неуспешные коды:
4090 - не задан логин пользователя
4091 - не задано начало временного
интервала
4093 - некорректное значение параметра
«сдвигª
4094 - некорректное значение параметра
«Количество возвращаемых вызововª
5030 - техническая ошибка, попробуйте
позднее.
resultMessage
Описание результата выполнения запроса
Строка
Допускается, если
result = 0
number_of_calls
Общее количество телефонных номеров,
Число
Допускается, если
удовлетворяющих запросу
result > 0
Внимание. Если значение shift больше 0,
то значение параметра «number_of_callsª
не возвращается.
40
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Название
Допустимость
Описание
Формат
параметра
пустого значения
calls
Детальная информация о вызовах
JSON
Допускается, если
result > 0 или
Массив значений call.
список пустой
Вызовы отсортированы по дате и времени
начала вызова.
Таблица А.3.11 - Описание параметра call
Допустимост
Название
Описание
Формат
ь пустого
параметра
значения
dest_number
Номер в формате E.164 (без префикса +)
Строка
Не
допускается
start_call_date
Дата и время исходящего вызова по
Строка
Не
часовому поясу Москвы в формате
допускается
ГГГГ-ММ-ДД ЧЧ:ММ:СС
duration
Продолжительность вызова в секундах,
Строка
Не
при отсутствии соединения передается 0
допускается
service_tar_duration
Тарифицируемый интервал в секундах
Строка
Не
допускается
service_charges
Стоимость вызова
Строка
Не
допускается
Пример запроса истории списаний и начислений по вызовам пользователя:
Запрос:
{
"user_name":"user",
"date_start":"2019-07-24 00:00:00",
"date_end":"2019-07-27 00:00:00",
"shift": 0,
"page_size": 100
}
Ответ:
{
"result":"0",
"resultmessage":"",
"number_of_calls": 3,
"calls": [
{
" dest_number ":"sip:89123456789",
41
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
" start_call_date ":"2019-07-26 16:25:15.0",
" duration ":"10",
" service_tar_duration ":"60",
" service_charges ":"30",
},
{
" dest_number ":"sip:89261234567",
" start_call_date ":"2019-07-26 16:30:14.0",
" duration ":"30",
" service_tar_duration ":"60",
" service_charges ":"90",
},
{
" dest_number ":"sip:89039876543",
" start_call_date ":"2019-07-26 16:33:10.0",
" duration ":"5",
" service_tar_duration ":"60",
" service_charges ":"15",
}
]
}
42
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
Приложение B. Рекомендуемые этапы отладки взаимодействия
Интеграционного API с внешней системой
Чтобы настроить взаимодействие Интеграционного API с внешней системой,
совершите следующие действия:
1. Подключите услугу «Интеграционный APIª в личном кабинете администратора
(см. подраздел 2.1).
2. Отладьте взаимодействие API и CRM без SSL (см. подраздел 2.3).
3. Настройте поддержку API (подписи и формата сообщений).
4. Отладьте взаимодействие API и CRM с SSL.
5. Проверьте продуктивное взаимодействие.
0
B.1 Отладка взаимодействия без шифрования
После подключения услуги «Интеграционной APIª сделайте её базовые настройки:
1. На вкладке
«Настройка параметровª укажите адрес внешней системы, на
который будут отправляться уведомления о входящих вызовах (рекомендуем
при отладке не добавлять IP-адреса в белый список).
2. На вкладке «Отладка взаимодействияª выключите режим шифрования трафика
(SSL).
3. Проверьте связность систем при запросах на внешнюю систему:
а. Со страницы «Отладка взаимодействияª отправьте тестовый исходящий
от API запрос (call_events):
-
новый вызов;
-
начало разговора;
-
завершение вызова.
б. Проверьте в логе статус запроса
(если нужно, обновите лог после
отправки запроса).
в. Проверьте на стороне внешней системы, что отправленное сообщение
дошло до адресата.
4. Проверьте связность систем при запросах на Интеграционный API:
43
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
а. Отправьте POST-запрос на адрес (http://api-test.cloudpbx.rt.ru/call_back) с
указанием следующих заголовков:
-
X-Client-ID - значение поля «Уникальный код идентификацииª
из раздела настройки параметров API.
-
X-Client-Sign - вычислите это значение по инструкции из раздела
Error! Reference source not found. - «Error! Reference source
not found.».
-
Содержание (тело) запроса (можно скопировать из примера на
странице
«Отладка взаимодействияª:
«{"request_number":"+74951234567","from_sipuri":"test_user@clo
udpbx.rt.ru"}».
б. Проверьте лог: убедитесь, что сообщение дошло до Интеграционного API
(если нужно, обновите лог после отправки запроса).
ПРИМЕЧАНИЕ. Для тестов можно использовать специализированные
программы, например, Postman.
B.2 Поддержка методов Интеграционного API
Обеспечьте поддержку методов Интеграционного API:
1. Реализуйте механизм формирования заголовков отправляемых запросов (см.
пункт 1.3.1).
2. Реализуйте механизм проверки заголовков получаемых запросов (см. пункт
1.3.2).
3. Обеспечьте поддержку формата Интеграционного API и интеграция с логикой
Вашей внешней системы.
B.3 Отладка взаимодействия с шифрованием
Когда механизм взаимодействия с Интеграционным API реализован, проверьте
корректность взаимодействия по шифрованным каналам:
1. Добавьте серверный сертификат внешней системы в доверенные сертификаты
(см. пункт 1.3.3). Сертификат вашей системы может быть самоподписанным.
44
Интеграционный API. Руководство администратора домена
Редакция: 2/2019
2. Добавьте сертификат
«Интеграционный APIª в доверенные сертификаты
внешней системы, если это необходимо.
3. На вкладке «Отладка взаимодействияª включите режим шифрования трафика
(SSL).
4. Проверьте связность систем:
а. Отправить тестовые запросы на внешнюю систему.
б. Отправить тестовые запросы из внешней системы на Интеграционный
B.4 Проверка взаимодействия реальной системы
После отладки методов сделайте проверку на реальной системе:
1. Активируйте услугу «Интеграционный APIª.
2. Во внешней системе для отправки запросов измените адрес на продуктивный
3. Проверьте отправку запросов из внешней системы:
а. Сформируйте запрос call_back с реальными данными.
б. Проверьте отправку запроса и получение ответа.
в. Проверьте отработку сценария call_back.
4. Проверьте отправку уведомлений от интеграционного API во внешнюю
систему:
а. При совершении вызова должно приходить уведомление со статусами
вызова.
5. Настройте белый список IP-адресов.
6. Повторите проверку входящих/исходящих запросов.
45

 

 

 

 

 

 

 

 

 

 

 

///////////////////////////////////////