Anulación de órdenes
POST
Cancelar orden completa
POST /api/pos-cancellation/cancel-order
Descripción
Cancela una orden abierta sin pagos registrados, cancelando también todos sus ítems con la misma razón.
Detalles
Cancela una orden mientras no tenga pagos registrados, marca todos sus ítems activos como cancelados con la razón indicada y deja los totales en cero. Requiere una sesión de caja abierta del usuario para vincular la operación. Puede requerir PIN. Falla si la orden ya está cerrada, cancelada o tiene pagos.
Permisos requeridos
auth-tenant
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| orderUuid | string | Sí |
min:36
max:36
|
| cancellationReasonId | int | Sí |
min_value:1
|
| cashRegisterSessionId | int | Sí |
min_value:1
|
| cancellationReason | string | No |
max:500
|
| pin | string | No |
max:60
|
| restoreInventory | bool | No | — |
Ejemplo de request
curl -X POST https://restofy.pro/api/pos-cancellation/cancel-order \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-H "X-Tenant-Key: <tenantKey>" \
-d '{
"orderUuid": "string",
"cancellationReasonId": 1,
"cashRegisterSessionId": 1
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
{
"orderUuid": "a8094b61-afc3-4da8-8d69-900c35cf11f6",
"cancellationReasonId": 9,
"cashRegisterSessionId": 2,
"cancellationReason": "test cancel"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"orderUuid": "a8094b61-afc3-4da8-8d69-900c35cf11f6"
}
}