VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Identidade e configurações da loja

Vitrine do seller

Lê e grava a vitrine própria do seller (microsite): logo, banner, cores, SEO, redes sociais, domínio e publicação.

O microsite é a página própria do seller dentro da loja: uma vitrine com a identidade dele, que lista os produtos, páginas e posts do seller. Estas duas rotas leem e gravam a configuração visual dessa vitrine. Elas exigem um privilégio de configuração do seller (por exemplo vendor_settings).

Ler a vitrine

Devolve a configuração gravada. Se o seller nunca gravou nada, devolve um objeto padrão (color_scheme e social_links vazios, is_published: false) em vez de 404.

GET/api/v1/vendor/storefront-configSeller

Ler a vitrine do seller

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso de um usuário do painel do seller (lojista), obtido no login (veja Tokens).

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/vendor/storefront-config" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Configuração
json
{
  "id": "3f2b9c1e-6d4a-4e58-8a77-1c9d0e5b2a64",
  "vendor_id": "7c1f0b52-3a64-4d1e-9a40-5f0c2b6a91d3",
  "custom_domain": "loja.minhaempresa.com.br",
  "logo_url": "https://cdn.example.com/vendor/logo.png",
  "banner_url": "https://cdn.example.com/vendor/banner.jpg",
  "color_scheme": {
    "primary": "#0044ff",
    "accent": "#ffb400"
  },
  "description": "Cafeteiras e acessórios para sua cozinha.",
  "seo_title": "Cafeteiras e acessórios | Minha Empresa",
  "seo_description": "As melhores cafeteiras com envio rápido para todo o Brasil.",
  "social_links": {
    "instagram": "https://instagram.com/minhaempresa",
    "whatsapp": "https://wa.me/5511987654321"
  },
  "custom_css": null,
  "is_published": true,
  "created_at": "2026-09-01T12:00:00Z",
  "updated_at": "2026-10-11T18:20:00Z"
}

Campos da resposta

iduuid
Id da configuração. Ausente enquanto o seller nunca gravou a vitrine.
vendor_iduuid
Seller dono da vitrine.
custom_domainstring
Domínio próprio da vitrine. Ausente se não houver.
logo_urlstring
URL do logo. Ausente se não houver.
banner_urlstring
URL do banner. Ausente se não houver.
color_schemeobject
Mapa de nomes de cor para valores (por exemplo primary, accent). Sempre um objeto, {} quando vazio.
descriptionstring
Texto de apresentação. Ausente se não houver.
seo_titlestring
Título para buscadores. Ausente se não houver.
seo_descriptionstring
Descrição para buscadores. Ausente se não houver.
social_linksobject
Mapa de rede social para URL. Sempre um objeto.
custom_cssstring
CSS personalizado da vitrine. Ausente se não houver.
is_publishedboolean
Se a vitrine está publicada.
created_atstring
RFC 3339. Ausente enquanto nunca gravada.
updated_atstring
RFC 3339.

Erros

StatusQuandoCorpo
401Sem token ou token inválido/expirado.{"error":"missing authorization header"} / {"error":"invalid or expired token"}
403O token não é de um usuário seller (por exemplo, é de um administrador da loja).{"error":"insufficient permissions"}
403O cadastro do seller ainda está em análise (só a tela de cadastro funciona até a aprovação).{"error":"vendor_pending_review","message":"..."}
403O usuário da equipe do seller não tem nenhum dos privilégios de configuração (por exemplo vendor_settings).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings", "..."]}
404O usuário não está ligado a nenhum seller.{"error":"VENDOR_NOT_FOUND","detail":"vendor profile not found"}
500Falha ao ler.{"error":"STOREFRONT_GET_FAILED","detail":"..."}

Gravar a vitrine

Cria ou substitui a configuração da vitrine (upsert por seller). Todos os campos são regravados com o que você enviar.

PUT/api/v1/vendor/storefront-configSeller

Gravar a vitrine do seller

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso de um usuário do painel do seller (lojista), obtido no login (veja Tokens).
Content-Typestringobrigatório
application/json.

Corpo da requisição

custom_domainstring
Domínio próprio, por exemplo loja.minhaempresa.com.br. Omitido, é apagado.
logo_urlstring
URL do logo (veja Upload de mídia).
banner_urlstring
URL do banner.
color_schemeobject
Mapa de nome de cor para valor. Omitido, vira {}.
descriptionstring
Texto de apresentação.
seo_titlestring
Título para buscadores.
seo_descriptionstring
Descrição para buscadores.
social_linksobject
Mapa de rede social para URL. Omitido, vira {}.
custom_cssstring
CSS personalizado da vitrine.
is_publishedbooleanpadrão: false
true publica a vitrine. Omitido, vale false.

Exemplo de requisição

bash
curl -X PUT "$BASE_URL/api/v1/vendor/storefront-config" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "custom_domain": "loja.minhaempresa.com.br",
  "logo_url": "https://cdn.example.com/vendor/logo.png",
  "banner_url": "https://cdn.example.com/vendor/banner.jpg",
  "color_scheme": {
    "primary": "#0044ff",
    "accent": "#ffb400"
  },
  "description": "Cafeteiras e acessórios para sua cozinha.",
  "seo_title": "Cafeteiras e acessórios | Minha Empresa",
  "seo_description": "As melhores cafeteiras com envio rápido para todo o Brasil.",
  "social_links": {
    "instagram": "https://instagram.com/minhaempresa",
    "whatsapp": "https://wa.me/5511987654321"
  },
  "is_published": true
}'

Resposta

200Configuração gravada
json
{
  "id": "3f2b9c1e-6d4a-4e58-8a77-1c9d0e5b2a64",
  "vendor_id": "7c1f0b52-3a64-4d1e-9a40-5f0c2b6a91d3",
  "custom_domain": "loja.minhaempresa.com.br",
  "logo_url": "https://cdn.example.com/vendor/logo.png",
  "banner_url": "https://cdn.example.com/vendor/banner.jpg",
  "color_scheme": {
    "primary": "#0044ff",
    "accent": "#ffb400"
  },
  "description": "Cafeteiras e acessórios para sua cozinha.",
  "seo_title": "Cafeteiras e acessórios | Minha Empresa",
  "seo_description": "As melhores cafeteiras com envio rápido para todo o Brasil.",
  "social_links": {
    "instagram": "https://instagram.com/minhaempresa",
    "whatsapp": "https://wa.me/5511987654321"
  },
  "custom_css": null,
  "is_published": true,
  "created_at": "2026-09-01T12:00:00Z",
  "updated_at": "2026-10-11T18:20:00Z"
}

Campos da resposta

iduuid
Id da configuração. Ausente enquanto o seller nunca gravou a vitrine.
vendor_iduuid
Seller dono da vitrine.
custom_domainstring
Domínio próprio da vitrine. Ausente se não houver.
logo_urlstring
URL do logo. Ausente se não houver.
banner_urlstring
URL do banner. Ausente se não houver.
color_schemeobject
Mapa de nomes de cor para valores (por exemplo primary, accent). Sempre um objeto, {} quando vazio.
descriptionstring
Texto de apresentação. Ausente se não houver.
seo_titlestring
Título para buscadores. Ausente se não houver.
seo_descriptionstring
Descrição para buscadores. Ausente se não houver.
social_linksobject
Mapa de rede social para URL. Sempre um objeto.
custom_cssstring
CSS personalizado da vitrine. Ausente se não houver.
is_publishedboolean
Se a vitrine está publicada.
created_atstring
RFC 3339. Ausente enquanto nunca gravada.
updated_atstring
RFC 3339.

Erros

StatusQuandoCorpo
401Sem token ou token inválido/expirado.{"error":"missing authorization header"} / {"error":"invalid or expired token"}
403O token não é de um usuário seller (por exemplo, é de um administrador da loja).{"error":"insufficient permissions"}
403O cadastro do seller ainda está em análise (só a tela de cadastro funciona até a aprovação).{"error":"vendor_pending_review","message":"..."}
403O usuário da equipe do seller não tem nenhum dos privilégios de configuração (por exemplo vendor_settings).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings", "..."]}
400Corpo que não é JSON.{"error":"INVALID_INPUT","detail":"invalid JSON body"}
400Falha ao gravar (por exemplo, domínio já usado por outro seller).{"error":"STOREFRONT_UPDATE_FAILED","detail":"..."}
404O usuário não está ligado a nenhum seller.{"error":"VENDOR_NOT_FOUND","detail":"vendor profile not found"}
Substituição total

Esta rota não é parcial. Um corpo {"description":"novo texto"} apaga logo, banner, cores, SEO, redes sociais e domínio, e despublica a vitrine. Faça GET, altere o objeto e devolva-o inteiro.

Efeito na vitrine pública

A gravação avisa o resto da plataforma, que atualiza o cache da vitrine pública do seller. Pode levar alguns instantes para aparecer.

Anterior
Cores do painel
Próxima
Cadastro e configurações
Nesta página
  • Ler a vitrine
  • Exemplo de requisição
  • Resposta
  • Erros
  • Gravar a vitrine
  • Exemplo de requisição
  • Resposta
  • Erros