Skip to content

Уведомления

Платформа доставляет уведомления в реальном времени через WebSocket и по email.

Типы уведомлений

СобытиеКому приходит
Ответ на комментарийАвтору исходного комментария
Упоминание @usernameУпомянутому пользователю
Реакция на постАвтору поста
Реакция на комментарийАвтору комментария
Новый пост от автора/сообществаПодписчикам с включёнными уведомлениями
Комментарий к посту с подпиской на уведомленияПодписчикам поста
Новый подписчикПользователю, на которого подписались
Личное сообщениеПолучателю сообщения
Пост снят с публикацииПодписчикам поста
Успешная / отменённая оплата подпискиПользователю с активной подпиской

Подписка на уведомления автора или сообщества

Помимо подписки на ленту (POST /follows/{user}), пользователь может включить push-уведомления о новых публикациях:

  • Подписаться на уведомления: POST /notifications (передаётся автор или сообщество)
  • Отписаться от уведомлений: DELETE /notifications

Доставка в реальном времени

Уведомления передаются через Laravel Reverb — WebSocket-сервер, встроенный в стек платформы.

При получении уведомления иконка колокольчика в шапке обновляется без перезагрузки страницы. Клик открывает список уведомлений.

Reverb настраивается через переменные REVERB_* в .env.

Email-уведомления

Уведомления могут дублироваться по email — если пользователь включил соответствующую настройку.

Для работы email-уведомлений необходимо настроить SMTP — см. Почта.

Настройки пользователя

Пользователь управляет уведомлениями в Настройки → Уведомления (/settings):

  • Включение / выключение уведомлений по типам
  • Email-уведомления: включить / отключить

Настройки хранятся в таблице user_notification_settings.

Обновление настроек: POST /settings/notification

Управление уведомлениями

ДействиеМаршрут
Получить списокGET /notifications
Подписаться на уведомления автора/сообществаPOST /notifications
Отписаться от уведомленийDELETE /notifications
Отметить все как прочитанныеPOST /notifications/readAll
Отметить все как просмотренныеPOST /notifications/sawAll

Released under the MIT License.