Відправлення повідомлень користувачам: Send User Notification v2
1. Загальна інформація
Інтеграційне розширення Send User Notification v2 дозволяє налаштовувати автоматичне надсилання повідомлень користувачам через внутрішні та зовнішні канали в рамках бізнес-процесу. Делегат дозволяє адаптувати формат і зміст повідомлень на основі динамічних шаблонів у регламенті, а також вибирати Keycloak-реалми доставлення. Використовується у завданнях типу Send Task.
| Назва | Пояснення |
|---|---|
Бізнес-назва інтеграційного розширення |
Send User Notification v2 |
Службова назва інтеграційного розширення |
|
Назва файлу у бібліотеці розширень |
|
2. Перед початком
|
Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. |
3. Налаштування
Делегат Send User Notification v2 призначений для використання у завданнях типу Send Task бізнес-процесу. Він дозволяє налаштувати ключові параметри відправки повідомлень, включаючи отримувача, шаблон, мовні налаштування, та реалми доставлення.
| Повідомлення можуть надсилатися через кілька каналів, включаючи inbox, електронну пошту або мобільний додаток "ДіЯ" (за умови їхньої активації). |
3.1. Налаштування завдання
-
Створіть завдання типу Send Task у бізнес-процесі.
-
Назвіть завдання, наприклад,
Відправлення повідомлення в inbox. -
Застосуйте шаблон делегата, обравши Send User Notification v2 у списку налаштувань завдання.

3.2. Налаштування делегата
Для налаштування делегата вкажіть наступні параметри:
- Recipient
-
У полі Recipient вкажіть ідентифікатор отримувача повідомлення. Наприклад, для відправки повідомлення ініціатору процесу, можна використати JUEL-функцію
initiator():${initiator().userName}Для надсилання повідомлення користувачу, який завершив попереднє завдання, використовуйте функцію
completer():${completer('taskDefinitionId').userName}де
taskDefinitionId— ID попередньої задачі. - Realm
-
Виберіть Realm для відправлення повідомлень, залежно від типу користувача, наприклад,
CITIZENдля отримувачів послуг абоOFFICERдля надавачів. - Notification message template
-
У полі Notification message template вкажіть шаблон повідомлення. Для динамічного визначення шаблону за значенням форми, використовуйте JUEL-функцію
submission(). Наприклад, цей вираз отримає значення шаблону зі стартової форми у бізнес-процесі:${submission('start').formData.prop('templateName').value()}Шаблон можна налаштувати як константний, вказавши назву шаблону повідомлення напряму. Головне, щоб значення цього поля збігалося із назвою шаблону у регламенті реєстру. Наприклад, business-process-notification-template. - Notification template model
-
У полі Notification template model вкажіть змінну
${templateModel}, яка зберігає дані для заповнення шаблону. Ця змінна створюється попереднім Groovy-скриптом і включає значення полів форми. Наприклад, дату відкриття кредиту (dateCredOpen) та ім’я кредитора (creditor). - Notification Language
-
У полі Notification Language вкажіть мову, наприклад,
deдля німецької.Значення має відповідати стандарту ISO 639-1. Якщо поле порожнє, буде використана мова за замовчуванням у реєстрі. Для автоматичного вибору мови, обраної користувачем у Кабінеті, скористайтеся JUEL-функцією
completer()і методомlanguage. Наприклад:${completer(<task_id>).language}де
<task_id>— ідентифікатор завдання користувача у бізнес-процесі.
4. Приклад використання у бізнес-процесі
4.1. Опис бізнес-процесу
Цей бізнес-процес автоматизує відправлення повідомлень у канали користувача, якщо вони увімкнені. Процес включає два ключові етапи:
-
Підготовка шаблону повідомлення.
-
Відправлення повідомлення користувачеві.
Де можна знайти приклад бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Send User Notification v2 — делегат, який використовується у всіх бізнес-процесах, які потребують відправлення повідомлень користувачам у різні канали зв’язку. Ви можете використати один із багатьох прикладів процесів за пошуком по ключовим словам — feature-bpmn-send-inbox-with-form.
У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги. |
4.2. Кроки процесу
-
Старт процесу:
-
Процес розпочинається подією Start Event, де завантажуються необхідні дані з форми, заповненої користувачем.
-
На цьому етапі визначаються динамічні параметри, як-от назва шаблону повідомлення
templateName.

-
-
Підготовка шаблону повідомлення:
-
Виконується завдання Script Task з Groovy-скриптом для підготовки даних шаблону.

-
Скрипт формує об’єкт
templateModelзі значеннями, отриманими з форми:import groovy.json.JsonSlurper def formData = submission('start').formData println "formData: " + formData def templateModel = S([:], 'application/json') templateModel.prop("dateCredOpen", formData.prop("dateCredOpen").value()) templateModel.prop("creditor", formData.prop("creditor").value()) execution.removeVariable('templateModel') set_transient_variable('templateModel', S(templateModel, 'application/json'))Цей скрипт виконує такі кроки:
-
Отримує дані з форми
formData, зокрема поляdateCredOpenіcreditor. -
Створює JSON-об’єкт
templateModelіз зазначеними даними. -
Зберігає змінну
templateModelяк транзитну, щоб зробити її доступною для наступного етапу.
-
-
Відправка повідомлення:
Виконується завдання Send Task з делегатом Send User Notification v2 для відправки сформованого повідомлення користувачу. Опис налаштувань див. у розділі вище.

4.3. Результат виконання
Цей бізнес-процес автоматизує відправлення повідомлень, що містить дані про відкриття кредиту. Користувач отримає повідомлення у скриньку повідомлень (inbox) Кабінету, а також через інші канали зв’язку (якщо вони активовані), із відповідною мовною локалізацією та контекстуально налаштованим змістом повідомлення.
| Детальніше про локалізовані повідомлення у реєстрі див. на сторінці registry-admin/user-notifications/localized-notifications.adoc. |
