Sending messages to users

🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions.

1. General overview

To meet the requirements for working with messages, the platform supports the following channels of communication with citizens:

  • inbox - sending in-app messages to the Citizen’s Cabinet inbox

  • email - sending mail messages to users using a platform or external mail server

  • diia - sending push-notifications to the Diya mobile application (UA specific)

2. Functional scenarios

  • Setting up registry communication channels through the Platform Web interface

  • Modeling of message formation templates at the level of individual communication channels

  • Modeling the steps of sending messages to users at the business process level

  • Sending messages to users according to configured preferences by communication channels

  • Sending service messages to users by the Platform via separate communication channels (OTP-code, etc.)

  • Viewing the list of in-app messages in the Citizen’s Portal by the user

  • Confirmation of in-app message viewing in Citizen’s Office by the user

3. User roles

  • Platform administrator - creation and subsequent configuration of registries Platform management web interface (communication channels, etc.)

  • Registry Administrator - registry settings via the Platform Management Web Interface (communication channels, etc.)

  • Administrator of regulations - creating message templates, modeling business processes with the steps of sending messages to users

  • User of the citizen’s portal - receiving notifications about the status or result of the business process according to the settings of the communication channels, receiving official messages

4. General provisions

  • The Platform provides an administrator interface for configuring registry communication channels

  • Platform provides an opportunity to model message templates separately for each of the communication channels

  • The Platform provides the ability to reuse message templates between business processes

  • The Platform provides specialized elements in a catalog of typical extensions to simplify the modeling of business processes with the step of sending messages to users

  • Platform takes into account preferences for communication channels of registered users when sending messages

  • Platform provides service opportunities for sending messages to users who are not registered in the system

  • The impossibility of sending a message through one of the channels should not block sending through other channels of communication with the user

  • Inbox communication channel for sending in-app messages is official and is used by the Platform unconditionally to guarantee notification of users about significant events

  • Sending messages to users is a significant event that should be recorded in the system audit log

  • The Platform is distributed with configured services to maintain registry communication channels as default options where possible

  • Sending messages should not block the flow of business process execution and should be performed asynchronously

  • Platform provides scaling and load control capabilities at the level of individual communication channels

  • To implement the interface of asynchronous interaction with the message sending subsystem, an approach using Kafka as a message broker was chosen, which provides guarantees of delivery and Exactly-Once message processing semantics

5. Notification by communication channels

This section provides examples of messages sent by Platform using supported communication channels.

5.3. Push notifications to the mobile application Diia

This functionality is specific to the Ukrainian implementation and may not apply or function as described in other contexts or regions. Please consult the local guidelines or documentation if you are implementing this outside Ukraine.
diia-notification