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

> ## Agent Instructions
> Documentação das APIs da DeliveryVip, em português. Regras que mais quebram integrações: (1) Merchant API: faça polling em GET /merchant/v3/events:polling no máximo a cada 30 s por token; confirme todo evento recebido com POST /merchant/v3/events/acknowledgment e corpo [{"id": "<eventId>"}] (o campo lido é id, não eventId), inclusive eventos repetidos ou que o sistema não trata; deduplique por eventId; o evento é só um aviso, busque o pedido na orderURL. (2) Tokens client_credentials valem 24 h e não têm refresh_token: peça outro ao receber 401. (3) Webhooks: valide a assinatura HMAC sobre o corpo bruto e responda 2xx rápido; o polling é a reconciliação. (4) Open Delivery: host od.deliveryvip.com.br, um client_secret por loja, datas em UTC. (5) Fidelidade: o operador implementa 5 rotas assinadas com HMAC e chama o config push; o estorno precisa ser idempotente. (6) Partner API: scope dv.partner. Não invente endpoints: use a referência gerada das specs OpenAPI.

# Obter detalhes da comanda

> Busque uma comanda pelo id para conferir a situação ou recuperar o QR Code.

Retorna uma comanda pelo `tabId`. Útil para conferir se ela está aberta antes de lançar algo no PDV, ou para reimprimir o QR Code.

## Requisição

**merchantId** `uuid` *required*

A loja.

**tabId** `uuid` *required*

O `id` da comanda.

```bash cURL theme={null}
curl 'https://api.deliveryvip.com.br/merchant/v3/{merchantId}/tabs/{tabId}' \
  --header 'Authorization: Bearer {token}'
```

```js Node.js theme={null}
const response = await fetch(
  `https://api.deliveryvip.com.br/merchant/v3/${merchantId}/tabs/${tabId}`,
  { headers: { Authorization: `Bearer ${token}` } },
)
const tab = await response.json()
```

```python Python theme={null}
response = requests.get(
    f"https://api.deliveryvip.com.br/merchant/v3/{merchant_id}/tabs/{tab_id}",
    headers={"Authorization": f"Bearer {token}"},
)
tab = response.json()
```

## Resposta

**id** `uuid`

Identificador da comanda.

**createdAt** `datetime`

Quando a comanda foi cadastrada.

**name** `string`

Identificação que a equipe vê.

**code** `string`

Código da comanda, único na loja.

**qrcode** `string`

URL que o QR Code da comanda deve conter.

**status** `string`

`AVAILABLE` ou `UNAVAILABLE` (campo legado).

**situation** `string`

`OPENED` ou `CLOSED`: se a comanda aceita consumo.

```json 200 OK theme={null}
{
  "id": "bd806fca-f2f8-4dcc-b71f-643f9d5bc2a7",
  "createdAt": "2023-02-07T16:23:44-03:00",
  "name": "0010",
  "code": "SA51LWb3wCZWCHHgpVRnRZwu",
  "qrcode": "https://qrcode.dvstore.com/qrcode/indoor_tab_bd806fca-f2f8-4dcc-b71f-643f9d5bc2a7",
  "status": "AVAILABLE",
  "situation": "OPENED"
}
```

## Erros

| Status | Quando |
| - | - |
| `401 Unauthorized` | Token ausente, expirado ou inválido. |
| `404 Not Found` | O `merchantId` não autorizou o seu app, a comanda não existe, foi removida ou o `tabId` não é um UUID válido. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.