API Reference
API REST completa para integrar todas las funcionalidades de SalonBookIt en tu aplicaci贸n.
Introducci贸n
La API de SalonBookIt te permite:
- Consultar informaci贸n del negocio, servicios y profesionales
- Verificar disponibilidad de horarios
- Crear y gestionar reservas
- Gestionar clientes y su programa de puntos
- Procesar pagos con Stripe
Base URL
https://app.salonbookit.com/api/v1
Formato de respuesta
Todas las respuestas siguen el mismo formato:
JSON (脡xito)
{
"success": true,
"data": {
// Datos de la respuesta
}
}
JSON (Error)
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Descripci贸n del error"
}
}
Autenticaci贸n
La API usa dos m茅todos de autenticaci贸n:
API Key (Requerido siempre)
Identifica tu negocio. Se env铆a en el header X-API-Key.
X-API-Key: hh_pub_live_abc123...
JWT Token (Endpoints privados)
Autentica al cliente. Se env铆a en el header Authorization.
Authorization: Bearer eyJhbG...
Ver la gu铆a completa de autenticaci贸n.
Endpoints disponibles
Cat谩logo (P煤blicos)
| M茅todo | Endpoint | Descripci贸n |
|---|---|---|
| GET | /negocio/ |
Informaci贸n del negocio |
| GET | /servicios/ |
Lista de servicios |
| GET | /servicios/{id}/ |
Detalle de servicio |
| GET | /peluqueros/ |
Lista de profesionales |
| GET | /peluqueros/{id}/ |
Detalle de profesional |
| GET | /disponibilidad/{peluquero}/{fecha}/ |
Horarios disponibles |
| GET | /categorias/ |
Categor铆as de servicios |
| GET | /productos/ |
Productos de la tienda |
Autenticaci贸n
| M茅todo | Endpoint | Descripci贸n |
|---|---|---|
| POST | /auth/registro/ |
Registrar nuevo cliente |
| POST | /auth/login/ |
Iniciar sesi贸n |
| POST | /auth/verify-otp/ |
Verificar OTP |
| POST | /auth/refresh/ |
Renovar token JWT |
Reservas (Autenticado)
| M茅todo | Endpoint | Descripci贸n |
|---|---|---|
| POST | /reservas/crear/ |
Crear reserva |
| GET | /cliente/reservas/ |
Mis reservas |
| GET | /reservas/{id}/ |
Detalle de reserva |
| POST | /reservas/{id}/cancelar/ |
Cancelar reserva |
Pagos
| M茅todo | Endpoint | Descripci贸n |
|---|---|---|
| POST | /pagos/intent/ |
Crear PaymentIntent |
| POST | /pagos/confirmar/ |
Confirmar pago |
Cliente (Autenticado)
| M茅todo | Endpoint | Descripci贸n |
|---|---|---|
| GET | /cliente/perfil/ |
Mi perfil |
| PUT | /cliente/perfil/ |
Actualizar perfil |
| GET | /cliente/puntos/ |
Mis puntos |
Paginaci贸n
Los endpoints que devuelven listas soportan paginaci贸n:
Par谩metros de query
| Par谩metro | Tipo | Defecto | Descripci贸n |
|---|---|---|---|
page |
integer | 1 | N煤mero de p谩gina |
page_size |
integer | 20 | Items por p谩gina (m谩x 100) |
Respuesta paginada
JSON
{
"success": true,
"data": {
"items": [...],
"pagination": {
"page": 1,
"page_size": 20,
"total_items": 45,
"total_pages": 3,
"has_next": true,
"has_prev": false
}
}
}
Filtros
Muchos endpoints soportan filtros mediante query parameters. Consulta la documentaci贸n de cada endpoint para ver los filtros disponibles.
Ejemplo
HTTP
GET /api/v1/servicios/?categoria=1&activo=true&lang=es
C贸digos HTTP
| C贸digo | Significado |
|---|---|
200 OK |
Petici贸n exitosa |
201 Created |
Recurso creado exitosamente |
400 Bad Request |
Error en los par谩metros enviados |
401 Unauthorized |
Autenticaci贸n requerida o inv谩lida |
403 Forbidden |
Sin permisos para esta acci贸n |
404 Not Found |
Recurso no encontrado |
429 Too Many Requests |
Rate limit excedido |
500 Internal Server Error |
Error del servidor |
Ver la referencia completa de errores.