Motivos de merma
POST
Listar motivos de merma
POST /api/waste-reasons/list-waste-reasons
Descripción
Lista paginada de los motivos por los que se registra una merma.
Detalles
Devuelve los motivos activos y los pausados, en su orden, con cuántas mermas vigentes tiene cada uno. Acepta búsqueda libre por nombre.
Permisos requeridos
inventory.settings
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| search | string | No |
max:100
|
Paginación
| defaultLimit | 50 |
| maxLimit | 100 |
| defaultSort | sortOrder |
| defaultDir | asc |
| withTotal | true |
| allowedSorts | [sortOrder, name, wastesCount] |
Ejemplo de request
curl -X POST https://restofy.pro/api/waste-reasons/list-waste-reasons \
-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": {
"wasteReasons": [
{
"wasteReasonId": 1,
"wasteReasonUuid": "16b63d96-d118-11f1-8bb6-de64ef616b7c",
"name": "Vencido",
"sortOrder": 1,
"isActive": 1,
"wastesCount": 0
},
{
"wasteReasonId": 2,
"wasteReasonUuid": "16b63e57-d118-11f1-8bb6-de64ef616b7c",
"name": "Dañado",
"sortOrder": 2,
"isActive": 1,
"wastesCount": 0
},
{
"wasteReasonId": 3,
"wasteReasonUuid": "16b63e74-d118-11f1-8bb6-de64ef616b7c",
"name": "Derrame o caída",
"sortOrder": 3,
"isActive": 1,
"wastesCount": 0
},
{
"wasteReasonId": 4,
"wasteReasonUuid": "16b63e8d-d118-11f1-8bb6-de64ef616b7c",
"name": "Error de preparación",
"sortOrder": 4,
"isActive": 1,
"wastesCount": 0
},
{
"wasteReasonId": 5,
"wasteReasonUuid": "16b63ea6-d118-11f1-8bb6-de64ef616b7c",
"name": "Devolución del cliente",
"sortOrder": 5,
"isActive": 1,
"wastesCount": 0
},
{
"wasteReasonId": 6,
"wasteReasonUuid": "16b63eba-d118-11f1-8bb6-de64ef616b7c",
"name": "Otro",
"sortOrder": 6,
"isActive": 1,
"wastesCount": 0
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 6,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}