Перейти к содержимому
v1 REST API

API Документация

REST API для интеграции бронирования. JSON-ответы, Bearer-авторизация, rate limiting.

https://bronogon.ru/api/v1

Обзор

Публичные

Каталог, поиск, профили — без токена

Авторизованные

Записи, профиль, отзывы — Bearer

Админ

Управление платформой — PLATFORM_ADMIN

Все ответы в формате JSON. При ошибках возвращается { statusCode, message, error }

Авторизация

Bearer JWT. Токен живёт 15 минут, refresh — 7 дней.

POST/auth/registerРегистрация
POST /api/v1/auth/register
Content-Type: application/json

{
  "email": "user@example.com",
  "password": "SecurePass123!",
  "firstName": "Иван",
  "lastName": "Петров",
  "role": "CLIENT"
}
POST/auth/loginАвторизация
POST /api/v1/auth/login
Content-Type: application/json

{
  "emailOrPhone": "user@example.com",
  "password": "SecurePass123!"
}

Использование токена

Authorization: Bearer <accessToken>

Мастера

Публичные эндпоинты — авторизация не нужна.

GET/masters
GET/masters/:id
GET/masters/:id/slots
GET /api/v1/masters?city=Москва&minRating=4&limit=3

// Параметры:
// city, categoryId, minRating, verifiedOnly,
// instantBooking, search, sortBy, page, limit

Записи

Требуется Bearer-токен.

POST/bookings
GET/bookings/my
GET/bookings/my/:id
PUT/bookings/:id/cancel
POST /api/v1/bookings
Authorization: Bearer <token>
Content-Type: application/json

{
  "masterProfileId": "clx1m2k...",
  "serviceIds": ["clx1s1...", "clx1s2..."],
  "startTime": "2026-04-01T10:00:00",
  "clientNote": "Хочу каре"
}

Услуги и категории

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

GET/services/categories
GET/services/search
GET/salons
GET/salons/:id
GET /api/v1/services/categories

Отзывы

Чтение — публичное. Создание — авторизация.

GET/reviews/master/:id
POST/reviews
GET /api/v1/reviews/master/clx1m2k...?limit=2

Виджет записи

Одна строка — бронирование на вашем сайте. Уникальный для каждого мастера.

<!-- Мастер -->
<script src="https://bronogon.ru/widget.js"
  data-id="ВАШ_ID_МАСТЕРА"
  data-type="master"
  data-theme="auto"
  data-color="#dc2626">
</script>

<!-- Салон, тёмная тема -->
<script src="https://bronogon.ru/widget.js"
  data-id="ID_САЛОНА"
  data-type="salon"
  data-theme="dark"
  data-color="#8b5cf6">
</script>

Вебхуки скоро

Получайте события в реальном времени на свой URL.

// Настройка: Личный кабинет → Интеграции → Вебхуки
// URL: https://your-site.com/api/bronogon-webhook
// События: booking.created, booking.cancelled,
//          review.created, payment.received

// Заголовок для верификации:
X-Bronyogon-Signature: sha256=abc123...

Лимиты и безопасность

Общий лимитПо IP-адресу
200 запросов / минута
Авторизация/auth/login
10 попыток / минута
Регистрация/auth/register
5 регистраций / минута
Загрузка файлов/upload
30 / минута, до 10 МБ
Форма связи/contact
3 сообщения / час
Сброс пароля/auth/password
3 попытки / 15 минут

429 Too Many Requests

При превышении лимита вернётся код 429. Подождите и повторите запрос. Заголовок Retry-After укажет время ожидания.