> ## 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.

# Entenda o ciclo do pedido

> Conheça os eventos e estados usados para processar pedidos na Onbeef.

Sua integração consulta eventos, obtém o pedido e atualiza seu estado até a entrega.

## Estados principais

```text theme={null}
CREATED → CONFIRMED → READY_FOR_PICKUP → DISPATCHED → DELIVERED
```

| Estado             | Ação da integração                      |
| ------------------ | --------------------------------------- |
| `CREATED`          | Consulte os detalhes e aceite o pedido. |
| `CONFIRMED`        | Inicie o preparo.                       |
| `READY_FOR_PICKUP` | Informe que o pedido está pronto.       |
| `DISPATCHED`       | Informe que a entrega começou.          |
| `DELIVERED`        | Finalize o pedido.                      |

## Eventos

A Onbeef entrega eventos por polling. O fluxo tem três ações:

<Steps>
  <Step title="Consulte">
    Busque eventos pendentes em `GET /v1/events:polling`.
  </Step>

  <Step title="Processe">
    Use o `orderId` para consultar o pedido e executar a ação necessária.
  </Step>

  <Step title="Confirme">
    Envie os eventos processados para `POST /v1/events/acknowledgment`.
  </Step>
</Steps>

Eventos não confirmados podem aparecer novamente no próximo polling. Sua integração deve evitar o processamento duplicado.

## Dados do pedido

`GET /v1/orders/{orderId}` retorna itens, cliente, pagamento, entrega, valores e estado atual.

Use o `orderId` em todas as mudanças de estado. Use `orderExternalCode` para associar o pedido ao seu sistema quando esse campo for solicitado.

## Cancelamentos

Sua integração pode solicitar, aceitar ou negar um cancelamento:

| Ação      | Endpoint                                        |
| --------- | ----------------------------------------------- |
| Solicitar | `POST /v1/orders/{orderId}/requestCancellation` |
| Aceitar   | `POST /v1/orders/{orderId}/acceptCancellation`  |
| Negar     | `POST /v1/orders/{orderId}/denyCancellation`    |

<Card title="Processar pedidos" icon="bag-shopping" href="/guides/order-flow">
  Siga o fluxo completo, do polling à entrega.
</Card>
