Перейти к основному содержимому

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": { ... }
}
ПолеТипОписание
successbooleantrue на успех, false на ошибку
statusstringHTTP-статус в виде строки ("200", "422", и т.д.)
messagestringЧеловекочитаемое сообщение на английском
errorsobject | nullХэш ошибок { field: ["msg"] } только при 422, иначе null
dataobject | 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