Архитектура
Bedolaga предоставляет единый FastAPI-сервер на порту8080 с тремя областями API:
| Область | Префикс | Авторизация | Назначение |
|---|---|---|---|
| Web API | / | X-API-Key | Программное администрирование бота |
| Cabinet API | /cabinet/* | JWT Bearer | Личный кабинет пользователя |
| Cabinet Admin API | /cabinet/admin/* | JWT Bearer + роль | Управление через веб-кабинет |
710
Эндпоинтов
898
Pydantic-схем
85
Групп (тегов)
По областям
| Область | Эндпоинтов | Групп | Описание |
|---|---|---|---|
| Web API | 277 | 32 | Управление ботом, рассылки, подписки, серверы |
| Cabinet User | 146 | 21 | Подписки, платежи, рефералы, поддержка |
| Cabinet Admin | 287 | 33 | Пользователи, тарифы, RemnaWave, RBAC |
Авторизация
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 | Данные виджета |
POST /cabinet/auth/email/login | Email + пароль | |
| OAuth 2.0 | GET /cabinet/auth/oauth/{provider} | Google, Яндекс, Discord, VK |
| Telegram OIDC | POST /cabinet/auth/telegram/oidc | Telegram OIDC авторизация |
POST /cabinet/auth/refresh с refresh-токеном.
Cabinet Admin API
Те же JWT-токены, но пользователь должен быть администратором (ADMIN_IDS / ADMIN_EMAILS) или иметь назначенную роль RBAC с нужными разрешениями.
Быстрый старт
WebSocket
Два WebSocket-эндпоинта для real-time обновлений:| Путь | Авторизация | Назначение |
|---|---|---|
/ws?token=API_KEY | API Key | Дашборд админ-панели |
/cabinet/ws?token=JWT | JWT | Уведомления Cabinet |
Web API — группы
Пользователи и подписки
Пользователи и подписки
| Группа | Описание |
|---|---|
users | Управление пользователями |
subscriptions | Подписки и ключи подключения |
transactions | Финансовые операции |
partners | Партнёрская программа |
Контент и рассылки
Контент и рассылки
| Группа | Описание |
|---|---|
broadcasts | Массовые рассылки |
pages | Информационные страницы |
welcome-texts | Приветственные сообщения |
main-menu | Настройки главного меню |
menu-layout | Конструктор расположения кнопок меню |
pinned-messages | Закреплённые сообщения |
notifications | Системные уведомления |
Маркетинг
Маркетинг
| Группа | Описание |
|---|---|
promo-codes | Промокоды |
promo-groups | Промо-группы (периодические скидки) |
promo-offers | Рекламные предложения |
campaigns | Рекламные кампании с трекингом |
contests | Конкурсы и розыгрыши |
polls | Опросы |
Инфраструктура
Инфраструктура
| Группа | Описание |
|---|---|
remnawave | RemnaWave API (ноды, сквады, инбаунды) |
servers | Управление серверами |
settings | Настройки бота |
backups | Резервные копии |
stats | Статистика |
logs | Логи ошибок |
health | Проверки состояния |
Интеграции
Интеграции
| Группа | Описание |
|---|---|
webhooks | Webhook-обработчики платёжных систем |
miniapp | Telegram Mini App API |
media | Загрузка и хранение файлов |
auth | Аутентификация Web API |
support | Система тикетов |
ban-notifications | Уведомления о банах |
Landing Pages | Публичные лендинги для привлечения клиентов |
Cabinet API — группы
Пользовательский кабинет (146 эндпоинтов)
Пользовательский кабинет (146 эндпоинтов)
| Группа | Описание |
|---|---|
Cabinet Auth | Авторизация (Telegram, email, OAuth) |
Cabinet OAuth | OAuth 2.0 провайдеры |
Cabinet Subscription | Подписки, тарифы, ключи |
Cabinet Balance | Баланс и пополнение |
Cabinet Referral | Реферальная программа |
Cabinet Tickets | Тикеты поддержки |
Cabinet Notifications | Уведомления |
Cabinet Promo / Cabinet Promocode | Промокоды |
Cabinet Contests / Cabinet Polls | Конкурсы и опросы |
Fortune Wheel | Колесо фортуны |
Cabinet Info | Информация о сервисе |
Branding | Брендирование и оформление |
Cabinet Account Linking | Привязка и отвязка аккаунтов |
Cabinet Account Merge | Объединение аккаунтов |
Cabinet Gift | Подарочные подписки |
Cabinet Withdrawal | Вывод партнёрских средств |
Админ-панель (287 эндпоинтов)
Админ-панель (287 эндпоинтов)
| Группа | Описание |
|---|---|
Cabinet Admin Users | Управление пользователями |
Cabinet Admin Tariffs | Тарифы |
Cabinet Admin Servers | Серверы |
Cabinet Admin RemnaWave | RemnaWave интеграция |
Cabinet Admin Broadcasts | Рассылки |
Cabinet Admin Payments | Платежи |
Cabinet Admin Payment Methods | Способы оплаты |
Cabinet Admin Tickets | Тикеты поддержки |
Cabinet Admin Ban System | Система банов |
Cabinet Admin Campaigns | Рекламные кампании |
Cabinet Admin Channels | Обязательные каналы |
Cabinet Admin Partners | Партнёры |
Cabinet Admin Withdrawals | Выводы средств |
Cabinet Admin Pinned Messages | Закреплённые сообщения |
Cabinet Admin Apps | VPN-приложения |
Cabinet Admin Stats | Статистика и аналитика |
Admin RBAC / Admin RBAC Policies / Admin RBAC Audit Log | Роли и доступ |
Admin Settings | Настройки |
Admin Traffic | Мониторинг трафика |
Admin Fortune Wheel | Колесо фортуны |
Admin Email Templates | Email-шаблоны |
Admin Promo Groups / Admin Promo Offers / Admin Promocodes | Маркетинг |
Admin Button Styles | Стили кнопок |
Cabinet Admin Updates | Проверка обновлений |
Cabinet Admin Landings | Управление лендингами |
Cabinet Admin Referral Network | Граф реферальной сети |
Cabinet Admin Sales Stats | Статистика продаж |
Admin Menu Layout | Конструктор меню |
Документация на сервере
При включённом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
