Skip to content

Mesas

Mesas

Prefijo: /api/mesas
Requiere Auth:

Control de estado de mesas (16 mesas fijas). Permite consultar estado, actualizar y liberar mesas.


GET /api/mesas

Descripción: Obtiene el estado de todas las mesas (16 mesas siempre)
Requiere Auth:
Permiso requerido: ventas, leer

Respuesta exitosa: 200 OK

Response:

[
{ "mesa_numero": 1, "tenant_id": "uuid-tenant", "tiene_productos": 1 },
{ "mesa_numero": 2, "tenant_id": "uuid-tenant", "tiene_productos": 0 }
]

cURL:

Terminal window
curl http://localhost/api/mesas -H "Authorization: Bearer <token>"

GET /api/mesas/{mesa_numero}

Descripción: Obtiene el estado de una mesa específica
Requiere Auth:
Permiso requerido: ventas, leer

Parámetros path:

ParámetroTipoDescripción
mesa_numerointNúmero de mesa (1-16)

Respuesta exitosa: 200 OK
Errores: 404 (mesa no encontrada)

cURL:

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

PUT /api/mesas/{mesa_numero}/estado

Descripción: Actualiza el estado de una mesa
Requiere Auth:
Permiso requerido: ventas, actualizar

Parámetros body:

CampoTipoObligatorioDescripción
tiene_productosint0 = libre, 1 = ocupada

Respuesta exitosa: 200 OK

Request:

{ "tiene_productos": 1 }

cURL:

Terminal window
curl -X PUT http://localhost/api/mesas/5/estado \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"tiene_productos":1}'

POST /api/mesas/{mesa_numero}/liberar

Descripción: Libera una mesa (limpia carrito + cambia estado)
Requiere Auth:
Permiso requerido: ventas, actualizar

Respuesta exitosa: 200 OK

Response:

{ "mensaje": "Mesa 5 liberada exitosamente" }

cURL:

Terminal window
curl -X POST http://localhost/api/mesas/5/liberar -H "Authorization: Bearer <token>"