API информации о пользователе на центральном сервере СУО Enter 4.4.3.0 (и выше)¶
Общие сведения¶
API работает по протоколу HTTP на порту, сконфигурированном для службы центрального сервера СУО (по умолчанию 82).
Запросы к API выполняются через HTTP-методы GET/POST.
Тело ответа имеет формат JSON, кодировку UTF-8.
- Доступ к API возможен в двух случаях:
Запрос выполняется с HTTP-заголовком Token, в котором указывается токен вашей системы, выданный вам администратором центрального сервера СУО. Если токен некорректный, сервер вернет ответ с HTTP-статусом 401 Unauthorized.
Запрос (без заголовка Token). Если в конфигурации СУО отключена возможность выполнять запросы без заголовка Token, сервер вернет ответ с HTTP-статусом 401 Unauthorized.
Формат ответа об ошибке
- Ответ об ошибке приходит с HTTP-статусом 4xx или 5xx в теле ответа приходит объект ErrorResponse.
Ответ с HTTP-статусом 4xx означает, что, вероятно, проблема на стороне интегратора или клиента.
Ответ с HTTP-статусом 5xx означает, что проблема произошла не по вине клиента или интегратора, и нужно обратится к владельцам системы с текстом ошибки.
Примечание
Если приходит UserMessage, то его обязательно нужно показать клиенту, если его нет, можно сказать общим планом, что что-то пошло не так. Если приходит Message, значит интегратору нужно обратить на него внимание, если его нет, то никак не нужно реагировать
ErrorResponse {
"UserMessage": string, // cообщение для пользователя
"Message": string // cообщение для интеграторов
}
Пример ответа на непринятый запрос
POST /api/1/ticketregistration/login/userTest HTTP/1.1
Token: a0adba90-b8a7-4fcd-9f73-787ae2eed727
Content-Length: 0
Host: center.suo.club:82
HTTP/1.1 401 Unauthorized
Content-Length: 138
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Access-Control-Allow-Origin: *
Date: Fri, 07 Jun 2019 10:01:21 GMT
{
"UserMessage": null,
"Message": "Внешняя система с токеном a0adba90-b8a7-4fcd-9f73-787ae2eed727 не найдена."
}
GET /api/1/config/users/bylogin/{login}¶
Возвращает информацию о пользователе по заданному логину.
Заголовки
Token (опциональный) - идентификатор внешней системы
Параметры
login - логин пользователя в системе
Формат ответа
{
Id, // Guid - ИД пользователя
Login, // String - логин
Name, // String - имя
SurName, // String - фамилия
IsDisabled, // Boolean - пользователь отключен
IntegrationId // String - идентификатор для API
}
Пример запроса
GET /api/1/config/users/bylogin/test1
HTTP/1.1
Content-Length: 0
Host: center.suo.club:82
Пример ответа
{
"Id": "62444aab-43b1-a6e0-65ff-7d79da98357c",
"Login": "test1",
"Name": "Тест",
"SurName": "1",
"IsDisabled": false,
"IntegrationId": null
}
GET /api/1/config/users/{enter_id}/available/servers¶
Возвращает информацию о серверах, к которым пользователь имеет доступ.
Заголовки
Token (опциональный) - идентификатор внешней системы
Параметры
enter_id - GUID пользователя в системе
Формат ответа
[
{
Id, // Guid - ИД филиала
Name, // String - название филиала
IsConnected, // Boolean - филиал подключен
WrongProtocol, // Boolean - филиал подключен с некорректной версией протокола
ClientId, // String - ключ установки
OrganizationName, // String
OrganizationFullName, // String
OrganizationAddress, // String
IntegrationId // String - идентификатор филиала для API
}
]
Пример запроса
GET /api/1/config/users/62444aab-43b1-a6e0-65ff-7d79da98357c/available/servers
HTTP/1.1
Content-Length: 0
Host: center.suo.club:82
Пример ответа
[
{
"Id": "81bef4c6-2136-d95b-f4b6-e4982ae3a72f",
"Name": "enter",
"IsConnected": true,
"WrongProtocol": false,
"ClientId": "enter",
"OrganizationName": "enter",
"OrganizationFullName": null,
"OrganizationAddress": "enter"
}
]
GET /api/1/config/users/{enter_id}/available/roles¶
Возвращает информацию о ролях, котоыре назначены пользователю в системе.
Заголовки
Token (опциональный) - идентификатор внешней системы
Параметры
enter_id - GUID пользователя в системе
Формат ответа
[
{
Id, // Guid - ИД роли
Name, // String - название роли
IntegrationId // String - идентификатор роли для API
}
]
Пример запроса
GET /api/1/config/users/62444aab-43b1-a6e0-65ff-7d79da98357c/available/roles
HTTP/1.1
Content-Length: 0
Host: center.suo.club:82
Пример ответа
[
{
"Id": "b5ed2ddd-abef-4dc7-86c7-336eaef07cd9",
"Name": "Оператор",
"IntegrationId": null
}
]
GET /api/1/config/groups¶
Возвращает информацию о группах пользователей, которые имеются на сервере.
Заголовки
Token (опциональный) - идентификатор внешней системы
Формат ответа
[
{
Id, // Guid - ИД группы
Name, // String - название группы
IntegrationId - String - идентификатор группы для API
ServerId - Guid - ИД сервера, к которому привязана группа
}
]
Пример запроса
GET /api/1/config/groups
HTTP/1.1
Content-Length: 0
Host: center.suo.club:82
Пример ответа
[
{
"Id": "56624fe4-07b7-42da-bbf7-4e3fcb5104ec",
"Name": "Инженеры-инспекторы",
"IntegrationId": null,
"ServerId": "ce91e566-9ecf-9892-5197-48f5b1af1eb8"
},
{
"Id": "3c372ad8-b9b5-d20a-9199-b0062bde954d",
"Name": "Профиль: Биометрические паспорта Выдача",
"IntegrationId": null,
"ServerId": null
},
{
"Id": "f6a2e5ba-498e-30e2-3518-3078bb443e30",
"Name": "Профиль: Биометрические паспорта Выдача (Ситуационная помощь)",
"IntegrationId": null,
"ServerId": null
}
]
GET /api/1/config/users/{enter_id}/groups¶
Возвращает информацию о группах, в которые пользователь уже входит и которые доступны для назначения.
Заголовки
Token (опциональный) - идентификатор внешней системы
Параметры
enter_id - GUID пользователя в системе
Формат ответа
{
AvailableGroups:[ - группы доступные пользователю для назначения
{
Id, // Guid - ИД группы
Name, // String - название группы
IntegrationId // String - идентификатор группы для API
ServerId // Guid - ИД сервера, к которому привязана группа
}
],
SelectedGroups:[ // группы, в которых пользователь уже состоит
{
Id, // Guid - ИД группы
Name, // String - название группы
IntegrationId // String - идентификатор группы для API
ServerId - Guid // ИД сервера, к которому привязана группа
}
]
}
Пример запроса
GET /api/1/config/users/62444aab-43b1-a6e0-65ff-7d79da98357c/groups
HTTP/1.1
Content-Length: 0
Host: center.suo.club:82
Пример ответа
{
"AvailableGroups": [
{
"Id": "3c372ad8-b9b5-d20a-9199-b0062bde954d",
"Name": "Профиль: Биометрические паспорта Выдача",
"IntegrationId": null,
"ServerId": null
},
{
"Id": "f6a2e5ba-498e-30e2-3518-3078bb443e30",
"Name": "Профиль: Биометрические паспорта Выдача (Ситуационная помощь)",
"IntegrationId": null,
"ServerId": null
}
],
"SelectedGroups": [
{
"Id": "c71c4f7c-e2c6-177a-20ba-255121b5c71e",
"Name": "Профиль: Сервисы МФЦ",
"IntegrationId": null,
"ServerId": null
}
]
}
POST /api/1/config/users/{enter_id}/groups?groupIds={groupIds}¶
Назначение пользователю нового списка групп, в которые он должен входить.
Заголовки
Token (опциональный) - идентификатор внешней системы
Параметры
groupIds (опциональный) - GUID пользователя в системе
Пример запроса
POST /api/1/config/users/62444aab-43b1-a6e0-65ff-7d79da98357c/groups ?groupIds=907df9d4-7e85-5501-0d8d-aa7e7492bf91
HTTP/1.1
Content-Length: 0
Host: center.suo.club:82