Motivos de descuento
POST
Listar motivos de descuento
POST /api/discount-reasons/list-discount-reasons
Descripción
Lista paginada de los motivos por los que se puede otorgar un descuento en una orden.
Detalles
Devuelve los motivos activos y los pausados. Acepta búsqueda libre por nombre. Sirve para elegir el motivo al registrar un descuento.
Permisos requeridos
admin.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| search | string | No |
max:100
|
Paginación
| defaultLimit | 50 |
| maxLimit | 100 |
| allowedSorts | name |
| defaultSort | name |
| defaultDir | asc |
| withTotal | true |
Ejemplo de request
curl -X POST https://restofy.pro/api/discount-reasons/list-discount-reasons \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-H "X-Tenant-Key: <tenantKey>"
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
[]
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"discountReasons": [
{
"discountReasonId": 2,
"name": "Comida del staff",
"description": "Consumo de personal del restaurante",
"isActive": 1,
"isAvailable": 1
},
{
"discountReasonId": 1,
"name": "Cortesia gerencia",
"description": "Cortesia autorizada por la gerencia",
"isActive": 1,
"isAvailable": 1
},
{
"discountReasonId": 5,
"name": "Cortesia marketing",
"description": "Cortesia para campana o influencer",
"isActive": 1,
"isAvailable": 1
},
{
"discountReasonId": 4,
"name": "Invitado VIP",
"description": "Cortesia a invitado especial",
"isActive": 1,
"isAvailable": 1
},
{
"discountReasonId": 3,
"name": "Prueba de plato",
"description": "Degustacion o prueba de receta",
"isActive": 1,
"isAvailable": 1
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 5,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}