Учётные записи используются для идентификации запросов к API сервиса: для этого имя учётной записи пользователя передаётся в токене аутентификации. Учётная запись пользователя всегда является частью домена. Полномочия пользователя определяются назначенными ему ролями.
Для получения данных о текущем пользователе отправьте GET-запрос к /user
. Используйте параметр запроса _detailed = true
, чтобы получить данные учётной записи и сведения о группах и домене пользователя, или _detailed = false
для получения информации только об учётной записи.
curl -X GET \
--header 'Accept: application/json' \
--header 'Authorization: AR-REST dGVzdF91c2VyQHRlc3RfZG9tYWluOjE0ODM2MzQ3MjM6OTk5OTk5OTk5OjN3ZzgyRXVUd2VjMjkvT3ZRN215eUE9PQ==' \
'https://b2b-api.spectrumdata.ru/b2b/api/v1/user/_content=true'
{
"state": "ok",
"size": 1,
"stamp": "2021-09-16T08:11:16.540Z",
"data": [
{
"login": "test_user@test_domain",
"email": "test_user@spectrumdata.ru",
"contacts": " тел. +7 111-111-11-11",
"state": "ACTIVE",
"domain_uid": "test_domain",
"domain": {
"state": "ACTIVE",
"roles": "CLIENT,USER",
"uid": "test_domain",
"name": "Домен для системы тестирования",
"comment": "Домен для системы тестирования test_domain",
"tags": "test",
"created_at": "2021-07-07T07:38:48.312Z",
"created_by": "system",
"updated_at": "2021-08-26T08:46:58.599Z",
"updated_by": "system",
"active_from": "1900-01-01T00:00:00.000Z",
"active_to": "3000-01-01T00:00:00.000Z"
},
"groups": [
{
"roles": "USER",
"uid": "USERS@test_domain",
"name": "Пользователи",
"comment": "",
"tags": "",
"created_at": "2021-07-07T07:38:48.326Z",
"created_by": "system",
"updated_at": "2021-08-26T08:46:58.696Z",
"updated_by": "system",
"active_from": "1900-01-01T00:00:00.000Z",
"active_to": "3000-01-01T00:00:00.000Z"
}
],
"roles": "ADMIN,DOMAIN,ALL_REPORTS_READ,ALL_REPORTS_WRITE",
"data": {},
"uid": "test_user@test_domain",
"name": "Пользователь для системы тестирования",
"comment": "Пользователь для системы тестирования",
"tags": "",
"created_at": "2021-07-07T07:38:48.357Z",
"created_by": "system",
"updated_at": "2021-08-26T08:46:58.825Z",
"updated_by": "system",
"active_from": "1900-01-01T00:00:00.000Z",
"active_to": "3000-01-01T00:00:00.000Z"
}
]
}
Для создания новых или изменения существующих учётных записей пользователей отправьте POST-запрос к /domain/users
. В теле запроса передайте параметры учётной записи.
Если пользователя с указанным uid
ещё нет в системе, он будет создан. Если такой пользователь уже существует, то будут обновлены параметры этой учётной записи, указанные в теле запроса.
Возможные статусы пользователя: ACTIVATION_REQUIRED
, ACTIVE
, BANNED
.
Группы, в которых состоит пользователь, перечисляются в массиве groups_refs
. Для исключения пользователя из группы перед её идентификатором указывается префикс !
или -
. Если группа с указанным идентификатором не существует, она будет проигнорирована.
curl -X GET \
--header 'Accept: application/json' \
--header 'Authorization: AR-REST dGVzdF91c2VyQHRlc3RfZG9tYWluOjE0ODM2MzQ3MjM6OTk5OTk5OTk5OjN3ZzgyRXVUd2VjMjkvT3ZRN215eUE9PQ==' \
'https://b2b-api.spectrumdata.ru/b2b/api/v1//domain/users'
{
"data": [
{
"uid": "test_user@test_domain",
"name": "Пользователь для системы тестирования",
"comment": "Пользователь для системы тестирования",
"email": "test_user@spectrumdata.ru",
"contacts": " тел. +7 111-111-11-11",
"roles": "ADMIN",
"pass_hash": "ICy5YqxZB1uWSwcVLSNLcA==",
"groups_refs": [
"USERS1",
"-USERS2",
"!USERS3"
]
},
{
"uid": "test_user1@test_domain",
"name": "Пользователь для системы тестирования_1",
"comment": "Пользователь для системы тестирования",
"email": "test_user1@spectrumdata.ru",
"contacts": " тел. +7 111-111-11-11",
"roles": "ADMIN,DOMAIN_ADMIN,ALL_REPORTS_READ,ALL_REPORTS_WRITE",
"pass_hash": "A1QQQQQQQT1R9w==",
"groups_refs": [
"USERS1"
]
}
]
}
{
"state": "ok",
"size": 1,
"stamp": "2021-09-16T13:30:34.612Z",
"data": [
true
]
}
Для создания новых или изменения существующих групп пользователей отправьте POST-запрос к /domain/groups
. В теле запроса передайте параметры группы.
Если группы с указанным uid
ещё нет в системе, она будет создана. Если такая группа существует, то будут обновлены параметры группы, указанные в теле запроса.
curl -X GET \
--header 'Accept: application/json' \
--header 'Authorization: AR-REST dGVzdF91c2VyQHRlc3RfZG9tYWluOjE0ODM2MzQ3MjM6OTk5OTk5OTk5OjN3ZzgyRXVUd2VjMjkvT3ZRN215eUE9PQ==' \
'https://b2b-api.spectrumdata.ru/b2b/api/v1/domain/groups'
{
"data": [
{
"uid": "USERS",
"name": "Пользователи",
"roles": "USER"
},
{
"uid": "OPERATORS",
"name": "Операторы",
"roles": "OPERATOR"
}
]
}
{
"state": "ok",
"size": 1,
"stamp": "2021-09-17T07:04:20.390Z",
"data": [
true
]
}
Для доступа к управлению доменом (конечные точки раздела /domain
) пользователь должен иметь роль ADMIN
. Для выполнения пользовательских запросов (конечные точки раздела /user
) пользователь должен иметь роль USER
.
Доступ к операциям с отчётами определяется разрешениями для типа отчёта. Роль пользователя определяет права доступа ко всем отчётам домена.
Операция | Разрешения | Роль |
---|---|---|
Генерация нового отчёта | WRITE_REPORT |
ALL_REPORTS_WRITE |
Просмотр содержимого отчёта | READ_REPORT_CONTENT |
ALL_REPORTS_READ |
Получение списка отчётов | READ_REPORT_LIST |