Listar producciones
POST /api/production/list-productions
Descripción
Devuelve el historial paginado de producciones con los indicadores del periodo.
Detalles
Cada producción trae el insumo preparado, lo que salió, su costo, la bodega a la que entró, quién la hizo y si cambió algo de la receta. Filtra por texto, estado, producciones modificadas y rango de fechas. Los indicadores suman solo las producciones vigentes del filtro.
Permisos requeridos
inventory.production.create
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| search | string | No |
max:100
|
| statusCode | string | No |
enum:completed,cancelled
|
| isModified | bool | No | — |
| dateFrom | datetime | No | — |
| dateTo | datetime | No | — |
Paginación
| defaultLimit | 50 |
| maxLimit | 100 |
| defaultSort | createdAt |
| defaultDir | desc |
| withTotal | true |
| allowedSorts | [createdAt, totalCostCents] |
Ejemplo de request
curl -X POST https://restofy.pro/api/production/list-productions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>"
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-11-02T19:00:57Z
HTTP 200
Request
[]
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"productions": [
{
"productionId": 5,
"productionUuid": "00402a9e-dbdc-411c-84de-36001dc98352",
"outputItemName": "Insumo Test 6ae8dd9c4df4b",
"outputQuantity": "1000.0000",
"outputUnitSymbol": "g",
"totalCostCents": 7000,
"unitCostCents": 7,
"outputCountingSymbol": "g",
"isModified": 0,
"statusCode": "completed",
"locationName": "Bodega Bebidas",
"actorName": "App Testing",
"createdAt": "2026-11-02T18:59:41.000Z"
},
{
"productionId": 3,
"productionUuid": "dd939772-3413-412f-b098-643f381372d5",
"outputItemName": "Insumo Test 6ae8dd932c9c7",
"outputQuantity": "1000.0000",
"outputUnitSymbol": "g",
"totalCostCents": 7000,
"unitCostCents": 7,
"outputCountingSymbol": "g",
"isModified": 0,
"statusCode": "completed",
"locationName": "Bodega Bebidas",
"actorName": "App Testing",
"createdAt": "2026-11-02T18:59:33.000Z"
},
{
"productionId": 2,
"productionUuid": "a57b4ba9-7da4-46a1-90a1-c44c7852fd04",
"outputItemName": "Insumo Test 6ae8dd8edce86",
"outputQuantity": "1000.0000",
"outputUnitSymbol": "g",
"totalCostCents": 7500,
"unitCostCents": 8,
"outputCountingSymbol": "g",
"isModified": 1,
"statusCode": "completed",
"locationName": "Bodega Bebidas",
"actorName": "App Testing",
"createdAt": "2026-11-02T18:59:28.000Z"
},
{
"productionId": 1,
"productionUuid": "b91c0658-ab44-42c6-8c24-20a82d4e4a02",
"outputItemName": "Insumo Test 6ae8dd8a9b4e2",
"outputQuantity": "1000.0000",
"outputUnitSymbol": "g",
"totalCostCents": 7000,
"unitCostCents": 7,
"outputCountingSymbol": "g",
"isModified": 0,
"statusCode": "completed",
"locationName": "Bodega Bebidas",
"actorName": "App Testing",
"createdAt": "2026-11-02T18:59:24.000Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 4,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
},
"kpis": {
"totalProductions": 4,
"totalCostCents": 28500,
"modifiedCount": 1
}
}
}