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 |
Внутренняя ошибка сервера |