mirror of
https://github.com/marcogll/AnchorOS.git
synced 2026-03-15 13:24:27 +00:00
- Integrate @formbricks/js for future surveys (FormbricksProvider) - Add WebhookForm component for unified form submission (contact/franchise/membership) - Update contact form with reason dropdown field - Update franchise form with new fields: estado, ciudad, socios checkbox - Update franchise benefits: manuals, training platform, RH system, investment $100k - Add Contacto link to desktop/mobile nav and footer - Update membership form to use WebhookForm with membership_id select - Update hero buttons to use #3E352E color consistently - Refactor contact/franchise pages to use new hero layout and components - Add webhook utility (lib/webhook.ts) for parallel submission to test+prod - Add email receipt hooks to booking endpoints - Update globals.css with new color variables and navigation styles - Docker configuration for deployment
3.9 KiB
3.9 KiB
AnchorOS API Testing Guide
📋 Rutas a Probar - Testing Endpoints
🔐 Autenticación
POST /api/auth/login- Login de usuario- Body:
{ email, password } - Buscar: Token JWT en respuesta
- Body:
POST /api/auth/register- Registro de cliente- Body:
{ first_name, last_name, email, phone, password } - Buscar: Usuario creado con ID
- Body:
👥 Gestión de Clientes
GET /api/customers- Listar clientes- Headers: Authorization Bearer token
- Buscar: Array de clientes con datos completos
POST /api/customers- Crear cliente- Headers: Authorization Bearer token
- Body:
{ first_name, last_name, email, phone } - Buscar: Cliente creado
GET /api/customers/[id]- Detalles de cliente- Buscar: Datos completos del cliente + bookings
💺 Reservas (Bookings)
GET /api/bookings- Listar reservas- Query params:
?status=confirmed&date=2024-01-01 - Buscar: Array de bookings con relaciones (customer, service, staff)
- Query params:
POST /api/bookings- Crear reserva- Body:
{ customer_id, service_id, staff_id, location_id, date, notes } - Buscar: Booking creado + email enviado automáticamente
- Body:
PUT /api/bookings/[id]- Actualizar reserva- Body:
{ status: 'confirmed' } - Buscar: Status actualizado
- Body:
DELETE /api/bookings/[id]- Cancelar reserva- Buscar: Status cambiado a 'cancelled'
🏢 Ubicaciones
GET /api/locations- Listar ubicaciones- Buscar: Array de locations con servicios disponibles
👨💼 Staff
GET /api/staff- Listar personal- Buscar: Array de staff con especialidades
💅 Servicios
GET /api/services- Listar servicios- Buscar: 22 servicios de Anchor 23 con precios
📅 Disponibilidad
GET /api/availability?service_id=1&date=2024-01-01&location_id=1- Buscar: Slots disponibles por staff
POST /api/availability/blocks- Bloquear horario- Body:
{ staff_id, start_time, end_time, reason } - Buscar: Bloqueo creado
- Body:
🏪 Kiosk (Auto-servicio)
GET /api/kiosk/locations- Ubicaciones disponibles- Buscar: Locations con servicios activos
POST /api/kiosk/bookings- Reserva desde kiosk- Body:
{ service_id, customer_data, date } - Buscar: Booking creado + email enviado
- Body:
POST /api/kiosk/walkin- Reserva inmediata- Body:
{ service_id, customer_data } - Buscar: Booking inmediato confirmado
- Body:
📊 Aperture (Dashboard Admin)
GET /api/aperture/stats- Estadísticas generales- Buscar: Métricas de negocio (revenue, bookings, etc.)
GET /api/aperture/reports- Reportes detallados- Buscar: Datos para gráficos y análisis
GET /api/aperture/pos- Sistema POS- Buscar: Servicios disponibles para venta
🧾 Recibos
GET /api/receipts/[bookingId]- Descargar PDF- Buscar: PDF generado con datos de reserva
POST /api/receipts/[bookingId]/email- Enviar por email- Buscar: Email enviado con PDF adjunto
⚙️ Sistema
GET /api/health- Health check- Buscar:
{ status: 'ok' }
- Buscar:
POST /api/cron/reset-invitations- Reset diario- Buscar: Invitaciones expiradas reseteadas
🔍 Qué Buscar en Cada Respuesta
✅ Éxito
- Status codes: 200, 201
- Estructura de datos correcta
- Relaciones cargadas (joins)
- Emails enviados (para bookings)
❌ Errores
- Status codes: 400, 401, 403, 404, 500
- Mensajes de error descriptivos
- Validación de datos
- Autenticación requerida
🔄 Estados
- Bookings:
pending→confirmed→completed - Pagos:
pending→paid - Recursos:
available→booked
🧪 Casos de Edge
- Autenticación: Token expirado, permisos insuficientes
- Reservas: Doble booking, horarios conflictivos
- Pagos: Montos inválidos, métodos no soportados
- Kiosk: Datos faltantes, servicios no disponibles
📈 Performance
- Response time < 500ms para GET
- Response time < 2s para POST complejos
- Conexiones concurrentes soportadas