Skip to content

Carrito

Carrito

Prefijo: /api/carrito
Requiere Auth:

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:
Permiso requerido: ventas, crear

Parámetros body:

CampoTipoObligatorioDescripción
mesa_numerointNúmero de mesa (1-16)
itemsarrayLista de productos
items[].codigostringCódigo del producto
items[].descripcionstringNombre del producto
items[].cantidadintCantidad
items[].preciofloatPrecio unitario
items[].ivafloatPorcentaje 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:

Terminal window
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:
Permiso requerido: ventas, leer

Parámetros path:

ParámetroTipoDescripción
mesa_numerointNúmero de mesa

Respuesta exitosa: 200 OK — retorna el mismo formato que POST /api/carrito

cURL:

Terminal window
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:
Permiso requerido: ventas, eliminar

Respuesta exitosa: 200 OK

Response:

{ "mensaje": "Carrito limpiado exitosamente" }

cURL:

Terminal window
curl -X DELETE http://localhost/api/carrito/5 -H "Authorization: Bearer <token>"