Cierre de caja
POST
Listar gastos de la sesión
POST /api/cash-closures/list-session-expenses
Descripción
Devuelve el listado paginado de los gastos registrados en el horario del turno, en cualquier caja o medio de pago.
Detalles
Toma el horario del turno, desde la apertura hasta el cierre (o hasta ahora si sigue abierto), y retorna todos los gastos de ese rango, sin importar desde qué caja se registraron. Cada gasto trae su categoría, el medio con que se pagó, el responsable y su estado (vigente o anulado, con el motivo). Acepta una búsqueda libre por descripción, categoría o responsable.
Permisos requeridos
cash.closing.totals.view
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| cashRegisterSessionId | int | Sí |
min_value:1
|
| search | string | No |
max:100
|
Paginación
| defaultLimit | 25 |
| maxLimit | 100 |
| allowedSorts | createdAt, amountCents |
| defaultSort | createdAt |
| defaultDir | desc |
Ejemplo de request
curl -X POST https://restofy.pro/api/cash-closures/list-session-expenses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"cashRegisterSessionId": 1
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-11-02T19:00:57Z
HTTP 200
Request
{
"cashRegisterSessionId": 2,
"search": "Compra de hielo 50a30d"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"expenses": [
{
"expenseUuid": "ba49feee-d115-11f1-8bb6-de64ef616b7c",
"amountCents": 7300,
"description": "Compra de hielo 50a30d",
"status": "active",
"cancellationReason": null,
"createdAt": "2026-11-02T18:29:07.000Z",
"categoryName": "Papelería y aseo",
"paidFromName": "Caja Principal",
"actorName": "App Testing"
}
],
"pagination": {
"page": 1,
"limit": 25,
"total": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}