put
https://api.pirpos.com/orders
Actualiza los datos de un pedido existente: estado, notas, causa de cancelación, cortesía, cantidad, comensales, entre otros. Este es el endpoint utilizado para cancelar o anular un pedido.
🚫 Cómo cancelar (o anular) un pedido
Cancelar un pedido no es una ruta aparte: se hace con este mismo PUT /orders
cambiando el estado del pedido. Sigue estos pasos:
- Obtén el
_iddel pedido que deseas cancelar (por ejemplo desdeGET /orders). - Envía el cuerpo de la petición con:
_id: el ID del pedido a cancelar (obligatorio).status:"Cancelada"(también se acepta el valor equivalente"Anulada").causeCancel: el motivo de la cancelación (opcional pero recomendado).
- Resultado: el pedido queda con el nuevo estado y se emite una notificación
WebSocket con el evento
orderCancelledque incluye el producto cancelado, la cantidad, la mesa y el motivo (causeCancel) cuando están disponibles.
Ejemplo mínimo del cuerpo para cancelar:
{
"_id": "507f1f77bcf86cd799439011",
"status": "Cancelada",
"causeCancel": "El cliente cambió de opinión"
}
Nota:
"Cancelada"y"Anulada"son equivalentes: ambos valores cancelan el pedido siguiendo exactamente el mismo flujo. Si el_idno corresponde a un pedido del negocio, la respuesta será404.
Otros comportamientos:
- Si el pedido se marca como cortesía (
complementary.isComplementary = true) el precio y total se establecen en 0. - Si
updateDinersestruese actualiza la cantidad de comensales (validada entre 1 y 999) y se registra en el historial. - Si
updateQuantityestruese recalculan los totales deproductsExtrayproductsCombosegún la nueva cantidad. - Si el estado cambia a "Entregado" se descuenta del inventario.
- Cualquier cambio notifica al negocio via WebSocket (
ordersUpdated).
Autenticación requerida: Bearer Token en header Authorization: Bearer {tokenCurrent}
Permiso requerido: OR_PUT - "Cancelar Pedidos"
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…