API Документация
REST API для интеграции бронирования. JSON-ответы, Bearer-авторизация, rate limiting.
https://bronogon.ru/api/v1Обзор
Публичные
Каталог, поиск, профили — без токена
Авторизованные
Записи, профиль, отзывы — Bearer
Админ
Управление платформой — PLATFORM_ADMIN
Все ответы в формате JSON. При ошибках возвращается { statusCode, message, error }
Авторизация
Bearer JWT. Токен живёт 15 минут, refresh — 7 дней.
/auth/registerРегистрацияPOST /api/v1/auth/register
Content-Type: application/json
{
"email": "user@example.com",
"password": "SecurePass123!",
"firstName": "Иван",
"lastName": "Петров",
"role": "CLIENT"
}/auth/loginАвторизацияPOST /api/v1/auth/login
Content-Type: application/json
{
"emailOrPhone": "user@example.com",
"password": "SecurePass123!"
}Использование токена
Authorization: Bearer <accessToken>Мастера
Публичные эндпоинты — авторизация не нужна.
/masters/masters/:id/masters/:id/slotsGET /api/v1/masters?city=Москва&minRating=4&limit=3
// Параметры:
// city, categoryId, minRating, verifiedOnly,
// instantBooking, search, sortBy, page, limitЗаписи
Требуется Bearer-токен.
/bookings/bookings/my/bookings/my/:id/bookings/:id/cancelPOST /api/v1/bookings
Authorization: Bearer <token>
Content-Type: application/json
{
"masterProfileId": "clx1m2k...",
"serviceIds": ["clx1s1...", "clx1s2..."],
"startTime": "2026-04-01T10:00:00",
"clientNote": "Хочу каре"
}Услуги и категории
Публичные эндпоинты.
/services/categories/services/search/salons/salons/:idGET /api/v1/services/categoriesОтзывы
Чтение — публичное. Создание — авторизация.
/reviews/master/:id/reviewsGET /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...Лимиты и безопасность
200 запросов / минута10 попыток / минута5 регистраций / минута30 / минута, до 10 МБ3 сообщения / час3 попытки / 15 минут429 Too Many Requests
При превышении лимита вернётся код 429. Подождите и повторите запрос. Заголовок Retry-After укажет время ожидания.