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

# Revendas

> Endpoints para listar, cadastrar e gerenciar revendas, assinaturas, membros e apps autorizados.

Endpoints de revendas. Todos exigem [autenticação](/docs/reference/partner/v2/authentication.md) com um token **de parceiro** e o scope `dv.partner`. Para o fluxo completo, veja o guia de [Revendas](/docs/guides/partner/resale.md).

| Etapa | Endpoint | Guia |
| - | - | - |
| 1. Cadastrar | `POST /{partnerId}/resales`: a revenda nasce em `TRIAL` por 10 dias, com uma loja de demonstração. | [Cadastrar uma revenda](/docs/guides/partner/resale/utilizando-a-api/adicionar-um-resale.md) |
| 2. Dar acesso | Membros do painel e, se a revenda tiver sistema próprio, o app dela com `dv.partner`. | [Membros](/docs/guides/partner/resale/utilizando-a-api/membros-da-revenda.md) e [apps](/docs/guides/partner/resale/utilizando-a-api/gerenciar-permissao-de-aplicativos-das-revendas.md) |
| 3. Ativar | `POST /resales/{resaleId}/activate`. Lojas da revenda só são ativadas com a revenda ativa. | [Assinatura](/docs/guides/partner/resale/utilizando-a-api/gerenciar-assinatura-das-revendas.md) |
| 4. Consultar | `GET /resales` e `GET /resales/{resaleId}`. | [Listar revendas](/docs/guides/partner/resale/utilizando-a-api/listar-resales.md) |

> [!NOTE]
>
> A assinatura da revenda não tem plano: `activate` e `subscription` aceitam só `subscription.agreementCode`. No cadastro, o CPF do responsável vai em `personResponsible.document`.

> [!WARNING]
>
> Descontinuados, mas ainda respondendo com os headers `Deprecation` e `Sunset` (data anunciada: 01/07/2025):
>
> * `GET /partner/v2/resales/invoices` → use `GET /partner/v2/{partnerId}/resales/invoices`.
> * `PUT /partner/v2/resales/{resaleId}/agreementCode` → use `PUT /partner/v2/resales/{resaleId}/subscription`.


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