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

# Negue um cancelamento

> Negue o cancelamento e mantenha o pedido ativo.

Chame este endpoint quando sua loja negar uma solicitação `CANCELLATION_REQUESTED`. Informe o motivo exigido pelo payload.

## Parâmetros de rota

<ParamField path="orderId" type="string (uuid)" required>
  Identificador único do pedido cuja solicitação de cancelamento você está negando. Gerado pela Onbeef e retornado no evento do pedido.
</ParamField>

## Corpo da requisição

<ParamField body="reason" type="string" required>
  Explicação em texto livre para a negativa do cancelamento. Pode ser compartilhada com o cliente ou com a parte solicitante.
</ParamField>

<ParamField body="code" type="string" required>
  Código padronizado descrevendo o motivo da negativa. Deve ser um dos valores a seguir:

  | Código                                    | Descrição                                                  |
  | ----------------------------------------- | ---------------------------------------------------------- |
  | `SYSTEMIC_ISSUES`                         | Motivo técnico ou de sistema.                              |
  | `DUPLICATE_APPLICATION`                   | O pedido foi identificado como duplicado e ainda é válido. |
  | `UNAVAILABLE_ITEM`                        | Negativa baseada em contexto de item.                      |
  | `RESTAURANT_WITHOUT_DELIVERY_PERSON`      | Contexto de ausência de entregador.                        |
  | `OUTDATED_MENU`                           | Contexto de cardápio desatualizado.                        |
  | `ORDER_OUTSIDE_THE_DELIVERY_AREA`         | Contexto de área de entrega.                               |
  | `BLOCKED_CUSTOMER`                        | Contexto de status do cliente.                             |
  | `OUTSIDE_DELIVERY_HOURS`                  | Contexto de horário de operação.                           |
  | `INTERNAL_DIFFICULTIES_OF_THE_RESTAURANT` | Pedido já está avançado demais para cancelar.              |
  | `RISK_AREA`                               | Contexto de área de risco.                                 |
  | `DELIVERY_PROBLEM`                        | Motivo relacionado à entrega.                              |
</ParamField>

## Resposta

### 204: Sem conteúdo

A negativa foi aceita. O pedido continuará em preparo e nenhum corpo de resposta é retornado.

### 401: Não autorizado

Retornado quando a requisição não inclui credenciais de autenticação válidas.

### 404: Não encontrado

Nenhum pedido foi encontrado com o `orderId` informado.

## Exemplo de requisição

<CodeGroup>
  ```bash Sandbox theme={null}
  curl --request POST \
    --url "https://api.dev.connect.onbeefapp.com.br/v1/orders/f47ac10b-58cc-4372-a567-0e02b2c3d479/denyCancellation" \
    --header "Authorization: Bearer <token>" \
    --header "Content-Type: application/json" \
    --data '{
      "reason": "O pedido já está embalado e pronto para retirada.",
      "code": "INTERNAL_DIFFICULTIES_OF_THE_RESTAURANT"
    }'
  ```

  ```bash Produção theme={null}
  curl --request POST \
    --url "https://api.connect.onbeefapp.com.br/v1/orders/f47ac10b-58cc-4372-a567-0e02b2c3d479/denyCancellation" \
    --header "Authorization: Bearer <token>" \
    --header "Content-Type: application/json" \
    --data '{
      "reason": "O pedido já está embalado e pronto para retirada.",
      "code": "INTERNAL_DIFFICULTIES_OF_THE_RESTAURANT"
    }'
  ```
</CodeGroup>

## Exemplo de corpo da requisição

```json theme={null}
{
  "reason": "O pedido já está embalado e pronto para retirada.",
  "code": "INTERNAL_DIFFICULTIES_OF_THE_RESTAURANT"
}
```

<Warning>
  Após negar um cancelamento, continue o ciclo de vida normal do pedido chamando [Pronto para retirada](/api-reference/orders/ready-for-pickup), [Despachar](/api-reference/orders/dispatch) e, por fim, [Entregue](/api-reference/orders/delivered). Deixar o pedido paralisado após negar o cancelamento pode afetar negativamente as métricas da sua loja na plataforma.
</Warning>

<Tip>
  Ao receber um evento `CANCELLATION_REQUESTED`, você precisa responder com `denyCancellation` ou [acceptCancellation](/api-reference/orders/accept-cancellation). Informe um `reason` claro e preciso para manter transparência com o cliente e a Onbeef.
</Tip>
