BePromioDocs

API — аутентификация и основные эндпоинты

REST API BePromio /api/v1

Базовый URL

{BASE_URL}/api/v1

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

JWT Bearer-токены. Пара accessToken (короткоживущий) + refreshToken (долгоживущий, с ротацией).

# Вход через Telegram initData
POST /api/v1/auth/telegram
{ "initData": "<Telegram.WebApp.initData>" }

# Вход по email
POST /api/v1/auth/login
{ "email": "user@example.com", "password": "..." }

# Регистрация по email
POST /api/v1/auth/register
{ "email": "user@example.com", "password": "...", "role": "advertiser" }

# Обновление токенов
POST /api/v1/auth/refresh
{ "refreshToken": "..." }

Заголовок авторизованных запросов: Authorization: Bearer <accessToken>.

Публичные эндпоинты

МетодПутьОписание
GET/marketplace/channelsКаталог каналов (фильтры: category_id, min_members, max_members, language, q, limit, offset)
GET/categoriesТаксономия тематик
GET/health/live, /health/readyHealth checks
GET/metricsМетрики Prometheus

Основные ресурсы

  • /channels — каналы пользователя;
  • /channels/:id/posts, /channels/:id/moderation, /channels/:id/profile, /channels/:id/slots, /channels/:id/analytics;
  • /placements — рекламные размещения и их статусы;
  • /advertiser/projects, /advertiser/campaigns, /advertiser/ads;
  • /wallets, /withdrawals — финансы;
  • /crosspromo — взаимное продвижение.

Идемпотентность

Мутации с деньгами и публикациями принимают заголовок idempotency-key — повторный запрос с тем же ключом не создаёт дубль.

Ошибки

Ошибки возвращаются в едином формате: { "code": "...", "message": "...", "details": {...} }. Подробнее — Errors и Rate Limits.