> ## 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 estatística do desconto

> Veja quanto um desconto custou, quanto vendeu e quantos clientes trouxe ou reativou.

Retorna o desempenho acumulado de um desconto desde o cadastro: valor concedido, faturamento dos pedidos, ticket médio e clientes novos e reativados.

## 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}/stats' \
  --header 'Authorization: Bearer {token}'
```

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

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

## Resposta

Os valores em dinheiro vêm como objeto com `value` e `currency` (sempre `BRL`), com até 4 casas decimais.

**id** `uuid`

O `id` do desconto.

**totalDiscount** `object`

Soma do desconto concedido nos pedidos que usaram este desconto.

**propriedades**

**value** `number`

Valor.

**currency** `string`

`BRL`.

**totalOrder** `object`

Soma do total desses pedidos. Mesmo formato de `totalDiscount`.

**totalOrderAverage** `object`

Ticket médio: `totalOrder` dividido por `totalOrderCount`. `0` quando não há pedidos. Mesmo formato de `totalDiscount`.

**totalOrderCount** `integer`

Quantos pedidos usaram o desconto.

**totalNewCustomers** `integer`

Clientes cujo **primeiro pedido na loja** usou este desconto.

**totalReactivatedCustomers** `integer`

Clientes que usaram o desconto num pedido feito mais de 30 dias depois de um pedido anterior deles.

```json 200 OK theme={null}
{
  "id": "4b4012e5-2555-4f35-91cf-f87e4cb61353",
  "totalDiscount": { "value": 3602.14, "currency": "BRL" },
  "totalOrder": { "value": 33136.26, "currency": "BRL" },
  "totalOrderAverage": { "value": 142.2157, "currency": "BRL" },
  "totalOrderCount": 233,
  "totalNewCustomers": 209,
  "totalReactivatedCustomers": 94
}
```

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