Примеры использования API сервиса
Во всех примерах используются только POST-запросы. Конечный результат отправки уведомления можно будет увидеть в заглушках. Каждый тип уведомления имеет свою заглушку.
Добавление системы
Адрес для отправки запроса -
/v1/systems
.Тело запроса{ "systemName" : "systemName", "systemDescription" : "systemDescription" }
Добавление системной настройки для email-сообщений
Выполняется после того, как обработчик email-proxy был запущен и зарегистрировал схему.
Адрес для отправки запроса -
/v1/systems/{systemId}/notificationTypes
.Тело запроса{ "code" : "email", "settings": { "protocol": "smtp", "host": "localhost", "port": 1025, "username": "red", "password": "password", "sslEnabled": false, "startTlsEnabled": true, "timeOutSeconds": 5, "skipCertificateCheck": true, "defaultFrom": "default@email.com", "defaultDisplayName": "Display Name" } }
Добавление системной настройки для push-уведомлений
Выполняется после того, как обработчик push-proxy был запущен и зарегистрировал схему.
Адрес для отправки запроса -
/v1/systems/{systemId}/notificationTypes
.Тело запроса{ "code" : "push", "settings": { "connectionTimeoutSeconds": 5, "sdkKey": { "type": "service_account", "project_id": "fcm-iddqd-2", "private_key_id": "a03705266ccc3b591dea022a8598c6cc35a23b3d", "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQC0WlgzuxPncZYd\n2yXcWzgkGiTUuyjo+tlAnV8l0ZyilknTnQitvm9n3im9VX9hvuCTicOySxzIdtcZ\nDv1a6ZwJtct9YxqZnl7JTeYzqpDbYER0qa0vUdd30xPkhdGtKKSgBJ7Q/B0zwME5\ntOZT23oPXvM5mIqxb/pAeRosU4LGOtqbkjhpotEfC05HzQ45wbsvp7XOcJsSmhuS\n69zA1yEfXpLyXIjNntI9/bZFPk9BLtIOVHotCHeO7K5qGcFZxtrF5VG++/GabHrB\nRhlEVUd0X0kjv3Dx9vVJ0KsyvbYHI2sa9PJtH1fbiVG0cyYMXS6cKOchIpUni9ZJ\nbw0YbnHhAgMBAAECgf8GNGDy7LEVLGGLKLmiwnsxPyS0oWL3q8yeyss16FuBWM7M\n3oFAzEN+8ifzfYMWoN7XgdaQyvG31jlgyc7Z6r0cuZ1IhZdmV0j8Hs8V1KD6xuGY\n2gaUJwFSg0dIJYNUUUKwxnfq0uqmbGS29xDlK+qrxNq9MxW8rSO4YuYb6j4lqa6E\nBQShfhdR4+wrqFe892bUDGQKNL1MIkAnrPqUnxFYR7FjwMkPozTDEg2SR+F+i27b\nFCRM1fxvG03VInpm5fQZtsE89S/k6fY28E3k0nS8wZ2h6+GigXvsRaK7dl8smerq\nXQpmvyBceByKT9MOBxUq0lZLTbJ1251Q9N6zq4ECgYEA6hCteBI9aphSitNUug/v\nwGPAbet91RbrIdSwBufbff89pzOeqBZrg/JT7gmU/13Ee0dfKN7cVl6WSIXXE4IY\nHjKhmsu4hEO2bTtZ2y9sQd/G5NSC+vBxJzXtNyo4CN62k3XYFshh8iBaX6W6u5p8\n9bHp6TsJMh2+hGQmHHaP6IECgYEAxUEWZY5BoCYEaS6UkJL6UlfaIBzfyelcuFiZ\n8c68REBeWEC21evy0+YC5hfxPihAFDDt0BbCuEmhLb89b5NlZxLy6dvkyPacE0hF\nmmiB0wZyH8yE6d/89bv2Lctdt9uN6AGUqiDffBDf1sE0JbkIZHiNmZ1AmM9Wf0Yg\njHbS2WECgYBk7UoPYzYOV54H9HYtQJ/twlWAUDHTB23eCZrZb3KKktuf1DdOXVSA\n8aXVF1ajAmiti6nxsp8psuF0ZhnGdKs3ojdiywNGLPhlg1kMlRdGFFrr4uKTl8gC\n01L1HYRJ9tadIQxLTp5FTEQLyCeLq2LEgrHM+sLNVFwJNDHmxgzpgQKBgFZax0ZQ\nf/RvkFDH3qxoXAQ+h7S1T1eivT/LMiIFQrCSiXsTYbfHYvhXYv9+jdOLZXoxbXtC\n654oRdK0PV4iZis4xXWSGdfM9skOQ8J0bBmJYd7/91Q4BhNCZWTo+i9qg/aE8qOE\nXrJ+5K+sx3qYRc9OY5dTm5sKcjCn78nunyIhAoGBAOHL1qW6G+zkjKazpgck4L2Q\njYtm+7QJzsK7Bz6CUJDkHRnBD1HAYPIi0eBFaBl2F/bHmnXWQ5df7ZjS5wnRdKSH\nBqz8AVvlE99MGofXXSxikOeABUEDts6lLIFkmwukIeOlWtloWrI8llj3aTq1KVRM\n2upGenQIE8GRP0ETzk0v\n-----END PRIVATE KEY-----\n", "client_email": "firebase-adminsdk-cuizl@fcm-iddqd-2.iam.gserviceaccount.com", "client_id": "100006788729945453618", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-cuizl%40fcm-iddqd-2.iam.gserviceaccount.com" } } }
Добавление системной настройки для gaps-уведомлений
Выполняется после того, как обработчик gaps-proxy был запущен и зарегистрировал схему.
Адрес отправки запроса -
/v1/systems/{systemId}/notificationTypes
.Тело запроса{ "code": "GAPS", "settings": { "countReNotice": 3, "periodReNotice": "P3DT10H30M", "periodRegistryCollect": "PT24H", "periodTimeRegistryCollectValid": "P30DT24H", "readingNotification": true, "dynamicRouting": [ "SVDEV" ], "registryRouting": [ { "dynamicRouting": [ "PROD" ], "useGeneralRouting": false }, { "dynamicRouting": [], "useGeneralRouting": true } ] } }
Резолвинг шаблонов необходим для автоматической подстановки данных пользователя в переменные шаблона. Для этого в сервисе nc_user в таблице
userParams
хранятся все возможные параметры пользователей, а в таблице extraUserData
- значения нужных параметров для пользователя.При отправке уведомления по шаблону происходит проверка параметров содержания:
- если параметр найден в таблице параметров, то подставляется значение этого параметра из extraUserData пользователя;
- если параметр не найден в таблице параметров, то он должен быть заполнен из данных, пришедших в уведомлении.
Создание параметра
Адрес для отправки запроса -
/v2/user-params
.Тело запроса{ "paramId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "paramName": "age", "paramDescription": "Возраст", "type": "INTEGER" }
Создание дополнительных данных пользователя
Предусловия:
- пользовательский параметр создан;
- пользователь должен быть создан, профиль пользователя должен быть создан, настройки пользователя должны быть созданы.
Адрес для отправки запроса -
/v2/user/{userId}/user-params/data
.Тело запроса[ { "profileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "paramName": "age", "value": "25" } ]
Отправка уведомления по шаблону с использованием данных пользователя
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки уведомлений;
- пользовательские параметры созданы;
- шаблон создан;
- пользователь должен быть создан, профиль пользователя должен быть создан, настройки пользователя должны быть созданы, дополнительные данные пользователя должны быть заполнены.
Адрес для отправки запроса -
/v1/systems/{systemId}/users
.Тело запроса[ { "to": [ "to_user@gmail.com" ], "from": "from@gmail.com", "displayName": "filled display name", "subject": "Subject of the email", "importance": "HIGH", "contentType": "HTML", "content": "This is content of the email", "flag": "transactional" } ]
Балансировка уведомлений необходима для отправки уведомлений с разными приоритетами.
Создание признака уведомлений
Предусловие: система должна быть создана.
Адрес для отправки запроса -
/v1/systems/{systemId}/flags
.Тело запроса{ "name": "transaction", "description": "Транзакционное, высокий приоритет", "priority": "HIGH" }
Отправка уведомления с признаком
Предусловия:
- система должна быть создана и настроена для отправки уведомлений;
- признак должен быть создан.
Адрес для отправки запроса -
/v1/systems/{systemId}/email
.Тело запроса[ { "to": [ "to_user@gmail.com" ], "from": "from@gmail.com", "displayName": "filled display name", "subject": "Subject of the email", "importance": "HIGH", "contentType": "HTML", "content": "This is content of the email", "flag": "transactional" } ]
Во всех примерах используются только POST-запросы. Конечный результат отправки уведомления можно будет увидеть в заглушках. Каждый тип уведомления имеет свою заглушку.
Email-уведомления - уведомления, отправляемые на почтовый адрес получателя.
Отправка email-сообщения общего типа
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки email-уведомлений.
Адрес для отправки запроса -
/v1/systems/{systemId}/email
.Тело запроса[ { "to": [ "string@mail.ru" ], "cc": [ "string@mail.ru" ], "bcc": [ "string@mail.ru" ], "from": "string@gmail.com", "displayName": "string", "subject": "string", "importance": "HIGH", "contentType": "HTML", "content": "string", "reportForm": { "reportId": "string", "data": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" } }, "sendAfter": "2021-11-09T07:05:27.459Z", "sendSeparate": true } ]
Уведомление должно содержать content или reportForm (поля взаимоисключающие).
Отправка email-сообщения с пользовательскими данными
Добавление настроек пользователя для отправки email-сообщения
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки email-уведомлений;
- пользователь должен быть создан, профиль пользователя должен быть создан.
Для отправки уведомления пользователю необходимо задать настройки по адресу
/v2/systems/{systemId}/user-settings/user/{userId}/type/email?profileId=userProfile
.Тело запроса{ "to": ["example@mail.com"], "cc": ["example@mail.com"], "bcc": ["example@mail.com"], "enabled": { "value": true //при false отправка сообщения для типа уведомления будет запрещена } }
Отправка email-сообщения
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки email-уведомлений;
- пользователь должен быть создан, профиль пользователя должен быть создан, настройки пользователя должны быть созданы.
Адрес для отправки запроса -
/v1/systems/{systemId}/users
.Тело запроса{ "users": [ { "profileId": "userProfile", "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ], "notifications": [ { "type": "email", "title": "myTitle", "content": "myContent", "reportForm": { "reportId": "string", "data": { "content": "contentReportFrom" } }, "extraNotificationData": { "from": "test@mail.ru", "displayName": "string", "importance": "high", "contentType": "HTML" }, "sendAfter": "2021-12-01T09:15:24.151Z" } ] }
Уведомление должно содержать content или reportForm (поля взаимоисключающие).
Во всех примерах используются только POST-запросы. Конечный результат отправки уведомления можно будет увидеть в заглушках. Каждый тип уведомления имеет свою заглушку.
Gaps-уведомление - уведомление, отправляемое по каналу ГЭПС (Государственная электронная почтовая система) пользователю ЕПГУ (Госуслуги) с помощью СМЭВ (cистема межведомственного электронного взаимодействия).
Отправка gaps-уведомления общего типа
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки gaps-уведомлений.
Адрес отправки запроса -
/v1/systems/{systemId}/gaps
.Тело запроса[ { "from": "string", "sendTime": "2022-03-05T07:56:03.942Z", "sendAfter": "2022-03-05T07:56:03.942Z", "gapsRequest": { "attachmentsInfo": [ { "fileName": "string", "mimeType": "string", "recordId": 0, "sigName": "string", "uuid": "string" } ], "keyAlias": "string", "messageContent": { "generalData": { "foivId": "string", "messageType": "string", "reNotice": { "countReNotice": 3, "periodReNotice": "P3DT10H30M" }, "settings": { "periodRegistryCollect": "PT24H", "periodTimeRegistryCollectValid": "P30DT24H", "readingNotification": true } }, "records": [ { "recipientType": "RF_PASSPORT", "content": { "personDocument": { "docNumber": "string", "docSeries": "string" }, "param": [ { "name": "string", "value": "string" } ] }, "recordId": 1 }, { "recipientType": "IP_INN", "content": { "inn": { "inn" : "773421989212" }, "param": [ { "name": "string", "value": "string" } ] }, "recordId": 4 } ] } }, "useSystemSettings": false } ]
Отправка gaps-уведомления с пользовательскими данными
Добавление настроек пользователя для отправки gaps-уведомления
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки gaps-уведомлений;
- пользователь должен быть создан, профиль пользователя должен быть создан.
Для отправки уведомления пользователю необходимо задать настройки по адресу
/v1/systems/{systemId}/user-settings/user/{userId}/type/gaps?profileId=userProfile
.Тело запроса{ "enabled": { "value": true //при false отправка сообщения для типа уведомления будет запрещена } }
Отправка gaps-уведомления
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки push-уведомлений;
- пользователь должен быть создан, профиль пользователя должен быть создан, настройки пользователя должны быть созданы.
Адрес отправки запроса -
/v1/systems/{systemId}/users
.Тело запроса{ "users": [ { "profileId": "userProfile", "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ], "notifications": [ { "type": "gaps", "extraNotificationData": { "from": "string", "sendTime": "2022-03-05T07:56:03.942Z", "gapsRequest": { "attachmentsInfo": [ { "fileName": "string", "mimeType": "string", "recordId": 0, "sigName": "string", "uuid": "string" } ], "keyAlias": "string", "messageContent": { "generalData": { "foivId": "string", "messageType": "string", "reNotice": { "countReNotice": 3, "periodReNotice": "P3DT10H30M" }, "settings": { "periodRegistryCollect": "PT24H", "periodTimeRegistryCollectValid": "P30DT24H", "readingNotification": true } }, "records": [ { "recipientType": "RF_PASSPORT", "content": { "personDocument": { "docNumber": "string", "docSeries": "string" }, "param": [ { "name": "string", "value": "string" } ] }, "recordId": 1 }, { "recipientType": "IP_INN", "content": { "inn": { "inn": "773421989212" }, "param": [ { "name": "string", "value": "string" } ] }, "recordId": 4 } ] } }, "useSystemSettings": false }, "sendAfter": "2022-03-05T07:56:03.942Z" } ] }
Получение результата и проверка работоспособности для gaps-уведомлений
В результате успешной отправки в сервисе
gaps-proxy
(в логах консоли) можно будет увидеть уникальный номер успешно отправленного уведомления. По нему в будущем планируется получать информацию о статусе сообщения, в стороннем сервисе smev-proxy
, который и осуществляет отправку gaps-уведомлений клиентам.Получение сообщений об ошибках отправки уведомлений
Для просмотра истории и возникших ошибок смотрите логи. На текущий момент дополнительной реализации хранения ошибок не имеется.
Во всех примерах используются только POST-запросы. Конечный результат отправки уведомления можно будет увидеть в заглушках. Каждый тип уведомления имеет свою заглушку.
Push-уведомление - уведомление, отправляемое на устройства пользователя (на смартфон или в браузер клиента по device token).
Отправка push-уведомления общего типа
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки push-уведомлений.
Адрес для отправки запроса -
/v1/systems/{systemId}/push
.Тело запроса[ { "title" : "myTitle", "body" : "myBody", "image" : "myImage", "data": { "some-field" : "some-value" }, "reportForm": { "reportId": "string", "data": { "content": "contentReportFrom" } }, "sendAfter": "2021-11-18T07:50:45.042Z", "deviceTokens": [ "fuoclvYmXQEH3Z1zMaJCZe:APA91bHlquc24Cqt-jPM3Iop-E8hrUtwyjiZZj99_lARnwb7C3P-3vn7GzzQrlHuJnYULnv41LoaZxki418mDGCM9w8Bgc8spUWvUZ6xeYY0W4WdriBwrxyN0O7iB2fuvaYbXyR-_MLQ" ], "topic": "topicName", "condition": "conditionString" } ]
Уведомление должно содержать body или reportForm (поля взаимоисключающие).
Отправка push-уведомления с пользовательскими данными
Добавление настроек пользователя для отправки push-уведомления
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки push-уведомлений;
- пользователь должен быть создан, профиль пользователя должен быть создан.
Для отправки уведомления пользователю необходимо задать настройки по адресу
/v1/systems/{systemId}/user-settings/user/{userId}/type/push?profileId=userProfile
.Тело запроса{ "tokens": ["fuoclvYmXQEH3Z1zMaJCZe:APA91bHlquc24Cqt-jPM3Iop-E8hrUtwyjiZZj99_lARnwb7C3P-3vn7GzzQrlHuJnYULnv41LoaZxki418mDGCM9w8Bgc8spUWvUZ6xeYY0W4WdriBwrxyN0O7iB2fuvaYbXyR-_MLQ"], "enabled": { "value": true //при false отправка сообщения для типа уведомления будет запрещена } }
Отправка push-уведомления
Предусловия:
- система должна быть создана;
- система должна быть настроена для отправки push-уведомлений;
- пользователь должен быть создан, профиль пользователя должен быть создан, настройки пользователя должны быть созданы.
Адрес для отправки запроса -
/v1/systems/{systemId}/users
.Тело запроса{ "users": [ { "profileId": "userProfile", "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ], "notifications": [ { "type": "push", "title": "myTitle", "content": "myContent", "reportForm": { "reportId": "string", "data": { "content": "contentReportFrom" } }, "extraNotificationData": { "image" : "myImage", "data": { "some-field" : "some-value" }, "deviceTokens": [ "fuoclvYmXQEH3Z1zMaJCZe:APA91bHlquc24Cqt-jPM3Iop-E8hrUtwyjiZZj99_lARnwb7C3P-3vn7GzzQrlHuJnYULnv41LoaZxki418mDGCM9w8Bgc8spUWvUZ6xeYY0W4WdriBwrxyN0O7iB2fuvaYbXyR-_MLQ" ], "topic": "topicName", "condition": "conditionString" }, "sendAfter": "2021-12-01T09:15:24.151Z" } ] }
Уведомление должно содержать content или reportForm (поля взаимоисключающие).
В разделе описаны действия, которые необходимо выполнить, чтобы отправить sms-уведомление.
-
Создание системы. Вызовите метод
/v1/systems
.Тело запроса{ "systemName": "testSystem", "systemDescription": "Система для примера работы Центра уведомлений" }
-
Настройка системы. Вызовите метод
/v1/systems/{systemId}/notificationTypes
.Тело запроса{ "code": "sms", "settings": { "systemTypeProtocol": "smpp", "host": "fake-smpp-simulator", "port": 2775, "smscUsername": "smppclient", "smscPassword": "password", "defaultFrom": "272727" } }
-
Отправка сообщения. Вызовите метод
/v1/systems/{systemId}/sms
.Тело запроса{ "flag": "string", "phoneNumbers": ["+79105564132"], "text": "SMS-сообщение, отправляемое из Центра уведомлений" }
Группы пользователей используются для массовой рассылки уведомлений. Уведомление будет отправлено каждому пользователю, состоящему в группе.
Создание группы пользователей
Адрес для отправки запроса -
/v2/systems/{systemId}/groups
.Тело запроса{ "name": "Группа1", "description": "Тестовая группа" }
Добавление пользователя в группу
Предусловия:
- группа должна быть создана;
- пользователь должен быть создан.
Адрес для отправки запроса -
/v2/systems/{systemId}/groups/{groupId}/users
.Тело запроса[ { "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "profileId": "3fa85f64-5717-4562-b3fc-2c963f66afa7" } ]
Отправка уведомления по расписанию
В профиле пользователя задается расписание, в котором указывается, когда ему нельзя отправлять уведомления.
Чтобы настроить расписание:
-
Создайте пользователя.Request type=java
POST http://platform-gateway/notification-center-api-gateway/v2/user { "id":"3fa85f64-5717-4562-b3fc-2c963f66afa6”, "name":"Василий Петров” }
-
Создайте профиль пользователя.Request type=java
POST http://platform-gateway/notification-center-api-gateway/v2/user/3fa85f64-5717-4562-b3fc-2c963f66afa6/profile { "profileId": "work”, "name": "Рабочий” "isDefault": true }
-
В профиле пользователя заполните все поля, в том числе поле типа уведомления ("notificationType"). Для каждого типа уведомления может быть настроено разное расписание.
-
Пример настройки расписания для push-уведомлений:Тело запроса
{ "dnd": { "byDayWeek": [ { "dayOfWeeks": [ "SUNDAY", "SATURDAY" ], "from": "00:00", "to": "08:00" } ], "byPeriod": [ { "from": "2021-12-05T12:32:08.123184", "to": "2021-12-06T12:32:08.123221" } ], "offset": "+3" } "tokens": ["fuoclvYmXQEH3Z1zMaJCZe:APA91bHlquc24Cqt-jPM3Iop-E8hrUtwyjiZZj99_lARnwb7C3P-3vn7GzzQrlHuJnYULnv41LoaZxki418mDGCM9w8Bgc8spUWvUZ6xeYY0W4WdriBwrxyN0O7iB2fuvaYbXyR-_MLQ"] }
-
Пример настройки расписания для email-уведомлений:Тело запроса
{ "dnd": { "byDayWeek": [ { "dayOfWeeks": [ "SUNDAY", "SATURDAY" ], "from": "00:00", "to": "08:00" } ], "byPeriod": [ { "from": "2021-12-05T12:32:08.123184", "to": "2021-12-06T12:32:08.123221" } ], "offset": "+3" } "to": ["first@mail.ru", "second@email.ru"], "cc": ["copy@email.ru"] }
-
Пример настройки расписания для gaps-уведомлений:Тело запроса
{ "dnd": { "byDayWeek": [ { "dayOfWeeks": [ "SUNDAY", "SATURDAY" ], "from": "00:00", "to": "08:00" } ], "byPeriod": [ { "from": "2021-12-05T12:32:08.123184", "to": "2021-12-06T12:32:08.123221" } ], "offset": "+3" } "docNumber": "4563", "docSeries": "578468", }
-
Отложенная отправка
При отложенной отправке в сообщении указывается, что его нужно отправить после определенного времени. Это время задается в параметре "sendAfter".
Например, отложенная отправка email-уведомления в общем виде выглядит так:
Тело запроса[ { "to": [ "string" ], "cc": [ "string" ], "bcc": [ "string" ], "fileGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "from": "string", "displayName": "string", "subject": "string", "importance": "HIGH", "contentType": "HTML", "content": "string", "sendAfter": "2022-04-22T07:20:41.787Z", "sendSeparate": true } ]
Предусловие: система должна быть создана.
-
Добавление настроек системы.Адрес для отправки запроса -
/v1/systems
.Тело запроса{ "systemId" : "110841e3-e6fb-4191-8fd8-5674a5107c33", "code" : "WEBHOOK", "settings": { "url": { "fullUrl": "https://api.sberbank.ru/bot5951359449:AAFipGq_vvsrFrHzrCR54dkWRL7GDpCdkXo/sendMessage" }, "method": "POST", "headers": [ { "name": "Content-Type", "value": "application/json" } ] } }
-
Отправка уведомления.Адрес для отправки уведомления -
/v1/systems/{systemId}/webhook
.Тело запроса[ { "sendAfter": "2023-02-16T09:22:57.131Z", "body": { "chatid": "", "text": "" }, "timeOutSeconds": 5 } ]
Предусловия:
- система должна быть создана;
- настройки системы должны быть созданы.
-
Создание правила для отправки событий.Адрес для отправки запроса -
/v1/event-rules
.Тело запроса{ "ruleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "description": "string", "rules": { "created": "2023-02-20T09:19:08.437Z", "userGroups": [ "3fa85f64-5717-4562-b3fc-2c963f66afa6" ], "userParams": [ { "paramName": "string", "type": "TEXT", "value": "string" } ], "systemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "notificationFlag": "string", "templates": [ { "notificationType": "string", "notificationTitle": "string", "templateId": "string", "templateContentType": "HTML" } ], "throttling": { "window": 1, "windowUnit": "SECONDS", "threshold": 1, "mode": "REJECT" } }, "labels": [ "string" ] }
-
Создание триггера события, по которому инициируется отправка уведомлений.Адрес для отправки запроса -
/v1/event-trigger
.Тело запроса{ "triggerId": "110841e3-e6fb-4191-8fd8-5674a5107c33", "name": "nameTrigger", "ruleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "triggerRules": { "eventParams": { "everyYear": { "weekAndMonthOfYear": { "dayOfWeek": ["THURSDAY"], "numberOfWeek": "3", "monthOfYear": "1", "numberOfYear": "2023" } } }, "sendTime": "09:00", "offset": "+3", "repeatPeriod": [ { "from": "2023-02-17", "to": "2023-02-28" } ] } }
Предусловия:
- система должна быть создана;
- настройки системы должны быть созданы.
-
Создание правила для отправки событий.Адрес для отправки запроса -
/v1/event-rules
.Тело запроса{ "ruleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "description": "string", "rules": { "created": "2023-02-20T09:19:08.437Z", "userGroups": [ "3fa85f64-5717-4562-b3fc-2c963f66afa6" ], "userParams": [ { "paramName": "string", "type": "TEXT", "value": "string" } ], "systemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "notificationFlag": "string", "templates": [ { "notificationType": "string", "notificationTitle": "string", "templateId": "string", "templateContentType": "HTML" } ], "throttling": { "window": 1, "windowUnit": "SECONDS", "threshold": 1, "mode": "REJECT" } }, "labels": [ "string" ] }
-
Информирование о наступлении алерта.Адрес для отправки запроса -
/vmalert-plugin/master/v1
.Тело запроса[ { "startsAt":"2023-01-31T06:27:38.749374581Z", "generatorURL":"http://vmalert-vmalert-test-6ccc88db8c-jqvn7:8080/vmalert/alert?group_id=5379758941608612380&alert_id=10426903699200018610", "endsAt":"2023-01-31T06:31:38.749374581Z", "labels":{ "alertgroup":"vmalert", "alertname":"value between bounds", "app":"monitoring-rest", "instance":"monitoring-rest.gt-sol-dev-documentation-01.svc:8081", "job":"kubernetes-platform", "nodeId":"local", "severity":"major", "standId":"local", "tenant":"local", "version":"0.0.1-SNAPSHOT" }, "annotations":{ "description":"260 \u003c value 263 \u003c 270", "value":"263" } } ]
В демопримерах реализованы стандартные сценарии, демонстрирующие работу отдельных сервисов Платформы ГосТех. Отправка тестовых запросов в демопримерах позволит вам ознакомиться с функциями того или иного сервиса. Доступные демопримеры и описания реализованной в них функциональности представлены ниже.
Центр уведомлений
Регистрация пользователей и настройка их каналов связи. Отправка уведомлений (с заданным шаблоном или без), отслеживание статуса доставки