Cancela o pedido durante o packing
DELETE/fulfillment/packing/order/:idorder
Cancela o pedido (define IDStatusOrder = 90). Apesar do nome do endpoint, não é um "undo" do packing — é cancelamento real:
- Libera reserva de estoque:
UPDATE StockKeepingUnitMovement SET BalanceChange = 0, IDBatch = 0. - Cancela contas a receber do pedido:
UPDATE AccountsPayableReceivable SET IDStatusAccountPayableReceivable = 4. - Apaga todos os volumes:
DELETE FROM Packages WHERE IDOrder = ?. - Limpa vínculos:
Orders.PickingBasket = NULL,IDOrdersCarrierCollectionList = NULL,IDPickingList = NULL. - Registra evento
IDEvent=19(cancelamento) com o motivo emOrderEvents.Comments. - Quando a parametrização Endereço transferência cancelamento pedido packing está configurada, dispara
skuMovementTransferPostpara mover cada item de estoque ao endereço de Devolução.
O frontend faz autenticação dupla antes de chamar: primeiro POST /user/{IDUser}/verify (com PrivilegeAllowOrderCancelPacking) para obter o TempAuthToken, depois envia o motivo no body.
Request
Responses
- 200
- 400
Sucesso. Retorna o literal "sucesso".
Mensagens [BadRequest] típicas:
Pedido não encontrado.Desvincular nota fiscal antes de alterar status—IDStatusInvoice IN (2,3,4,5,7,8)(Enviada, Emitida, Processando, Pendente Conciliação EPEC, Cancelada, Denegada).Pedido esta em romaneio X, retirar antes de mudar status.Pedido já esta cancelado—IDStatusOrder IN (90, 100).