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

3.2. Налаштування делегата
Для налаштування делегата вкажіть наступні параметри:
- Recipient
-
У полі Recipient вкажіть ідентифікатор отримувача повідомлення. Наприклад, для відправки повідомлення ініціатору процесу, можна використати JUEL-функцію
initiator():${initiator().userName}Для надсилання повідомлення користувачу, який завершив попереднє завдання, використовуйте функцію
completer():${completer('taskDefinitionId').userName}де
taskDefinitionId— ID попередньої задачі. - Realm
-
Виберіть Realm для відправлення повідомлень, залежно від типу користувача, наприклад,
CITIZENдля отримувачів послуг абоOFFICERдля надавачів. - Subject
-
Вкажіть тему повідомлення як текст. Наприклад,
Автоматичне відправлення повідомлень у inbox-template-ubki. Це значення визначає заголовок повідомлення уinbox. - Notification message template
-
У полі Notification message template вкажіть назву шаблону повідомлення напряму, як константу. Наприклад,
feature-inbox-template-ubki. Важливо, щоб назва збігалася із наявним шаблоном у регламенті вашого реєстру.Шаблон повідомлення можна також отримати динамічно, наприклад, як значення з форми процесу. Докладніше про це ви можете дізнатися на сторінці Відправлення повідомлень користувачам: Send User Notification v2.
- 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. Опис бізнес-процесу
Цей бізнес-процес автоматизує відправлення повідомлень у inbox користувача. Процес включає два ключові етапи:
-
Підготовка шаблону повідомлення.
-
Відправлення повідомлення користувачеві.
Де можна знайти приклад бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Еталонний регламент з прикладами для України зберігається в репозиторії Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Send User Notification — делегат, який використовується у всіх бізнес-процесах, що потребують автоматичного надсилання повідомлень. Процес можна знайти за ключовими словами — feature-auto-send-inbox.
У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги. |
4.2. Кроки процесу
-
Старт процесу:
-
Процес розпочинається подією Start Event, де ініціатором визначається користувач, який отримає повідомлення. У полі Start initiator вкажіть
initiator.
-
-
Підготовка шаблону повідомлення:
-
Виконується завдання Script Task з Groovy-скриптом для підготовки даних шаблону.

-
Скрипт формує об’єкт
templateModelз поточною датою та ім’ям кредитора:import java.text.SimpleDateFormat def date = new Date() def dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss") def templateModel = S([:], 'application/json') templateModel.prop("dateCredOpen", dateFormat.format(date)) templateModel.prop("creditor", "Monobank") execution.removeVariable('templateModel') set_transient_variable('templateModel', S(templateModel, 'application/json'))Цей скрипт виконує такі кроки:
-
Створює об’єкт
templateModelта додає до нього поляdateCredOpen(з поточною датою) таcreditor(значення —Monobank). -
Зберігає
templateModelяк транзитну змінну для використання у наступному завданні.
-
-
Відправка повідомлення:
Виконується завдання Send Task з делегатом Send User Notification для відправки сформованого повідомлення користувачу. Опис налаштувань див. у розділі вище.

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