1. Auth
| Method | Path | UsoUse |
|---|---|---|
POST | /api/barbershop/auth/register | Registrar dueño + tenant + local inicial.Register owner + tenant + initial shop. |
POST | /api/barbershop/auth/login | Obtener JWT barber para panel admin.Obtain barber JWT for admin access. |
GET | /api/barbershop/auth/me | Usuario actual autenticado.Current authenticated user. |
Authorization: Bearer <barber_jwt>
2. Booking público 2. Public booking
| Method | Path | UsoUse |
|---|---|---|
GET | /api/barbershop/public/lookup/{slug} | Resolver slug público del local.Resolve the public shop slug. |
GET | /api/barbershop/public/{shop_id}/services | Listar servicios activos.List active services. |
GET | /api/barbershop/public/{shop_id}/barbers | Listar barberos activos.List active barbers. |
GET | /api/barbershop/public/{shop_id}/slots | Traer slots disponibles por barbero/fecha/servicio.Fetch available slots by barber/date/service. |
POST | /api/barbershop/public/{shop_id}/book | Crear una reserva pública.Create a public booking. |
3. Admin
| Method | Path | UsoUse |
|---|---|---|
GET | /api/barbershop/admin/shop | Leer configuración del local y flags de WhatsApp Embedded Signup.Read shop configuration and WhatsApp Embedded Signup flags. |
PUT | /api/barbershop/admin/shop | Actualizar ficha del local.Update shop profile. |
GET | /api/barbershop/admin/barbers | Listar barberos.List barbers. |
POST | /api/barbershop/admin/barbers | Crear barbero con login opcional.Create a barber with optional login. |
POST | /api/barbershop/admin/barbers/{barber_id}/password | Resetear contraseña de barbero.Reset barber password. |
PUT | /api/barbershop/admin/barbers/{barber_id}/schedule | Cargar horario semanal del barbero.Set weekly barber schedule. |
GET | /api/barbershop/admin/services | Listar servicios.List services. |
POST | /api/barbershop/admin/services | Crear servicio.Create service. |
GET | /api/barbershop/admin/appointments | Listar turnos del período.List appointments for a period. |
POST | /api/barbershop/admin/appointments/{appointment_id}/confirm | Confirmar turno.Confirm appointment. |
POST | /api/barbershop/admin/appointments/{appointment_id}/no-show | Marcar no-show.Mark no-show. |
POST | /api/barbershop/admin/appointments/{appointment_id}/complete | Marcar completado.Mark completed. |
POST | /api/barbershop/admin/appointments/{appointment_id}/cancel | Cancelar turno.Cancel appointment. |
GET | /api/barbershop/admin/clients | Listar clientes del CRM.List CRM clients. |
GET | /api/barbershop/admin/reports/overview | Traer KPIs, peak hours y carga por barbero.Fetch KPIs, peak hours, and barber load. |
POST | /api/barbershop/admin/whatsapp-credentials | Guardar credenciales manuales de WhatsApp.Save manual WhatsApp credentials. |
POST | /api/barbershop/admin/whatsapp-embedded-signup/complete | Cerrar el flujo de Meta Embedded Signup.Finalize the Meta Embedded Signup flow. |
4. Chat de WhatsApp 4. WhatsApp chat
| Method | Path | UsoUse |
|---|---|---|
GET | /api/barbershop/chat/conversations | Listar conversaciones.List conversations. |
GET | /api/barbershop/chat/conversations/{conversation_id}/messages | Leer historial de mensajes.Read message history. |
POST | /api/barbershop/chat/conversations/{conversation_id}/messages | Responder desde el panel.Reply from the admin panel. |
PUT | /api/barbershop/chat/conversations/{conversation_id}/assign | Asignar o reasignar conversación.Assign or reassign conversation. |
POST | /api/barbershop/chat/conversations/{conversation_id}/read | Marcar mensajes como leídos.Mark messages as read. |
PUT | /api/barbershop/chat/conversations/{conversation_id}/status | Cambiar estado de la conversación.Change conversation status. |
5. Webhooks
| Method | Path | UsoUse |
|---|---|---|
GET | /webhooks/whatsapp | Verificación inicial del webhook de Meta.Initial Meta webhook verification. |
POST | /webhooks/whatsapp | Mensajes, estados y eventos entrantes.Inbound messages, statuses, and events. |
6. Examples
Login de dueño o barbero Owner or barber login
POST /api/barbershop/auth/login
Content-Type: application/json
{
"email": "owner@example.com",
"password": "StrongPassword123"
}
Lookup de slug público Public slug lookup
GET /api/barbershop/public/lookup/jym-barberia
Traer reporte overview Fetch overview report
GET /api/barbershop/admin/reports/overview?preset=30d Authorization: Bearer <barber_jwt>