> ## 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 do desconto

> Busque um desconto pelo id para ver regras, período e status atual.

Retorna um desconto pelo `discountId`, com as regras e o `status` calculado no momento da consulta.

## Requisição

**merchantId** `uuid` *required*

A loja.

**discountId** `uuid` *required*

O `id` do desconto.

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

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

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

## Resposta

Este é o objeto desconto, o mesmo devolvido pela listagem, pelo cadastro, pela atualização e pelas ações.

**id** `uuid`

Identificador do desconto.

**createdAt** `datetime`

Quando o desconto foi cadastrado.

**startsAt** `datetime`

A partir de quando o desconto vale.

**endsAt** `datetime`

Até quando o desconto vale. Só vem quando o desconto tem data de fim.

**type** `string`

`SMART` ou `COUPON`.

**name** `string`

Nome do desconto. Só vem em `SMART`.

**code** `string`

Código do cupom. Só vem em `COUPON`.

**status** `string`

`SCHEDULED`, `ACTIVE` ou `OVERDUE`, calculado a partir das datas. Veja [status](/docs/guides/merchant/discount.md#status).

**rules** `object`

**propriedades**

**valueType** `string`

`PERCENTAGE` ou `FIXED_AMOUNT`.

**value** `number`

Valor do desconto.

**minimumOrderValue** `number`

Valor mínimo dos produtos na sacola. `0` não exige mínimo.

**usageLimit** `integer`

Limite total de usos. `0` é ilimitado.

**usagePerCustomer** `string`

`MANY`, `ONCE` ou `FIRST_ORDER`.

**discountType** `string`

`SUBTOTAL`, `TOTAL` ou `DELIVERY`.

**options** `string[]`

`NON_PROMOTION_PRODUCTS` e `CUMULATIVE_WITH_SMART`. Só vem quando alguma opção está ligada.

O significado de cada regra e opção está em [adicionar um desconto](/docs/guides/merchant/discount/adicionar-um-desconto.md#requisição).

> [tab] SMART
>
> ```json theme={null}
> {
>   "id": "157d21eb-2055-4429-9162-ad824d4a764d",
>   "createdAt": "2023-08-02T20:32:47-03:00",
>   "startsAt": "2024-04-28T17:18:00-03:00",
>   "type": "SMART",
>   "name": "Desconto 10%",
>   "status": "ACTIVE",
>   "rules": {
>     "valueType": "PERCENTAGE",
>     "value": 10.0,
>     "minimumOrderValue": 32.0,
>     "usageLimit": 0,
>     "usagePerCustomer": "MANY",
>     "discountType": "SUBTOTAL"
>   },
>   "options": ["NON_PROMOTION_PRODUCTS"]
> }
> ```

> [tab] COUPON
>
> ```json theme={null}
> {
>   "id": "8a3e1f20-6c4b-4d8e-9b71-2f5c0d9e4a16",
>   "createdAt": "2023-08-02T20:32:47-03:00",
>   "startsAt": "2024-04-28T17:18:00-03:00",
>   "endsAt": "2024-04-30T17:18:00-03:00",
>   "type": "COUPON",
>   "code": "10OFF",
>   "status": "OVERDUE",
>   "rules": {
>     "valueType": "FIXED_AMOUNT",
>     "value": 10.0,
>     "minimumOrderValue": 32.0,
>     "usageLimit": 0,
>     "usagePerCustomer": "ONCE",
>     "discountType": "TOTAL"
>   },
>   "options": ["CUMULATIVE_WITH_SMART", "NON_PROMOTION_PRODUCTS"]
> }
> ```

## Erros

| Status | Quando |
| - | - |
| `403 Forbidden` | A loja não contratou o módulo de descontos. |
| `404 Not Found` | O `merchantId` não autorizou o seu app, ou o desconto não existe ou foi removido. |


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