POS (Point of Sale)
Sistema de punto de venta para ventas presenciales. Gestiona sesiones de caja, ventas y hardware (impresora térmica, cajón de dinero).
Sesiones
Abrir sesión
POST /api/v1/pos/sessions
{
"staff_id": "uuid-del-staff",
"cash_opening": 50000
}
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
staff_id | uuid | Sí | ID del staff que abre la sesión |
cash_opening | int64 | No | Monto de apertura de caja en céntimos |
Cerrar sesión
POST /api/v1/pos/sessions/:id/close
Obtener sesión
GET /api/v1/pos/sessions/:id
Listar ventas por sesión
GET /api/v1/pos/sessions/:id/sales
Sincronizar ventas offline
POST /api/v1/pos/sessions/:id/sync
Ventas
Crear venta
POST /api/v1/pos/sales
Agregar item
POST /api/v1/pos/sales/:id/items
Aplicar descuento
POST /api/v1/pos/sales/:id/discount
Completar venta
POST /api/v1/pos/sales/:id/complete
Cancelar venta
POST /api/v1/pos/sales/:id/cancel
Obtener venta
GET /api/v1/pos/sales/:id
Imprimir recibo
POST /api/v1/pos/sales/:id/print
Productos
Buscar producto
GET /api/v1/pos/products?q=codigo-o-nombre
Impresora
Configurar impresora
POST /api/v1/pos/printers
Listar impresoras
GET /api/v1/pos/printers
Cajón de dinero
Abrir cajón
POST /api/v1/pos/drawer/open
Estados de sesión
| Estado | Descripción |
|---|---|
open | Sesión activa, aceptando ventas |
closed | Sesión cerrada, cierre de caja completado |
Estados de venta
| Estado | Descripción |
|---|---|
draft | Venta en progreso |
completed | Venta completada y cobrada |
cancelled | Venta cancelada |