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

