Архитектура
Bedolaga предоставляет единый FastAPI-сервер на порту8080 с тремя областями API:
| Область | Префикс | Авторизация | Назначение |
|---|---|---|---|
| Web API | / | X-API-Key | Программное администрирование бота |
| Cabinet API | /cabinet/* | JWT Bearer | Личный кабинет пользователя |
| Cabinet Admin API | /cabinet/admin/* | JWT Bearer (admin) | Управление через веб-кабинет |
Авторизация
Web API — API Key
Все эндпоинты Web API требуют ключ в заголовке:POST /tokens.
Cabinet API — JWT
Cabinet использует JWT-токены (HS256):- Telegram WebApp:
POST /cabinet/auth/telegram— передатьinitData - Telegram Widget:
POST /cabinet/auth/telegram/widget— данные виджета - Email:
POST /cabinet/auth/email/login— email + пароль
POST /cabinet/auth/refresh с refresh-токеном.
Cabinet Admin API
Те же JWT-токены, но пользователь должен быть в списке администраторов (ADMIN_IDS или ADMIN_EMAILS).
Статистика API
528
Эндпоинтов
780
Pydantic-схем
73
Групп (тегов)
По областям
| Область | Эндпоинтов | Групп |
|---|---|---|
| Web API | ~300 | 32 |
| Cabinet User | ~112 | 16 |
| Cabinet Admin | ~240 | 25 |
Быстрый старт
Health Check
Получить список пользователей
Создать подписку
WebSocket
Два WebSocket-эндпоинта для real-time обновлений:| Путь | Авторизация | Назначение |
|---|---|---|
/ws?token=API_KEY | API Key | Дашборд админ-панели |
/cabinet/ws?token=JWT | JWT | Уведомления Cabinet |
Документация на сервере
При включённомIS_DOCS_ENABLED=true доступны:
- Swagger UI:
https://your-domain.com/docs - ReDoc:
https://your-domain.com/redoc - OpenAPI JSON:
https://your-domain.com/openapi.json
