GlamB API
GlamB — онлайн-платформа для записи в салоны красоты, барбершопы и nail-студии.
Целевой рынок: СНГ + Восточная Европа (первый фокус — Молдова).
Текущий этап: Phase 1 MVP (в процессе).
Base URL
https://glamb.happydev.tech/api/v1
Dev-окружение:
https://dev-glamb.happydev.tech/api/v1
Response Envelope
Каждый ответ API содержит ровно 5 полей:
{
"success": true,
"status": "200",
"message": "...",
"errors": null,
"data": { ... }
}
| Поле | Тип | Описание |
|---|---|---|
success | boolean | true на успех, false на ошибку |
status | string | HTTP-статус в виде строки ("200", "422", и т.д.) |
message | string | Человекочитаемое сообщение на английском |
errors | object | null | Хэш ошибок { field: ["msg"] } только при 422, иначе null |
data | object | null | Полезная нагрузка на успех, null на ошибку |
Аутентификация
Большинство защищённых эндпоинтов требуют JWT Bearer-токен:
Authorization: Bearer <access_token>
- Access token: срок жизни 15 минут
- Refresh token: срок жизни 30 дней (с ротацией)
Подробнее → Auth
Роли
| Роль | Описание |
|---|---|
client | Поиск, бронирование, отзывы, профиль |
master | Мастер: расписание, услуги, цены, подтверждение записей |
admin | Модерация платформы, пользователи, биллинг |
Владелец салона определяется не через
role, а черезsalons.owner_id.
Стек
- Backend: Ruby 3.3+, Rails 8.1+, PostgreSQL 16+
- Auth: кастомный JWT (без Devise), bcrypt
- Авторизация: Pundit (RBAC)
- Инфра: Docker Compose, GitLab CI, Traefik, Hetzner Cloud