Contexto para cancelar
POST /api/pos-cancellation/get-cancellation-context
Descripción
Devuelve las razones de cancelación activas e indica si la operación requiere PIN.
Detalles
Retorna el catálogo de razones de cancelación habilitadas según el tipo de cancelación solicitada, ya sea de una orden completa, de un ítem o de una orden ya cerrada. También informa si el usuario debe ingresar un PIN para autorizar la operación. Falla si el tipo de cancelación no es válido.
Permisos requeridos
auth-tenant
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| mode | string | Sí |
max:20
|
Ejemplo de request
curl -X POST https://app.restofy.co/api/pos-cancellation/get-cancellation-context \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"mode": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
{
"mode": "order"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"reasons": [
{
"reasonId": 12,
"reasonName": "Caida de red",
"responsibleParty": "system"
},
{
"reasonId": 9,
"reasonName": "Cliente cambio de opinion",
"responsibleParty": "customer"
},
{
"reasonId": 10,
"reasonName": "Cliente se retiro",
"responsibleParty": "customer"
},
{
"reasonId": 15,
"reasonName": "Cliente solicito cancelar",
"responsibleParty": "customer"
},
{
"reasonId": 13,
"reasonName": "Corte de luz",
"responsibleParty": "external"
},
{
"reasonId": 8,
"reasonName": "Devolucion por demora del servicio",
"responsibleParty": "personal_service"
},
{
"reasonId": 11,
"reasonName": "Falla impresora",
"responsibleParty": "system"
},
{
"reasonId": 16,
"reasonName": "Item duplicado por error",
"responsibleParty": "personal_service"
},
{
"reasonId": 6,
"reasonName": "Item mal digitado",
"responsibleParty": "personal_service"
},
{
"reasonId": 3,
"reasonName": "Mal cocinado",
"responsibleParty": "personal_kitchen"
},
{
"reasonId": 7,
"reasonName": "Mesa equivocada",
"responsibleParty": "personal_service"
},
{
"reasonId": 14,
"reasonName": "Otro motivo",
"responsibleParty": "other"
},
{
"reasonId": 5,
"reasonName": "Plato caido o regado",
"responsibleParty": "personal_service"
},
{
"reasonId": 4,
"reasonName": "Plato equivocado",
"responsibleParty": "personal_kitchen"
},
{
"reasonId": 1,
"reasonName": "Plato frio",
"responsibleParty": "personal_kitchen"
},
{
"reasonId": 2,
"reasonName": "Plato quemado",
"responsibleParty": "personal_kitchen"
},
{
"reasonId": 17,
"reasonName": "Problema de calidad",
"responsibleParty": "personal_kitchen"
},
{
"reasonId": 18,
"reasonName": "Sabor incorrecto",
"responsibleParty": "personal_kitchen"
}
],
"requiresPin": false
}
}