Группы пользователей (groups)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/domain/groups

Создание новой пользовательской группы

GET

/rest/v1/domain/groups

Получение списка пользовательских групп

GET

/rest/v1/domain/groups/<id>

Получение данных пользовательской группы

PATCH

/rest/v1/domain/groups/<id>

Изменение данных пользовательской группы

DELETE

/rest/v1/domain/groups/<id>

Удаление пользовательской группы

LOOKUP

/rest/v1/domain/groups

Поиск идентификатора пользовательской группы


Создание новой пользовательской группы

Запрос

Описание полей: group entity

Пример запроса
POST /rest/v1/domain/groups HTTP/1.1
Content-Type: application/json; charset=utf-8

group entity

Ответ

Описание полей: group entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "afafafaf-0178-3fc1-67fc-7cd30a921f58",
  "code": "groupA",
  "description": "",
  "users": [
    "00000001-abcd-abcd-abcd-abcdabcdabcd",
    "00000002-abcd-abcd-abcd-abcdabcdabcd"
  ],
  "groups": [
    "abcdef00-05b7-8163-948c-3392a9660db9"
  ],
  "opts": {
    "comment": "",
    "title": "",
    "roles": [
      "roleA1",
      "roleA2"
    ]
  },
  "ext": {
    "ct": "2022-04-15T13:37:03.82Z",
    "lwt": "2022-04-15T13:41:42.25Z"
  }
}

Получение списка пользовательских групп

Запрос

Table 1. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: id, code, description, users, groups, opts.title, opts.comment, opts.roles, ext.lwt, ext.ct.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/domain/groups?offset=0&limit=2 HTTP/1.1

Ответ

Описание полей: group entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "id": "afafafaf-0178-3fc1-67fc-7cd30a921f58",
    "code": "groupA",
    "description": "",
    "users": [
      "00000001-abcd-abcd-abcd-abcdabcdabcd",
      "00000002-abcd-abcd-abcd-abcdabcdabcd"
    ],
    "groups": [
      "abcdef00-05b7-8163-948c-3392a9660db9"
    ],
    "opts": {
      "comment": "",
      "title": "",
      "roles": [
        "roleA1",
        "roleA2"
      ]
    },
    "ext": {
      "ct": "2022-04-15T13:37:03.82Z",
      "lwt": "2022-04-15T13:41:42.25Z"
    }
  },
  {
    "id": "abcdef00-05b7-8163-948c-3392a9660db9",
    "code": "GroupB",
    "description": "",
    "users": [
      "00000003-abcd-abcd-abcd-abcdabcdabcd"
    ],
    "groups": [],
    "opts": {
      "comment": "",
      "title": "",
      "roles": [
        "roleB1",
        "roleB2"
      ]
    },
    "ext": {
      "ct": "2022-04-15T12:22:25.26Z",
      "lwt": "2022-04-15T12:22:25.26Z"
    }
  }
]

Получение данных пользовательской группы

Запрос

Table 2. Параметры запроса
Имя Тип Описание

mask

str

Список полей для вывода.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/domain/groups/afafafaf-0178-3fc1-67fc-7cd30a921f58 HTTP/1.1

Ответ

Описание полей: group entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "afafafaf-0178-3fc1-67fc-7cd30a921f58",
  "code": "groupA",
  "description": "",
  "users": [
    "00000001-abcd-abcd-abcd-abcdabcdabcd",
    "00000002-abcd-abcd-abcd-abcdabcdabcd"
  ],
  "groups": [
    "abcdef00-05b7-8163-948c-3392a9660db9"
  ],
  "opts": {
    "comment": "",
    "title": "",
    "roles": [
      "roleA1",
      "roleA2"
    ]
  },
  "ext": {
    "ct": "2022-04-15T13:37:03.82Z",
    "lwt": "2022-04-15T13:41:42.25Z"
  }
}

Изменение данных пользовательской группы

Поля запрещенные для изменения: id

Запрос

Описание полей: group entity

Пример запроса
PATCH /rest/v1/domain/groups/afafafaf-0178-3fc1-67fc-7cd30a921f58 HTTP/1.1
Content-Type: application/json; charset=utf-8

group entity

Ответ

Описание полей: group entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "afafafaf-0178-3fc1-67fc-7cd30a921f58",
  "code": "groupA",
  "description": "",
  "users": [
    "00000001-abcd-abcd-abcd-abcdabcdabcd",
    "00000002-abcd-abcd-abcd-abcdabcdabcd"
  ],
  "groups": [
  ],
  "opts": {
    "comment": "",
    "title": "",
    "roles": [
      "roleA1",
      "roleA2"
    ]
  },
  "ext": {
    "ct": "2022-04-15T13:37:03.82Z",
    "lwt": "2022-04-15T13:41:42.25Z"
  }
}

Удаление пользовательской группы

Запрос

Пример запроса
DELETE /rest/v1/domain/groups/afafafaf-0178-3fc1-67fc-7cd30a921f58 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Поиск идентификатора пользовательской группы

Производит поиск ресурса по указанному ключу, возвращает идентификатор(ы) для построения endpoint.

Ключевые поля для поиска: id, name

Запрос

Пример запроса
LOOKUP /rest/v1/domain/groups HTTP/1.1
Content-Type: application/json; charset=utf-8

"groupA"

Ответ

Пример успешного ответа
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8

[
  "afafafaf-0178-3fc1-67fc-7cd30a921f58"
]
Пример неуспешного ответа
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8

{
  "error_code": 1404,
  "error_message": "Lookup failed"
}