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

# Ativar um desconto

> Coloque um desconto para valer agora, sem data de fim.

Ativa o desconto na hora: `startsAt` passa a ser o momento da chamada e `endsAt` é apagado. O `status` vira `ACTIVE` e o desconto vale até ser desativado ou ganhar uma nova data de fim.

Use para reativar um desconto vencido ou desativado, ou para antecipar um desconto agendado.

> [!WARNING]
>
> A data de fim é apagada. Se o desconto precisa terminar numa data, [atualize](/docs/guides/merchant/discount/atualizar-um-desconto.md) `endsAt` depois de ativar.

## Requisição

**merchantId** `uuid` *required*

A loja.

**discountId** `uuid` *required*

O `id` do desconto.

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

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

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

## Resposta

Retorna `200 OK` com o [objeto desconto](/docs/guides/merchant/discount/obter-detalhes-do-desconto.md#resposta), já sem `endsAt`.

```json 200 OK theme={null}
{
  "id": "4b4012e5-2555-4f35-91cf-f87e4cb61353",
  "createdAt": "2021-12-22T15:21:00-03:00",
  "startsAt": "2024-08-02T16:56:35-03:00",
  "type": "SMART",
  "name": "10% na Primeira Compra",
  "status": "ACTIVE",
  "rules": {
    "valueType": "PERCENTAGE",
    "value": 10.0,
    "minimumOrderValue": 106.0,
    "usageLimit": 0,
    "usagePerCustomer": "FIRST_ORDER",
    "discountType": "SUBTOTAL"
  },
  "options": ["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.