Журнал изменений сущностей (changes)
Обзор
Предоставляет данные из журнала изменений сущностей доменного центра на основании указанных условий поиска.
При каждом создании, модификации или удалении ряда сущностей, информация об операции фиксируется в журнале изменений. Это происходит только для сущностей-дескрипторов, отмеченных в спецификации как обслуживаемых доменным центром.
Получение всех изменений журнала невозможна. Требуется указание по крайней мере одного из условий поиска. В ряде случаев требуется указание комбинации условий. Система подсказывает в теле ответа требуемые поля, если состав условий не подходит.
Например, можно искать все изменения за интервал времени, либо все изменения по конкретному объекту.
Запросы
| HTTP verb | Endpoint | Описание | 
|---|---|---|
| 
 | 
 | 
Получение данных из журнала
Запрос
| Имя | Тип | Описание | 
|---|---|---|
| 
 | 
 | Условия поиска в журнале изменений. Поля объекта условий. | 
| 
 | 
 | Фильтр по значениям полей обнаруженных записей журнала. | 
| 
 | 
 | Список полей для вывода. Доступные поля для выдачи: cmdtype, dtutc, modifierid, modifiername, objtype, objid, fields, obj. Для маскировки полей объекта (значения поля  | 
| 
 | 
 | Смещение в списке ресурсов, подлежащих выдаче. Это дополнительное смещение относительно смещения в условиях поиска. | 
| 
 | 
 | Максимальное количество ресурсов в списке. Это дополнительное ограничение относительно ограничения в условиях поиска | 
| 
 | 
 | Порядок сортировки ресурсов в списке. | 
| 
 | 
 | Преобразование в плоский вид составных полей. Применяется к содержанию объекта – значению поля  | 
| Имя | Тип | Описание | 
|---|---|---|
| 
 | 
 | Дата и время начала интервала. В формате RFC3339 в UTC, например  | 
| 
 | 
 | Дата и время начала интервала. В формате RFC3339 в UTC, например  | 
| 
 | 
 | Фильтр на тип операции: 
 | 
| 
 | 
 | Фильтр на тип сущности. Например  Применяется совместно с одним из условий  | 
| 
 | 
 | Фильтр на идентификатор объекта. Для сущностей, имеющих идентификатор. Применяется совместно с условием  | 
| 
 | 
 | Фильтр на ключевое поле объекта. Для сущностей, не имеющих идентификатор. Применяется совместно с условием  | 
| 
 | 
 | Смещение при выдаче данных из БД. | 
| 
 | 
 | Ограничение количества выдаваемых данных из БД. | 
GET /rest/v1/journal/changes?params={"objtype":"user","objid":"3063e0ff-2ce8-2f4e-f5e0-00241dd9a031"} HTTP/1.1Ответ
| Имя | Описание | 
|---|---|
| 
 | Тип операции с объектом. Варианты значений: 
 | 
| 
 | Дата-время проведения операции. Формат RFC3339 в UTC. | 
| 
 | Идентификатор учетной записи пользователя, от имени которой произведена операция. | 
| 
 | Имя учетной записи пользователя, от имени которой произведена операция. Фиксируется на момент проведения операции. | 
| 
 | Тип сущности. Например  | 
| 
 | Идентификатор или ключевое поле сущности. | 
| 
 | Строка с названиями полей объекта, в которых изменены значения.
Поля перечислены через запятую.
Значения композитных полей по ключам первого уровня указываются во flat-режиме, например  Поле присутствует только в объектах операций  | 
| 
 | Полное содержание объекта, аналогичное выдаче объекта через API. Для операций 
 | 
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
[
  {
    "cmdtype": "update",
    "dtutc": "2019-11-01T06:35:03.343Z",
    "modifierid": "71374fef-42f1-4e49-2069-faab905d4be2",
    "modifiername": "Administrator",
    "objtype": "user",
    "objid": "3063e0ff-2ce8-2f4e-f5e0-00241dd9a031",
    "fields": "name,opts.roles",
    "obj": {
      "id": "3063e0ff-2ce8-2f4e-f5e0-00241dd9a031",
      "login": "ivanov",
      "name": "Ivanov Alexey",
      "pwd": "*****",
      "timezone": "default",
      "opts": {
        "roles": ["admin"]
      },
      "ext": {
        "a": "1",
        "b": "asdfasdf",
        "c": 555.2,
        "d": 10,
        "e": {
          "x": 1,
          "y": "2",
          "z": false
        },
        "ct": "2019-08-01T07:02:01.52Z",
        "lwt": "2019-11-01T06:35:03.31Z"
      }
    }
  },
  {
    "cmdtype": "update",
    "dtutc": "2019-08-01T07:02:15.951Z",
    "modifierid": "71374fef-42f1-4e49-2069-faab905d4be2",
    "modifiername": "Administrator",
    "objtype": "user",
    "objid": "3063e0ff-2ce8-2f4e-f5e0-00241dd9a031",
    "fields": "opts.roles",
    "obj": {
      "id": "3063e0ff-2ce8-2f4e-f5e0-00241dd9a031",
      "login": "ivanov",
      "name": "Ivanov A",
      "pwd": "*****",
      "timezone": "default",
      "opts": {
        "roles": ["user"]
      },
      "ext": {
        "a": "1",
        "b": "asdfasdf",
        "c": 555.2,
        "d": 10,
        "e": {
          "x": 1,
          "y": "2",
          "z": false
        },
        "ct": "2019-08-01T07:02:01.52Z",
        "lwt": "2019-08-01T07:02:15.95Z"
      }
    }
  },
  {
    "cmdtype": "create",
    "dtutc": "2019-08-01T07:02:01.530Z",
    "modifierid": "71374fef-42f1-4e49-2069-faab905d4be2",
    "modifiername": "Administrator",
    "objtype": "user",
    "objid": "3063e0ff-2ce8-2f4e-f5e0-00241dd9a031",
    "obj": {
      "id": "3063e0ff-2ce8-2f4e-f5e0-00241dd9a031",
      "login": "ivanov",
      "name": "Ivanov A",
      "pwd": "*****",
      "timezone": "default",
      "opts": {},
      "ext": {
        "a": "1",
        "b": "asdfasdf",
        "c": 555.2,
        "d": 10,
        "e": {
          "x": 1,
          "y": "2",
          "z": false
        },
        "ct": "2019-08-01T07:02:01.52Z",
        "lwt": "2019-08-01T07:02:01.52Z"
      }
    }
  }
]