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

# Consultar Venda no Terminal

> Consulta o estado atual de uma venda presencial — a forma segura de resolver o estado unknown

Consulta o **estado atual** de uma venda presencial. É a forma segura de descobrir o desfecho quando a
[criação da venda](/api-reference/pos/create-pos-sale) voltou `unknown` (timeout ou queda de rede): você
**consulta** em vez de reenviar, e nunca corre o risco de cobrar duas vezes.

O `{identifier}` aceita duas formas: o **`uuid`** devolvido na criação ou o seu próprio
**`external_reference`**.

<Tip>
  Consultar pelo **`external_reference`** (a referência que você enviou) é o caminho mais direto para
  conciliar — você não precisa guardar o `uuid` da Autorizou do seu lado.
</Tip>

## Parâmetros

<ParamField path="identifier" type="string" required>
  O `uuid` da venda ou o seu `external_reference`.
</ParamField>

```bash cURL theme={null}
curl "https://pay.autorizou.dev/api/v1/pos/sales/PEDIDO-8842" \
  -H "Authorization: Bearer SUA_CHAVE"
```

## Resposta

```json theme={null}
{
  "uuid": "7c9e3b21-4a8d-4f16-9b2c-1d3e5f7a9c04",
  "state": "approved",
  "amount": 5200,
  "currency": "BRL",
  "payment_method": "credit_card",
  "installments": 3,
  "external_reference": "PEDIDO-8842",
  "terminal": {
    "code": "POI0X9Q2T7K",
    "serial_number": "S123456",
    "model": "AMS1"
  },
  "payment": {
    "uuid": "AUTOCC01KW2P8M4Q7K3M9QP",
    "status": "authorized"
  },
  "created_at": "2026-07-05 14:22:10",
  "updated_at": "2026-07-05 14:22:37"
}
```

<ResponseField name="state" type="string">
  Estado atual da venda: `initiated`, `approved`, `declined`, `unknown` ou `aborted`. Enquanto for
  `initiated` ou `unknown`, a venda ainda pode mudar — consulte de novo. `approved`, `declined` e
  `aborted` são **finais**.
</ResponseField>

<ResponseField name="payment" type="object">
  A cobrança gerada, presente quando `state` é `approved`. Traz `uuid` e `status`.
</ResponseField>

<ResponseField name="updated_at" type="string">
  Última atualização do estado. Os demais campos são os mesmos da
  [criação da venda](/api-reference/pos/create-pos-sale).
</ResponseField>

## Resolvendo o estado `unknown`

<Steps>
  <Step title="Não reenvie a venda">
    Reenviar cegamente pode cobrar o cliente duas vezes.
  </Step>

  <Step title="Consulte até resolver">
    Chame este endpoint até o `state` virar `approved` ou `declined`. A recuperação da Autorizou
    reconcilia o resultado real da maquininha.
  </Step>

  <Step title="Só então conclua ou tente de novo">
    Com o estado final em mãos, siga o fluxo normal — concluir a venda (aprovada) ou nova tentativa
    (recusada, com **nova** `Idempotency-Key`).
  </Step>
</Steps>

## Erros

| HTTP  | Quando                                             |
| ----- | -------------------------------------------------- |
| `401` | Chave de API ausente ou inválida                   |
| `404` | Nenhuma venda com esse `identifier` no seu lojista |
