Carrito
Carrito
Prefijo: /api/carrito
Requiere Auth: Sí
Gestión del carrito de compras por mesa. Permite reemplazar, consultar y limpiar el carrito de una mesa específica.
POST /api/carrito
Descripción: Reemplaza todo el carrito de una mesa (borra e inserta)
Requiere Auth: Sí
Permiso requerido: ventas, crear
Parámetros body:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
mesa_numero | int | ✅ | Número de mesa (1-16) |
items | array | ✅ | Lista de productos |
items[].codigo | string | ✅ | Código del producto |
items[].descripcion | string | ✅ | Nombre del producto |
items[].cantidad | int | ✅ | Cantidad |
items[].precio | float | ✅ | Precio unitario |
items[].iva | float | ✅ | Porcentaje de IVA |
Respuesta exitosa: 200 OK
Request:
{ "mesa_numero": 5, "items": [ { "codigo": "PROD001", "descripcion": "Café Latte", "cantidad": 2, "precio": 3500, "iva": 19 }, { "codigo": "PROD002", "descripcion": "Sandwich", "cantidad": 1, "precio": 5000, "iva": 19 } ]}Response:
[ { "id": 1, "tenant_id": "uuid-tenant", "mesa_numero": 5, "codigo": "PROD001", "descripcion": "Café Latte", "cantidad": 2, "precio": 3500, "iva": 19 }, { "id": 2, "tenant_id": "uuid-tenant", "mesa_numero": 5, "codigo": "PROD002", "descripcion": "Sandwich", "cantidad": 1, "precio": 5000, "iva": 19 }]cURL:
curl -X POST http://localhost/api/carrito \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{"mesa_numero":5,"items":[{"codigo":"PROD001","descripcion":"Café Latte","cantidad":2,"precio":3500,"iva":19}]}'GET /api/carrito/{mesa_numero}
Descripción: Obtiene el carrito de una mesa específica
Requiere Auth: Sí
Permiso requerido: ventas, leer
Parámetros path:
| Parámetro | Tipo | Descripción |
|---|---|---|
mesa_numero | int | Número de mesa |
Respuesta exitosa: 200 OK — retorna el mismo formato que POST /api/carrito
cURL:
curl http://localhost/api/carrito/5 -H "Authorization: Bearer <token>"DELETE /api/carrito/{mesa_numero}
Descripción: Limpia el carrito de una mesa
Requiere Auth: Sí
Permiso requerido: ventas, eliminar
Respuesta exitosa: 200 OK
Response:
{ "mensaje": "Carrito limpiado exitosamente" }cURL:
curl -X DELETE http://localhost/api/carrito/5 -H "Authorization: Bearer <token>"