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

# Ações dos descontos

> Ligue ou desligue um desconto na hora, sem editar as datas manualmente.

Cada ação é um `POST` sem corpo em `/merchant/v3/{merchantId}/discounts/{discountId}/<ação>`. As ações reescrevem as datas do desconto, e a resposta é `200 OK` com o [objeto desconto](/docs/guides/merchant/discount/obter-detalhes-do-desconto.md#resposta) atualizado.

| Ação | Endpoint | Efeito nas datas | `status` resultante |
| - | - | - | - |
| [Ativar](/docs/guides/merchant/discount/acoes-dos-descontos/ativar-um-desconto.md) | `available` | `startsAt` vira agora e `endsAt` é apagado. | `ACTIVE` |
| [Desativar](/docs/guides/merchant/discount/acoes-dos-descontos/desativar-um-desconto.md) | `unavailable` | `startsAt` e `endsAt` viram agora. | `OVERDUE` |

> [!WARNING]
>
> As ações descartam o período configurado. Um desconto agendado para começar no futuro, se ativado, começa na hora e perde a data de fim. Se você precisa de um período específico, [atualize](/docs/guides/merchant/discount/atualizar-um-desconto.md) `startsAt` e `endsAt` em vez de usar as ações.

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