Внешние свойства пользователя

Обзор

Внешие свойства пользователя представлены в поле 'ext' сущности user.
Там размещаются опции, не используемые сервером в системных процессах, но могут использоваться приложениями, сценариями и микросервисами продуктового слоя.

Запросы

HTTP verb Endpoint Описание

GET

/rest/v1/user/info

Получение внешних свойств пользователя

PUT

/rest/v1/user/info

Замена внешних свойств пользователя

PATCH

/rest/v1/user/info

Изменение внешних свойств пользователя

Для всех запросов:
Тип домена: любой

Получение внешних свойств пользователя

Возвращает содержимое поля 'ext' учетной записи пользователя, исключая поля 'ct' и 'lwt'.

Содержимое произвольно.

Запрос

Пример запроса
GET /rest/v1/user/ext HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK

{
  "eraAppearance": {
    "color": "",
    "mode": "advanced",
    "theme": "light"
  },
  "r21adminData": {
    "mode": "advanced",
    "theme": "light"
  }
}

Замена внешних свойств пользователя

Полностью заменяет содержимое поля 'ext' учетной записи пользователя.

Передаваемое содержимое заменяет целиком предыдущее значение.

Значение 'null' не подлежит сохранению.

Ключи 'ct' и 'lwt' отфильтровываются.

Запрос

Пример запроса
PUT /rest/v1/user/ext HTTP/1.1
Content-Type: application/json

{
  "x" => "Test X",
  "y" => 2
}

Ответ

Пример ответа
HTTP/1.1 200 OK

{
  "x": "Test X"
  "y": 2
}

Изменение внешних свойств пользователя

Устанавливает содержимое поля 'ext' учетной записи пользователя.

Передаваемое содержимое сливается с предыдущим значением.
Для добавления значения по конкретному ключу, достаточно передать в содержимом только один этот ключ.

Удаление ключа доступно через передачу значения 'null' по ключу объекта.

Ключи 'ct' и 'lwt' отфильтровываются.

Запрос

Пример запроса
PATCH /rest/v1/user/ext HTTP/1.1
Content-Type: application/json

{
  "x" => "Test"
}

Ответ

Пример ответа
HTTP/1.1 200 OK

{
  "eraAppearance": {
    "color": "",
    "mode": "advanced",
    "theme": "light"
  },
  "r21adminData": {
    "mode": "advanced",
    "theme": "light"
  },
  "x": "Test"
}