Restofy Docs

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