1 04 API
sophrosyne edited this page 2026-10-06 21:53:18 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

REST API

REST API веб-панели СТАНКИН Анти-Спам. Все эндпоинты находятся под префиксом /api/v1/.

Интерактивная документация

При запущенном приложении интерактивная документация API доступна через Scalar по адресу:

http://localhost:12523/scalar

Scalar предоставляет полный список эндпоинтов, схем запросов и ответов, а также возможность тестирования запросов.

Аутентификация

API использует session-based аутентификацию. Сессия создаётся через POST /api/v1/auth/login и хранится в cookie. Все защищённые эндпоинты требуют наличия валидной сессии.

Права доступа:

  • Авторизованный пользователь — доступ к эндпоинтам спам-журнала, ограниченных пользователей, чатов и моделей
  • Суперпользователь — полный доступ: глобальные настройки, управление чатами, бэкапы

Эндпоинты

Аутентификация

Метод Путь Описание Права
GET /api/v1/auth/me Информация о текущем пользователе Авторизованный
POST /api/v1/auth/login Вход в систему Без авторизации
POST /api/v1/auth/logout Выход из системы Без авторизации

Спам

Метод Путь Описание Права
GET /api/v1/spam Список обнаруженного спама (пагинация) Авторизованный

Данные фильтруются по чатам, доступным пользователю. Суперпользователь видит все чаты.

Ограниченные пользователи

Метод Путь Описание Права
GET /api/v1/muted Список ограниченных пользователей (пагинация) Авторизованный

Настройки

Метод Путь Описание Права
GET /api/v1/settings Глобальные настройки Суперпользователь
GET /api/v1/settings/chat/{chat_pk} Настройки чата Авторизованный (по доступу)
PUT /api/v1/settings/global Обновление глобальных настроек Суперпользователь
PUT /api/v1/settings/chat/{chat_pk} Обновление настроек чата Авторизованный (по доступу)

Модели

Метод Путь Описание Права
GET /api/v1/models Список доступных BERT-моделей Авторизованный

Чаты

Метод Путь Описание Права
GET /api/v1/chats Список чатов Авторизованный
POST /api/v1/chats Добавление чата по Telegram ID Суперпользователь
DELETE /api/v1/chats/{chat_pk} Удаление чата Суперпользователь

Бэкап

Метод Путь Описание Права
POST /api/v1/backup Создание резервной копии БД Суперпользователь

Пагинация

Эндпоинты списков (/spam, /muted) поддерживают пагинацию через query-параметр page (номер страницы, начиная с 1). Количество записей на странице определяется глобальной настройкой PER_PAGE.

Ответ содержит метаданные пагинации:

{
  "items": [...],
  "pagination": {
    "current_page": 1,
    "total_pages": 5,
    "total": 48,
    "per_page": 10
  }
}

Коды ошибок

Код Описание
401 Не авторизован — сессия отсутствует или недействительна
403 Недостаточно прав — нет доступа к ресурсу или чату
404 Ресурс не найден
400 Некорректный запрос — неверные параметры или невыполнимое условие
500 Внутренняя ошибка сервера