Restofy Docs
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
        }
    }
}