Skip to Content
Documentação de integração da plataforma — em evolução contínua.
PedidosCancelamento

Cancelamento

Cancelar pelo ERP

POST /v1/Orders/{orderNumber}/cancel

curl -X POST $GROCERS_API/v1/Orders/104821/cancel \ -H "Authorization: Basic $BASIC" \ -H "x-contractAccountId: $TENANT"

Resposta:

{ "operationId": "7f3a1b2c-4d5e-4f60-8a71-9b0c1d2e3f40", "message": "Pedido enviado para cancelamento" }

O cancelamento é assíncrono. O 200 confirma que a chamada foi aceita e enfileirada, não que o pedido já está cancelado.

Cancelar não leva direto a ORDER_CANCELLED (800). Quando a forma de pagamento exige estorno prévio, o pedido para em ORDER_CANCELLATION_ANALYSIS (750) e só depois avança. O estorno passa por REFUND_IN_PROGRESS e termina em REFUND_COMPLETED. Trate 750 como cancelamento em andamento, não como falha — e não retente. O prazo de crédito na fatura do cliente é do emissor do cartão, não da plataforma.

Quando o cliente pede cancelamento

Não existe fila de “cancelamento solicitado” para o ERP decidir. O cancelamento pelo app é auto-serviço e a plataforma o executa sozinha, sem consultar você — mas só dentro de uma janela estreita. Fora dela, o app recusa a solicitação e o cliente é direcionado ao atendimento.

As três condições precisam valer ao mesmo tempo para o cliente conseguir cancelar pelo app:

CondiçãoRegra
StatusORDER_CREATED (100) ou PAYMENT_PENDING (200) — ou seja, antes de PAYMENT_APPROVED
Modalidadeapenas entrega agendada; expressa e retirada não permitem
Prazoaté 15 minutos após a criação do registro do pedido — que nasce como carrinho, não no checkout

Falhas

O evento Order_CancelFailed (132) chega quando o cancelamento não pôde ser processado. Causas típicas:

CausaO que fazer
Pedido já canceladonada — confira o status antes de retentar
Pedido já entreguecancelamento não se aplica; o caminho é devolução