Сервис уведомлений
Назначение
Notification Service обеспечивает доставку системных и пользовательских уведомлений по различным каналам — внутри интерфейса платформы, по электронной почте или другим внешним системам. Это помогает пользователям своевременно реагировать на изменения в системе и принимать действия в актуальном контексте.
Ключевые возможности
Notification Service предоставляет универсальные механизмы для генерации и маршрутизации уведомлений:
- Формирование уведомлений по событиям, происходящим в других сервисах (например, изменение задачи, новый комментарий, смена статуса объекта).
- Поддержка нескольких каналов доставки: web-интерфейс, e-mail, push-уведомления (опционально).
- Поддержка подписки на события и настройка типов уведомлений на уровне пользователя или роли.
- Возможность приоритезации и группировки уведомлений.
- Хранение истории уведомлений и отметок о прочтении.
Функциональные возможности
№ | Особенность возможность | Описание |
1. | Доставка уведомлений по различным каналам связи | Сервис уведомлений реализует доставку уведомлений по различным каналам связи, таким как отправка e-mail и уведомления по каналу вебсокетов. |
2. | Регистрация источников уведомлений | Сервис уведомлений реализует функциональность регистрации источников уведомлений с привязкой к событиям и сообщениям, которые данные источники могут отправлять. Данная функциональность позволяет гарантировать, что источник событий, которым является сервис платформы, может отправлять пользователю только зарегистрированные за ним уведомления. |
3. | Локализация сообщений | Сервис уведомлений позволяет регистрировать для источника и для одного события этого источника несколько локализованных сообщений. В зависимости от выбранного пользователем языка пользователю будет отправлено соответствующее сообщение. |
4. | Параметризация сообщений | Сообщения при регистрации источника могут быть параметризованы. Таким образом при отправке события сервису уведомлений источник может дополнительно добавить некоторые данные, которые будут подставлены в параметризованное сообщение при отправке пользователю. Данная функциональность может быть использована при отправке ссылки на объект платформы. При получении сообщения пользователь будет иметь возможность открыть объект в интерфейсе просто перейдя по ссылке. |
5. | Асинхронное получение уведомлений | Сервис уведомлений реализует получение уведомлений. Это реализовано за счет использования брокера сообщений и предварительным сохранением уведомлений в базу данных. Данная особенность позволяет увеличить производительность системы и оптимизировать затраты используемых ресурсов. |
6. | Гарантированная доставка уведомлений пользователям | Возможна ситуация, когда в момент попытки отправки уведомления недоступен либо сам сервис уведомлений, либо недоступна служба, отвечающая за отправку уведомления по конкретному каналу. Для решения этой проблемы использован подход, получивший название “Гарантированная доставка”. |
7. | Настройка подписки пользователем на получаемые уведомления | В сервисе уведомлений реализована функциональность настройки пользователем подписки на те события системы, о которых он хочет получать уведомления. |
8. | Истории уведомлений | В данном сервисе реализована функциональность сохранения истории уведомлений пользователей. Пользователь может просмотреть данную историю. |