> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Уведомления (доставка и доступ)

> Единая система уведомлений Yume: событие компании с персональным состоянием прочтения и архивации, веер доставки по трём каналам (веб, мобильный push, Telegram), группировка в 30-минутном окне, «клейм-раз» уведомления и матрица доступа источник × тема на каждого сотрудника.

Приложение уведомлений — это единая система оповещений Yume. В её основе лежит одно **событие компании**: новый заказ, задача,
документ или сигнал из интеграции превращаются в одну запись-уведомление, у которой при этом есть **персональное состояние** —
прочтения и архивации — отдельно для каждого получателя. Как только уведомление создано, автоматически запускается веер доставки
и раскладывает сообщение по трём каналам: веб (обновление ленты в браузере в реальном времени), мобильный push и Telegram.

Ключевая идея: прикладной код не рассылает сообщения вручную. Он лишь создаёт уведомление с текстом, темой и адресом объекта, а
система сама подбирает получателей по матрице доступа «источник × тема», решает, кому и по каким каналам показывать событие,
и умеет сворачивать поток однотипных событий в одну сгруппированную запись со счётчиком. Отдельный режим «клейм-раз» показывает
уведомление всем адресатам, но «забрать» его может только один.

## Разделы

<CardGroup cols={2}>
  <Card title="Модель и веер доставки" icon="sitemap" href="/ru/logic/notifications/model-dispatch">
    Модели уведомления и персонального состояния получателя, сигнал при создании и разветвление доставки по каналам с учётом доступов сотрудников.
  </Card>

  <Card title="Создание и группировка" icon="layer-group" href="/ru/logic/notifications/creation-grouping">
    Фоновые задачи создания уведомлений: одиночные, обновление по объекту и сгруппированные в 30-минутном окне с накоплением счётчика и списка сообщений.
  </Card>

  <Card title="Каналы доставки" icon="tower-broadcast" href="/ru/logic/notifications/delivery-channels">
    Транспортные задачи и сервис доставки: веб через сервис реального времени, мобильный push с деактивацией мёртвых токенов и рассылка в Telegram.
  </Card>

  <Card title="Чтение, архивация и список" icon="envelope-open" href="/ru/logic/notifications/read-archive">
    Список уведомлений, счётчик непрочитанных, отметки прочтения и архивации, включая логику «первый выиграл» для клейм-раз уведомлений и фильтры.
  </Card>

  <Card title="Push-токены устройств" icon="mobile-screen" href="/ru/logic/notifications/push-tokens">
    Регистрация и отписка push-токенов мобильных устройств сотрудника с уникальностью по устройству и типом платформы.
  </Card>

  <Card title="Привязка Telegram" icon="paper-plane" href="/ru/logic/notifications/telegram-link">
    Привязка и отвязка аккаунта сотрудника к Telegram-боту по одноразовому коду подтверждения.
  </Card>

  <Card title="Доступ и настройки" icon="sliders" href="/ru/logic/notifications/access-settings">
    Матрица доступа «источник × тема» на каждого сотрудника, каталог каналов и тем и массовое редактирование настроек уведомлений.
  </Card>
</CardGroup>

## Как всё устроено

Фундамент модуля — пара сущностей: **событие компании** (одно на факт) и **персональное состояние получателя** (одно на каждого
сотрудника, у которого хранится признак прочтения и архивации). На этом фундаменте держится всё остальное. Персональное состояние
устроено намеренно скупо: наличие строки означает «прочитано», а отдельный признак архива — более сильное состояние поверх него.
Это описано в разделах [«Модель и веер доставки»](/ru/logic/notifications/model-dispatch) и
[«Чтение, архивация и список»](/ru/logic/notifications/read-archive).

Дальше идёт поток «сверху вниз». Прикладной код ставит одну из фоновых задач создания — разовую, обновление по объекту или
сгруппированную в скользящем 30-минутном окне (см. [«Создание и группировка»](/ru/logic/notifications/creation-grouping)). Задача
записывает уведомление в базу, и сам факт сохранения запускает веер доставки. Веер не рассылает ничего сам: он подбирает
получателей по матрице доступа и ставит в очередь транспортные задачи — по одной на канал (см.
[«Каналы доставки»](/ru/logic/notifications/delivery-channels)). Мобильный канал опирается на
[push-токены устройств](/ru/logic/notifications/push-tokens), а Telegram — на предварительную
[привязку чата к сотруднику](/ru/logic/notifications/telegram-link).

Поперёк всего этого работает слой доступа. Матрица «источник × тема» на каждого сотрудника (см.
[«Доступ и настройки»](/ru/logic/notifications/access-settings)) — это предохранитель веерной рассылки: даже созданное событие
дойдёт до конкретного человека по конкретному каналу только тогда, когда у него включена соответствующая ячейка.

<Note>
  Тема события — сквозной ключ модуля. Одно и то же значение темы управляет тремя разными механизмами: отбором получателей в
  [веере доставки](/ru/logic/notifications/model-dispatch), объединением событий в
  [сгруппированное уведомление](/ru/logic/notifications/creation-grouping) и переключателями в
  [матрице доступа](/ru/logic/notifications/access-settings). Поэтому корректно проставленная тема важнее, чем кажется на первый взгляд.
</Note>

Полный перечень моделей и полей — в глоссариях соответствующих разделов.
