Модуль com.universe.mdm.notifications¶
Модуль отвечает за отправку уведомлений о различных событиях системы.
JSON схемы объектов модуль¶
NotificationExternalKey¶
NotificationExternalKey - внешний ключ записи. Содержит external id и систему-источник.
Поле |
Описание |
---|---|
externalId |
External id записи |
sourceSystem |
Система-источник этого external id |
Примеры:
Внешняя система источник:
{ "externalId": "test-code-3", "sourceSystem": "test" }
Система-источник universe:
{ "externalId": "4e8aa15e-6d85-11ee-9ece-c5dc042fcb12", "sourceSystem": "universe" }
NotificationRecordKeys¶
NotificationRecordKeys - ключи записи. Содержат имя реестра/справочника записи, etalon id и список NotificationExternalKey с внешними ключами записи.
Поле |
Описание |
Значения |
---|---|---|
entityName |
Имя реестра/справочника записи |
|
etalonId |
Etalon id записи |
|
externalKeys |
Список NotificationExternalKey записи |
Список Notification |
Пример:
Запись справочника:
{ "entityName": "lookup24173", "etalonId": "4e8aa15c-6d85-11ee-9ece-c5dc042fcb12", "externalKeys": [ { "externalId": "4e8aa15e-6d85-11ee-9ece-c5dc042fcb12", "sourceSystem": "universe" }, { "externalId": "test-code-3", "sourceSystem": "test" } ] }
LookupLinkAttribute¶
LookupLinkAttribute - значение атрибута типа "Ссылка на справочник".
Поле |
Описание |
Значения |
---|---|---|
codeType |
Тип кодового атрибута справочника, на который ссылается вставляемая запись |
"String"/"Integer" - строковый/целочисленный кодовый атрибут |
etalonId |
Etalon id записи справочника, на которую ссылается вставляемая запись |
|
value |
Значение кодового атрибута записи справочника, на которое ссылается вставляемая запись |
|
recordKeys |
Ключи NotificationRecordKeys записи справочника, на которые ссылается вставляемая запись |
NotificationRecordKeys object |
Примечания:
recordKeys = null, если параметр com.universe.mdm.notifications.notifications.fetchRecordKeys = false
Примеры:
Строковый кодовый атрибут с ключами записи справочника:
{ "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": { "entityName": "lookup24173", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "externalKeys": [ { "externalId": "4e9835f8-6d85-11ee-9ece-c5dc042fcb12", "sourceSystem": "universe" }, { "externalId": "test-code-5", "sourceSystem": "test" } ] } }
Целочисленный кодовый атрибут с ключами записи справочника:
{ "codeType": "Integer", "etalonId": "9f72f852-6f2c-11ee-acd5-c5dc042fcb12", "value": 22, "recordKeys": { "entityName": "lookup24173int", "etalonId": "9f72f852-6f2c-11ee-acd5-c5dc042fcb12", "externalKeys": [ { "externalId": "9d811270-6f2c-11ee-b55a-a176c542254c", "sourceSystem": "universe" } ] } }
Строковый кодовый атрибут без ключей записи справочника:
{ "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null }
Целочисленный кодовый атрибут без ключей записи справочника:
{ "codeType": "Integer", "etalonId": "9f72f852-6f2c-11ee-acd5-c5dc042fcb12", "value": 22, "recordKeys": null }
LookupLinkValueChanges¶
LookupLinkValueChanges - изменение значения атрибута типа "Ссылка на справочник".
Поле |
Описание |
Значения |
---|---|---|
type |
Тип события атрибута |
"ADDED"/"UPDATED"/"DELETED" - атрибут добавлен/изменен/удален |
previous |
Предыдущее значение атрибута |
LookupLinkAttribute object для простого атрибута |
value |
Значение кодового атрибута записи справочника, на которое ссылается вставляемая запись |
|
recordKeys |
Ключи NotificationRecordKeys записи справочника, на которые ссылается вставляемая запись |
NotificationRecordKeys object |
Примечания:
previous = null при добавлении атрибута. Список LookupLinkAttribute object для массив-атрибута. [] (пустой список) при добавлении значений в очищенный через UI массив-атрибут (в таком случае тип события - "UPDATED")
recordKeys = null, если параметр com.universe.mdm.notifications.notifications.fetchRecordKeys = false
Примеры:
Изменение значения простого атрибута без указания ключей:
{ "type": "UPDATED", "previous": { "codeType": "Integer", "etalonId": "9ae9edbc-6f2c-11ee-acd5-c5dc042fcb12", "value": 11, "recordKeys": null }, "actual": { "codeType": "Integer", "etalonId": "9f72f852-6f2c-11ee-acd5-c5dc042fcb12", "value": 22, "recordKeys": null } }
Изменение значения массива-атрибута без указания ключей:
{ "type": "UPDATED", "previous": [ { "codeType": "String", "etalonId": "4e83c387-6d85-11ee-9ece-c5dc042fcb12", "value": "code-2", "recordKeys": null }, { "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null } ], "actual": [ { "codeType": "String", "etalonId": "4e8aa15c-6d85-11ee-9ece-c5dc042fcb12", "value": "code-3", "recordKeys": null }, { "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null } ] }
Добавление значения простого атрибута без указания ключей:
{ "type": "ADDED", "previous": null, "actual": { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } }
ValueChanges¶
ValueChanges - содержит изменение значения атрибута.
Поле |
Описание |
Значения |
---|---|---|
type |
Тип изменения значения атрибута |
"ADDED"/"UPDATED"/"DELETED" - значение добавлено/изменено/удалено |
previous |
Предыдущее значение атрибута в виде строки |
|
actual |
Новое значение атрибута в виде строки |
Примечания:
Для previous и actual - отсутствие значения показывается как пустая строка ""
Примеры:
Добавление простого атрибута:
{ "type": "ADDED", "previous": "", "actual": "code-5" }
Изменение простого атрибута:
{ "type": "UPDATED", "previous": "code-5", "actual": "code-4" }
Добавление массив-атрибута:
{ "type": "ADDED", "previous": "", "actual": "[code-3, code-5]" }
Изменение массив-атрибута с очищением значений через UI, который возвращает пустой список:
{ "type": "UPDATED", "previous": "[code-3, code-5]", "actual": "[]" }
RecordChanges¶
RecordChanges - содержит информацию об изменении значений атрибутов записи / комплексного атрибута.
Поле |
Описание |
Значения |
---|---|---|
key |
Ключ атрибута |
|
attributes |
Измененные атрибуты |
Карта имя атрибута - ValueChanges object |
changeType |
Тип изменения |
"ADDED"/"UPDATED"/"DELETED" - значение добавлено/изменено/удалено |
lookupLinkAttributes |
Новое значение атрибута в виде строки |
Карта имя атрибута - LookupLinkValueChanges object |
Примечания:
key = null у всех, кроме экземпляров комплексного атрибута; "0", "1" и т.д. у экземпляров комплексного атрибута, число - это порядковый номер экземпляра в списке значений комплексного атрибута, поэтому при удалении комплексного атрибута и добавлении нового событие будет "UPDATED", а не "ADDED"
В changeType для комплексного атрибута событие "DELETED" будет показываться только в случае, когда уменьшилось количество экземпляров комплексного атрибута в записи
lookupLinkAttributes = null в случае com.universe.mdm.notifications.notifications.fetchLookupLinkAttributesLookupKeys=false; {} в случае com.universe.mdm.notifications.notifications.fetchLookupLinkAttributesLookupKeys=true и отсутствии изменений в атрибутах типа "Ссылка на справочник"
Пример:
Добавление атрибутов без комплексных:
{ "key": null, "attributes": { "str": { "type": "ADDED", "previous": "", "actual": "test12" }, "link": { "type": "ADDED", "previous": "", "actual": "code-5" } }, "changeType": "UPDATED", "lookupLinkAttributes": { "link": { "type": "ADDED", "previous": null, "actual": { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } } } }
RecordDiffResult¶
RecordDiffResult - содержит изменения значений атрибутов записи / комплексных атрибутов.
Поле |
Описание |
Значения |
---|---|---|
key |
Ключ атрибута |
null |
attributes |
Измененные атрибуты |
Карта имя атрибута - ValueChanges object |
changeType |
Тип изменения |
"ADDED"/"UPDATED"/"DELETED" - значение добавлено/изменено/удалено |
lookupLinkAttributes |
Новое значение атрибута в виде строки |
Карта имя атрибута - LookupLinkValueChanges object |
entityName |
Имя реестра/справочника записи |
|
nested |
Изменения комплексных атрибутов |
Карта имя комплексного атрибута - список RecordChanges object по одному RecordChanges object на один экземпляр измененного комплексного атрибута |
Примечания:
В changeType для комплексного атрибута событие "DELETED" будет показываться только в случае, когда уменьшилось количество экземпляров комплексного атрибута в записи
lookupLinkAttributes = null в случае com.universe.mdm.notifications.notifications.fetchLookupLinkAttributesLookupKeys=false; {} в случае com.universe.mdm.notifications.notifications.fetchLookupLinkAttributesLookupKeys=true и отсутствии изменений в атрибутах типа "Ссылка на справочник"
Примеры:
Изменение записи без изменения комплексных атрибутов:
{ "key": null, "attributes": { "str": { "type": "ADDED", "previous": "", "actual": "test12" }, "link": { "type": "ADDED", "previous": "", "actual": "code-5" } }, "changeType": "UPDATED", "lookupLinkAttributes": { "link": { "type": "ADDED", "previous": null, "actual": { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } } }, "entityName": "reg24173", "nested": {} }
Изменение записи с изменением комплексных атрибутов:
{ "key": null, "attributes": { "link": { "type": "ADDED", "previous": "", "actual": "code-5" }, "linkArr": { "type": "ADDED", "previous": "", "actual": "[code-3, code-5]" } }, "changeType": "UPDATED", "lookupLinkAttributes": { "link": { "type": "ADDED", "previous": null, "actual": { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } }, "linkArr": { "type": "ADDED", "previous": null, "actual": [ { "codeType": "String", "etalonId": "4e8aa15c-6d85-11ee-9ece-c5dc042fcb12", "value": "code-3", "recordKeys": null }, { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } ] } }, "entityName": "reg24173", "nested": { "nested": [ {//первый комплексный атрибут "key": "0", "attributes": { "link": { "type": "ADDED", "previous": "", "actual": "code-4" }, "linkArr": { "type": "ADDED", "previous": "", "actual": "[code-3, code-5]" } }, "changeType": "UPDATED", "lookupLinkAttributes": { "link": { "type": "ADDED", "previous": null, "actual": { "codeType": "String", "etalonId": "4e917f31-6d85-11ee-9ece-c5dc042fcb12", "value": "code-4", "recordKeys": null } }, "linkArr": { "type": "ADDED", "previous": null, "actual": [ { "codeType": "String", "etalonId": "4e8aa15c-6d85-11ee-9ece-c5dc042fcb12", "value": "code-3", "recordKeys": null }, { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } ] } } }, {//второй комплексный атрибут "key": "1", "attributes": { "link": { "type": "ADDED", "previous": "", "actual": "code-3" }, "linkArr": { "type": "ADDED", "previous": "", "actual": "[code-1, code-2]" } }, "changeType": "UPDATED", "lookupLinkAttributes": { "link": { "type": "ADDED", "previous": null, "actual": { "codeType": "String", "etalonId": "4e8aa15c-6d85-11ee-9ece-c5dc042fcb12", "value": "code-3", "recordKeys": null } }, "linkArr": { "type": "ADDED", "previous": null, "actual": [ { "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null }, { "codeType": "String", "etalonId": "4e83c387-6d85-11ee-9ece-c5dc042fcb12", "value": "code-2", "recordKeys": null } ] } } } ] } }
UpsertRecordEvent¶
UpsertRecordEvent - событие вставки записи, которое приходит в уведомлении в теле запроса пользователю.
Поле |
Описание |
Значения |
---|---|---|
id |
id уведомления |
|
entityName |
Имя реестра/справочника записи |
|
etalonId |
Etalon id записи |
|
originId |
Origin id записи |
|
timestamp |
Дата и время создания уведомления |
|
type |
Тип события вставки записи |
"CREATE"/"UPDATE" - создание/изменение записи |
attributes |
Новые значения атрибутов записи |
Карта имя атрибута - значение |
lookupLinkAttributes |
Новые значения атрибутов типа "Ссылка на справочник" |
Карта имя атрибута - значение Значение: LookupLinkAttribute object - простой атрибут список LookupLinkAttribute object - массив-атрибут |
relations |
Связи |
|
recordChanges |
Изменения значений атрибутов |
RecordDiffResult object |
Примечания:
attributes = null в случае com.universe.mdm.notifications.notifications.fetchResult=false. Незаполненные атрибуты не отображаются. В значении комплексного атрибута будет лежать список карт аналогичных attributes со значениями атрибутов вложенного объекта. Одна карта отвечает одному экземпляру комплексного атрибута. Отображаются только комплексные первого уровня вложенности
lookupLinkAttributes = null в случаях com.universe.mdm.notifications.notifications.fetchResult=false или com.universe.mdm.notifications.notifications.fetchLookupLinkAttributesLookupKeys=false. Незаполненные атрибуты не будут отображаться при com.universe.mdm.notifications.notifications.showAbsentLookupLinkAttributes=false и будут иметь значение null при com.universe.mdm.notifications.notifications.showAbsentLookupLinkAttributes=true. Для комплексных аналогично полю attributes кроме того, что комплексный не отображается, если в его модели вложенного объекта нет атрибутов типа "Ссылка на справочник" или если ни один из них не заполнен и com.universe.mdm.notifications.notifications.showAbsentLookupLinkAttributes=false
relations = null в случае com.universe.mdm.notifications.notifications.fetchResult=false
recordChanges = null при com.universe.mdm.notifications.notifications.changes=false. Примеры см. в RecordDiffResult
Примеры:
Создание записи без указания атрибутов и изменений:
{ "id": "a4cf28c2-3728-4376-9ee2-5d092ae10395", "entityName": "reg24173", "etalonId": "89c94b9a-71af-11ee-bb66-c5dc042fcb12", "originId": "8d6efb0d-71af-11ee-bb66-c5dc042fcb12", "timestamp": "2023-10-23T17:22:10.260", "type": "CREATE", "attributes": null, "lookupLinkAttributes": null, "relations": null, "recordChanges": null }
Создание записи с указанием атрибутов; атрибутов типа "Ссылка на справочник" без указания ключей и незаполненных атрибутов типа "Ссылка на справочник":
{ "id": "0ea08cc6-b417-46bb-b781-236f1293c1db", "entityName": "reg24173", "etalonId": "ec13b710-71b8-11ee-bb66-c5dc042fcb12", "originId": "ecdb25c3-71b8-11ee-bb66-c5dc042fcb12", "timestamp": "2023-10-23T18:29:15.799", "type": "CREATE", "attributes": { "str": "test7", "link": "code-1", "linkArr": [ "code-2", "code-1" ], "nested": [ //Комплексный атрибут с именем "nested", создано два атрибута { "str": "nested-1-test7", "link": "code-1" }, { "str": "nested-2-test7", "linkArr": [ "code-2", "code-1" ] } ] }, "lookupLinkAttributes": { //только атрибуты типа "ссылка на справочник" "link": { //простой атрибут link "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null }, "nested": [ //Комплексный атрибут с именем "nested", создано два атрибута { //первый комплексный атрибут "link": { //простой атрибут nested.link "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null } }, { //второй комплексный атрибут "linkArr": [ //массив-атрибут nested.linkArr { "codeType": "String", "etalonId": "4e83c387-6d85-11ee-9ece-c5dc042fcb12", "value": "code-2", "recordKeys": null }, { "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null } ] } ], "linkArr": [//массив-атрибут linkArr { "codeType": "String", "etalonId": "4e83c387-6d85-11ee-9ece-c5dc042fcb12", "value": "code-2", "recordKeys": null }, { "codeType": "String", "etalonId": "4e73e502-6d85-11ee-9ece-c5dc042fcb12", "value": "code-1", "recordKeys": null } ] }, "relations": {}, "recordChanges": null }
Создание записи с двумя комплексными атрибутами, у которых не заполнены атрибуты типа "Ссылка на справочник" (с указанием атрибутов), и атрибутов типа "Ссылка на справочник" (без указания ключей и незаполненных атрибутов):
{ "id": "0734bdd8-4b70-4233-90df-40b809dea344", "entityName": "reg24173", "etalonId": "4cc0298e-723c-11ee-bb66-c5dc042fcb12", "originId": "4d776aa1-723c-11ee-bb66-c5dc042fcb12", "timestamp": "2023-10-24T10:09:41.997", "type": "CREATE", "attributes": { "str": "test10", "link": "code-5", "nested": [//Комплексные атрибуты с незаполненными атрибутами типа "ссылка на справочник" { "str": "nested-1-test10" }, { "str": "nested-2-test10" } ] }, "lookupLinkAttributes": {//Комплексные атрибуты отсутствуют, потому что в них не заполнены атрибуты типа "ссылка на справочник" и com.universe.mdm.notifications.notifications.showAbsentLookupLinkAttributes=false "link": { "codeType": "String", "etalonId": "4e9835f6-6d85-11ee-9ece-c5dc042fcb12", "value": "code-5", "recordKeys": null } }, "relations": {}, "recordChanges": null }
Создание записи с незаполненными атрибутами типа "Ссылка на справочник" без указания незаполненных атрибутов:
{ "id": "2b110929-dc1c-4146-a468-f8d9b0e06a70", "entityName": "reg24173", "etalonId": "e2e114b4-723c-11ee-bb66-c5dc042fcb12", "originId": "e37da2d7-723c-11ee-bb66-c5dc042fcb12", "timestamp": "2023-10-24T10:13:53.631", "type": "CREATE", "attributes": { "str": "test11", "nested": [ { "str": "nested-1-test11" }, { "str": "nested-2-test11" } ] }, "lookupLinkAttributes": {}, //пусто "relations": {}, "recordChanges": null }
Изменение записи с незаполненными атрибутами типа "Ссылка на справочник" с указанием незаполненных атрибутов:
{ "id": "9af7f608-f6cf-48c7-9672-05e01b321065", "entityName": "reg24173", "etalonId": "e2e114b4-723c-11ee-bb66-c5dc042fcb12", "originId": "e37da2d7-723c-11ee-bb66-c5dc042fcb12", "timestamp": "2023-10-24T10:17:14.334", "type": "UPDATE", "attributes": { "str": "test11-edit", "nested": [ { "str": "nested-1-test11" }, { "str": "nested-2-test11" } ] }, "lookupLinkAttributes": { "link": null, "linkArr": null, "intLinkArr": null, "nested": [ { "link": null, "linkArr": null, "intLink": null, "intLinkArr": null }, { "link": null, "linkArr": null, "intLink": null, "intLinkArr": null } ], "int-link": null }, "relations": {}, "recordChanges": null }