API контакт-центра
API предназначено для реализации типовых операций в интерфейсе сотрудников контакт-центра. Также может использоваться и в других бизнес-процессах, требующих аналогичной функциональности. Методы предполагают использование системной авторизации. Для некоторых методов есть аналоги, которые позволяют вызывать их от имени пользователя.
Предупреждение
|
Документ находится в разработке |
Авторизация
Для выполнения запросов к данному API интегрируемое приложение должно пройти системную аутентификацию в соответствии с Аутентификация системы (OAuth Client Credentials Flow) . В свойствах у используемого oauth2 агента должна быть установлена роль ROLE_SYSTEM, для этого в конфигурационных файлах RooX UIDM для данного агента должна присутствовать строка вида
sunIdentityServerDeviceKeyValue[<index>]=ROLE=ROLE_SYSTEM
Получение информации о пользователе
Получение информации о пользователе выполняется с помощью API управления пользователями.
Работа с пользовательскими сессиями
API позволяет интегрированной системе получать список активных пользовательских сессий и принудительно завершать выбранные.
Получение списка активных сессий
Пример запроса
GET /sso/api/sessionList/сс-process?msisdn={msisdn}&service={service}&size={size}&page={page}
Host: {sso_host}
Content-Type: application/json
Accept: application/json
Authorization: Bearer sso_1.0_eyAiY3R5IjogIkpXVCIsICJ0eXAiOiAiand0IiwgImVuYyI6ICJBMTI4Q0JDX0hTMjU2IiwgImFsZyI6ICJSU0FFU19QS0NTMV9WMV81IiB9.Ed7JMXgqmqYzJ9SXNwVzJ5uuepKwdI5F8i6mG9zknaPcAizSU1XU7E892iXjJWOYcvPbe6FDQyhPIDcNw0lCoS157nJR6LTle7K79hy-NTQwuL8zDjjj8221WuJTaDAlwKssmY8d0xKxIBsHjYVRSmtBVJwK0zRt9FRxcSDMwrM.JXn8xuLqhdJSPai7nWnleA
Параметры запроса
-
msisdn - номер телефона, необязательный параметр
-
service - идентификатор OAuth2-агента (client_id), необязательный параметр
-
size - количество записей на страницу, необязательный параметр
-
page - номер страницы, необязательный параметр
В случае успешного получения списка сессий, будет возвращён постраничный список текущих активных сессий.
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 638
{
"content": [
{
"executionId": "b77a11ae-231b-4115-9756-2454dfc1b5f1",
"ipAddress": "194.44.214.32",
"startDate": "2017-12-06T15:03:06.160Z",
"device": "Asus",
"os": "Microsoft Windows 10",
"city": "UA Львов",
"authMethod": "login_password",
"userAgent": "Google Chrome 47",
"browser": "Chrome/40.0.2214.115",
"msisdn": "79876543210"
},
{
"executionId": "a37b95de-496b-4115-9756-0ba309b5b5f1",
"ipAddress": "194.44.214.32",
"startDate": "2017-12-06T15:03:06.160Z",
"device": "Asus",
"os": "Microsoft Windows 10",
"city": "UA Львов",
"authMethod": "login_password",
"userAgent": "Google Chrome 47",
"browser": "Chrome/40.0.2214.115",
"msisdn": "79876543210"
}
],
"last": true,
"totalPages": 1,
"totalElements": 2,
"first": true,
"numberOfElements": 2,
"size": 20,
"number": 0
}
Параметры ответа
-
content - содержит в себе список полученных сессий, где:
-
executionId - уникальный идентификатор токена, не отображается, если currentSession = true
-
ipAddress - IP адрес, с которого был запрошен токен
-
startDate - дата получения токена
-
device - устройство с которого был запрошен токен
-
os - операционная система, которая установлена на устройстве
-
browser - браузер
-
city - город
-
msisdn - MSISDN
-
authMethod - способ аутентификации
-
userAgent - устройство
-
-
last - указывает, что текущая страница в ответе является последней
-
totalPages - количество страниц доступных для просмотра
-
totalElements - общее количество сессий доступных для просмотра
-
first - указывает, что текущая страница в ответе первая
-
numberOfElements - количество сессий в текущем ответе
-
size - размер страницы
-
number - номер текущей страницы, начинается с 0
Завершение активных сессий по идентификаторам сессий
Пример запроса
DELETE /sso/api/sessionList/cc-process?executionIds={executionIds}
Host: {{sso_host}}
Authorization: Bearer sso_1.0_eyAiY3R5IjogIkpXVCIsICJ0eXAiOiAiand0IiwgImVuYyI6ICJBMTI4Q0JDX0hTMjU2IiwgImFsZyI6ICJSU0FFU19QS0NTMV9WMV81IiB9.Ed7JMXgqmqYzJ9SXNwVzJ5uuepKwdI5F8i6mG9zknaPcAizSU1XU7E892iXjJWOYcvPbe6FDQyhPIDcNw0lCoS157nJR6LTle7K79hy-NTQwuL8zDjjj8221WuJTaDAlwKssmY8d0xKxIBsHjYVRSmtBVJwK0zRt9FRxcSDMwrM.JXn8xuLqhdJSPai7nWnleA
Параметры запроса
{executionIds} - список UUID’ов сессий, которые требуется завершить, разделённых запятой
Завершение активных сессий по идентификатору пользователя
Пример запроса
DELETE /sso/api/sessionList/cc-process?principalId={principalId}
Host: {{sso_host}}
Authorization: Bearer sso_1.0_eyAiY3R5IjogIkpXVCIsICJ0eXAiOiAiand0IiwgImVuYyI6ICJBMTI4Q0JDX0hTMjU2IiwgImFsZyI6ICJSU0FFU19QS0NTMV9WMV81IiB9.Ed7JMXgqmqYzJ9SXNwVzJ5uuepKwdI5F8i6mG9zknaPcAizSU1XU7E892iXjJWOYcvPbe6FDQyhPIDcNw0lCoS157nJR6LTle7K79hy-NTQwuL8zDjjj8221WuJTaDAlwKssmY8d0xKxIBsHjYVRSmtBVJwK0zRt9FRxcSDMwrM.JXn8xuLqhdJSPai7nWnleA
Параметры запроса
{principalId} - идентификатор пользователя, все активные сессии которого необходимо завершить