> ## 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 da loja

> Consulte cadastro, responsável, endereço, assinatura e recursos de uma loja.

`GET /partner/v2/merchants/{merchantId}` devolve a loja completa. É o mesmo objeto que vem em cada item de [Listar lojas](/docs/guides/partner/merchant/utilizando-a-api/listar-merchants.md) e na resposta do cadastro.

| Status | Quando |
| - | - |
| `200 OK` | A loja. |
| `404 Not Found` | A loja não existe ou não está abaixo de quem autorizou o app. |

## Requisição

```bash cURL theme={null}
curl 'https://api.deliveryvip.com.br/partner/v2/merchants/{merchantId}' \
  --header 'Authorization: Bearer {token}'
```

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

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

```json Resposta (200) theme={null}
{
  "id": "466caa37-ab0b-4f9d-b583-896681627367",
  "name": "Cantina da Maria",
  "corporateName": "Cantina da Maria LTDA",
  "identifier": "11.222.333/0001-44",
  "email": "contato@cantinadamaria.com.br",
  "storeUrl": "https://cantinadamaria.dvstore.com.br",
  "createdAt": "2025-09-30T17:35:03-03:00",
  "updatedAt": "2025-10-02T10:12:41-03:00",
  "personResponsible": {
    "name": "Maria Silva",
    "email": "maria@exemplo.com.br",
    "phone": { "number": "5511999998888" },
    "identifier": "123.456.789-09"
  },
  "address": {
    "country": "Brasil",
    "state": "SP",
    "city": "São Paulo",
    "district": "Bela Vista",
    "street": "Avenida Paulista",
    "number": "1000",
    "postalCode": "01310-100",
    "formattedAddress": "Avenida Paulista, 1000 - Bela Vista, São Paulo - SP",
    "coordinates": { "latitude": -23.565, "longitude": -46.652 }
  },
  "subscription": {
    "status": "ACTIVATED",
    "warning": false,
    "blocked": false,
    "agreementCode": "123456",
    "lastActivationAt": "2025-10-01T09:00:00-03:00",
    "planId": "aa67c98c-d81f-5a9c-b0bc-26caa0051aea"
  },
  "features": [
    { "featureType": "DELIVERYBOT_ASSISTANT", "status": "AVAILABLE" },
    { "featureType": "INDOOR_QRCODE", "status": "ACTIVATED", "lastActivationAt": "2025-10-01T09:05:00-03:00" },
    {
      "featureType": "INDOOR_TABLET",
      "status": "CANCELLED",
      "lastActivationAt": "2025-10-01T09:05:00-03:00",
      "lastCancellationAt": "2025-10-20T17:36:56-03:00"
    }
  ],
  "partnerId": "32eeaefa-6a31-487f-9402-fd9a41683830",
  "resaleId": "ea5705df-5537-4b1b-b291-3536839d3d6f"
}
```

## Campos

Campos opcionais vazios não são enviados, nem como `null`.

**id** `uuid`

ID da loja.

**name** `string`

Nome fantasia.

**corporateName** `string`

Razão social.

**identifier** `string`

CNPJ ou CPF, formatado.

**email** `string`

E-mail da loja.

**phone** `object`

Telefone da loja, em `phone.number` (E.164 sem `+`).

**storeUrl** `string`

URL do domínio principal da loja. Só aparece quando a loja tem domínio principal.

**createdAt** `datetime`

Data do cadastro.

**updatedAt** `datetime`

Data da última alteração.

**personResponsible** `object`

Responsável pela loja.

**propriedades**

**name** `string`

Nome.

**email** `string`

E-mail.

**phone.number** `string`

Telefone, em E.164 sem `+`.

**identifier** `string`

CPF.

**address** `object`

Endereço da loja.

**propriedades**

**country** `string`

País.

**state** `string`

UF.

**city** `string`

Cidade.

**district** `string`

Bairro.

**street** `string`

Rua.

**number** `string`

Número.

**complement** `string`

Complemento, quando houver.

**reference** `string`

Ponto de referência, quando houver.

**postalCode** `string`

CEP.

**formattedAddress** `string`

Endereço completo em uma linha.

**coordinates** `object`

`latitude` e `longitude`.

**subscription** `object`

Assinatura da loja. Veja [Definições](/docs/guides/partner/merchant/definicoes.md).

**propriedades**

**status** `string`

`TRIAL`, `TRIAL_EXPIRED`, `ACTIVATED`, `CANCELLED` ou `DEMO`.

**warning** `boolean`

Se a loja está em aviso. Só com status `ACTIVATED`.

**blocked** `boolean`

Se a loja está bloqueada. Só com status `ACTIVATED`.

**agreementCode** `string`

Código do contrato, quando definido.

**trialExpiresAt** `datetime`

Fim do período de teste. Só com status `TRIAL`.

**lastActivationAt** `datetime`

Data da última ativação.

**lastCancellationAt** `datetime`

Data do último cancelamento.

**lastBlockedAt** `datetime`

Data do último bloqueio. Só com status `ACTIVATED`.

**lastWarningAt** `datetime`

Data do último aviso. Só com status `ACTIVATED`.

**planId** `uuid`

Plano de cobrança da assinatura. Veja [Planos](/docs/guides/partner/plans.md).

**features** `object[]`

Recursos da loja.

**propriedades**

**featureType** `string`

Tipo do recurso. Veja [Sobre os recursos](/docs/guides/partner/merchant/utilizando-a-api/gerenciar-recursos-dos-merchants.md#sobre-os-recursos).

**status** `string`

`AVAILABLE`, `ACTIVATED` ou `CANCELLED`.

**lastActivationAt** `datetime`

Data da última contratação.

**lastCancellationAt** `datetime`

Data do último cancelamento. Só quando o recurso não está contratado.

**partnerId** `uuid`

ID do parceiro da loja.

**resaleId** `uuid`

ID da revenda. Só aparece em lojas de revenda.


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