> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancelar pedido

> Cancele um pedido existente no FIRE diretamente pelo FUEL sem precisar acessar o backoffice do FIRE.

Use a aba **Cancelar pedido** para enviar uma solicitação de cancelamento ao FIRE para um pedido que já está no sistema. Isso é útil quando você precisa limpar pedidos de teste, simular fluxos de cancelamento ou verificar se o FIRE realiza corretamente a transição de um pedido para o estado cancelado.

<img src="https://mintcdn.com/firepos/9UYk1f5ElnChzAeP/images/fuel/tab-cancel-order-pt.png?fit=max&auto=format&n=9UYk1f5ElnChzAeP&q=85&s=47da0e8d0ae8319937a9596c1a394f42" alt="Aba Cancelar pedido — campo de ID do pedido, motivo e histórico de cancelamentos" width="1920" height="945" data-path="images/fuel/tab-cancel-order-pt.png" />

<Warning>
  O cancelamento é irreversível. Uma vez que um pedido é cancelado no FIRE, ele não pode ser restaurado. A operação só é bem-sucedida para pedidos que estão em um estado cancelável — normalmente `received` ou `processing`. Pedidos que já estão com status `completed`, `cancelled` ou `dispatched` retornarão um erro.
</Warning>

## Antes de começar

Certifique-se de que o contexto operacional está definido na barra lateral: ambiente, conta, país, fornecedor e loja devem estar todos selecionados. As solicitações de cancelamento são enviadas para o ambiente do FIRE que você tem ativo.

## Como cancelar um pedido

<Steps>
  <Step title="Abra a aba Cancelar pedido">
    Clique em **Cancelar pedido** na navegação superior. A aba exibe um único campo de busca e uma área de ação de cancelamento.
  </Step>

  <Step title="Informe o identificador do pedido">
    Digite o **External Order ID** (o ID que seu sistema atribuiu quando o pedido foi criado) ou o **Order Code** (o código alfanumérico curto visível na lista de pedidos do FIRE) no campo de busca.

    <Tip>
      Se você injetou o pedido pelo **Pedido individual** ou pelo **Batch**, o External Order ID é exibido no cartão de resposta e no log de resultados no painel direito.
    </Tip>
  </Step>

  <Step title="Verifique o pedido (opcional)">
    Clique em **Buscar** para localizar o pedido no FIRE antes de cancelar. O FUEL exibirá o status atual do pedido, o canal e o horário de criação para que você confirme que está com o pedido correto. Esta etapa é opcional — você pode prosseguir para o cancelamento sem realizar a busca primeiro.
  </Step>

  <Step title="Cancele o pedido">
    Clique em **Cancelar pedido**. Um diálogo de confirmação aparece solicitando que você confirme a ação. Revise o identificador do pedido exibido no diálogo e clique em **Confirmar** para prosseguir.
  </Step>

  <Step title="Revise a resposta">
    Após a conclusão da solicitação, o FUEL exibe a resposta bruta do FIRE:

    * **Sucesso** — O FIRE retorna o objeto do pedido atualizado com o status `cancelled`. O cartão de resposta é destacado em verde.
    * **Erro** — O FIRE retorna um código de erro e uma mensagem. As causas mais comuns são pedido não encontrado, identificador inválido ou pedido em um estado não cancelável.
  </Step>
</Steps>

## Referência de resposta

<CardGroup cols={2}>
  <Card title="Sucesso (200)">
    O FIRE aceitou o cancelamento. O corpo da resposta contém o objeto completo do pedido com `"status": "cancelled"` e um timestamp `cancelledAt`.
  </Card>

  <Card title="Erro (4xx / 5xx)">
    O FIRE rejeitou o cancelamento. Verifique o campo `message` no corpo da resposta. Mensagens comuns incluem `Order not found`, `Order already cancelled` e `Order cannot be cancelled in current state`.
  </Card>
</CardGroup>

## Observações

<Note>
  O FUEL chama o endpoint de cancelamento do FIRE em `POST /v1/orders/:id/cancel`. O `:id` utilizado é o ID interno do pedido no FIRE, resolvido a partir do External Order ID ou Order Code informado. Se a busca falhar, o FUEL exibirá um erro de "não encontrado" antes de tentar o cancelamento.
</Note>

Se você precisar cancelar muitos pedidos de uma só vez, considere usar um script diretamente contra a API do FIRE — a aba **Cancelar pedido** foi projetada para cancelamentos individuais e pontuais durante testes e depuração.
