Newer
Older
smart-home-server / docs / server-api-v1 / notifications.md

Система нотификации

  • Основное предназначение - комутировать системные и генерируемые скриптами уведомления, для централизованого вывода.
  • Уведомления доступны лишь авторизированным пользователям.
  • Уведомления могут быть предназначены всем, отдельным группам пользователей или отдельным пользователям. Со стороны использования API это не играет роли.
  • Сторонними считаются уведомлениями сгенерированные скриптами или инициированные внешним источним через API

Notification STRUCT

    {
        "id": 42,
        "user_id": 12,
        "type": "system", // "system" | "script" | "aside"
        "icon": "home", // Load from icon pack or url to img
        "title": "The notification",
        "body": "body of notification",
        "link": "http://...",
        "create_at": "2025-07-28 18:35"
    }

GET /api/v1/notifications/list

Список непрочитанных уведомлений

Пример ответа

    {
        "status": "ok",
        "notifications": {
            notification_struct...
        },
        "total": 10
    }

GET /api/v1/notifications/id/{{id}}/read

Отметить выбранноео уведомление как прочитанное

Пример ответа

    {
        "status": "ok",
        "notification": notification_struct...
    }

POST /api/v1/notifications/new

Запушить новое уведомление. Примечания:

  • type будет установлен в aside
  • Пушить сторонние уведомления можно лишь от имени администратора и выше.

Пример запроса

    {
        "icon": "home", // Load from icon pack or url to img
        "title": "The notification",
        "body": "body of notification",
        "link": "http://...",
    }

Пример ответа

    {
        "status": "ok",
        "notification": notification_struct...
    }

Пример НЕ успешного ответа. Не хватает прав

    {
        "status": "error",
        "message": "Permissions error" // "Permission error"
    }