WCUTS Docs API Reference
REST

Referencia operativa de endpoints para WCUTS. Operational endpoint reference for WCUTS.

Esta referencia cubre la API barber real: autenticación, booking público, administración, chat de WhatsApp y webhooks. This reference covers the live barber API: authentication, public booking, admin, WhatsApp chat, and webhooks.

1. Auth

MethodPathUsoUse
POST/api/barbershop/auth/registerRegistrar dueño + tenant + local inicial.Register owner + tenant + initial shop.
POST/api/barbershop/auth/loginObtener JWT barber para panel admin.Obtain barber JWT for admin access.
GET/api/barbershop/auth/meUsuario actual autenticado.Current authenticated user.
Authorization: Bearer <barber_jwt>

2. Booking público 2. Public booking

MethodPathUsoUse
GET/api/barbershop/public/lookup/{slug}Resolver slug público del local.Resolve the public shop slug.
GET/api/barbershop/public/{shop_id}/servicesListar servicios activos.List active services.
GET/api/barbershop/public/{shop_id}/barbersListar barberos activos.List active barbers.
GET/api/barbershop/public/{shop_id}/slotsTraer slots disponibles por barbero/fecha/servicio.Fetch available slots by barber/date/service.
POST/api/barbershop/public/{shop_id}/bookCrear una reserva pública.Create a public booking.

3. Admin

MethodPathUsoUse
GET/api/barbershop/admin/shopLeer configuración del local y flags de WhatsApp Embedded Signup.Read shop configuration and WhatsApp Embedded Signup flags.
PUT/api/barbershop/admin/shopActualizar ficha del local.Update shop profile.
GET/api/barbershop/admin/barbersListar barberos.List barbers.
POST/api/barbershop/admin/barbersCrear barbero con login opcional.Create a barber with optional login.
POST/api/barbershop/admin/barbers/{barber_id}/passwordResetear contraseña de barbero.Reset barber password.
PUT/api/barbershop/admin/barbers/{barber_id}/scheduleCargar horario semanal del barbero.Set weekly barber schedule.
GET/api/barbershop/admin/servicesListar servicios.List services.
POST/api/barbershop/admin/servicesCrear servicio.Create service.
GET/api/barbershop/admin/appointmentsListar turnos del período.List appointments for a period.
POST/api/barbershop/admin/appointments/{appointment_id}/confirmConfirmar turno.Confirm appointment.
POST/api/barbershop/admin/appointments/{appointment_id}/no-showMarcar no-show.Mark no-show.
POST/api/barbershop/admin/appointments/{appointment_id}/completeMarcar completado.Mark completed.
POST/api/barbershop/admin/appointments/{appointment_id}/cancelCancelar turno.Cancel appointment.
GET/api/barbershop/admin/clientsListar clientes del CRM.List CRM clients.
GET/api/barbershop/admin/reports/overviewTraer KPIs, peak hours y carga por barbero.Fetch KPIs, peak hours, and barber load.
POST/api/barbershop/admin/whatsapp-credentialsGuardar credenciales manuales de WhatsApp.Save manual WhatsApp credentials.
POST/api/barbershop/admin/whatsapp-embedded-signup/completeCerrar el flujo de Meta Embedded Signup.Finalize the Meta Embedded Signup flow.

4. Chat de WhatsApp 4. WhatsApp chat

MethodPathUsoUse
GET/api/barbershop/chat/conversationsListar conversaciones.List conversations.
GET/api/barbershop/chat/conversations/{conversation_id}/messagesLeer historial de mensajes.Read message history.
POST/api/barbershop/chat/conversations/{conversation_id}/messagesResponder desde el panel.Reply from the admin panel.
PUT/api/barbershop/chat/conversations/{conversation_id}/assignAsignar o reasignar conversación.Assign or reassign conversation.
POST/api/barbershop/chat/conversations/{conversation_id}/readMarcar mensajes como leídos.Mark messages as read.
PUT/api/barbershop/chat/conversations/{conversation_id}/statusCambiar estado de la conversación.Change conversation status.

5. Webhooks

MethodPathUsoUse
GET/webhooks/whatsappVerificación inicial del webhook de Meta.Initial Meta webhook verification.
POST/webhooks/whatsappMensajes, 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>