VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Conteúdo da vitrine

Os textos, imagens e formulários que o cliente vê na loja além do catálogo: banners, páginas, blog, FAQ, formulários e anúncios.

Além de produtos, uma loja tem conteúdo: o banner da campanha na home, a página "Sobre nós", os artigos do blog, o formulário de contato. Esta seção reúne as rotas públicas que um front-end usa para ler e, em alguns casos, enviar esse conteúdo. O conteúdo é cadastrado no painel do administrador (ou do seller); aqui você só consome.

Nenhuma rota desta seção exige login do cliente. Quase todas dependem de um módulo que a loja liga ou desliga; módulo desligado devolve 403 module_disabled.

Pontos principais
  • Só aparece o conteúdo da loja (marketplace). Banners, páginas e posts cadastrados por um seller vivem na vitrine própria dele e não saem nestas rotas.
  • Respostas trazem campos extras com nomes alternativos (page_id, seo_name, timestamp...). São apelidos dos campos principais; use os campos principais em integrações novas.
  • Idioma: ?lang=pt-BR na URL vale mais que o cabeçalho Accept-Language; sem nenhum dos dois, vale pt-BR. Páginas e detalhe de post caem em outro idioma se faltar tradução; a lista de posts não, e fica vazia.
  • Status de conteúdo que vem como letra (A ativo) ou palavra (active) depende da rota; cada página diz qual.
  • Datas são RFC 3339 em UTC.

Como funciona

Quero...RotaMódulo
Montar o carrossel da homeBannersbanners
Mostrar "Sobre nós", políticasPáginas(sempre ligado)
Listar e ler artigosPosts do blogblog
Ler e enviar comentáriosComentários do blogblog
Ajuda da plataformaFAQ(sempre ligado)
Receber um contato ou leadFormulárioscustom-forms
Telas do app mobilePáginas do appmobile-pages
Produtos patrocinadosAnúncios(Venddor Ads)
"Esta avaliação foi útil"Voto de utilidadeproduct-reviews

Conceitos principais

Conteúdo da loja x do seller

Em um marketplace, cada seller (lojista) pode ter banners, páginas, posts e formulários próprios. Eles aparecem só na vitrine do seller. As rotas desta seção devolvem apenas o conteúdo da loja.

Idiomas

O texto de páginas, categorias e posts de blog é guardado por idioma. O idioma vem de ?lang= ou de Accept-Language (só o primeiro valor, por exemplo en-US). Veja o comportamento de cada rota nas páginas; a lista de posts é a mais sensível.

Cache

Banners e as rotas de lives saem com Cache-Control: no-store (cada visitante pode ver uma lista diferente). Páginas, blog e demais leituras saem com Cache-Control: public, max-age=300 (5 minutos), e o FAQ com max-age=60. Uma alteração feita no painel pode levar alguns minutos para aparecer em quem já abriu a página.

Endpoints

MétodoRotaPara quêAutenticação
GET/api/v1/storefront/bannersLista os banners ativos.Pública (token opcional)
GET/api/v1/storefront/pagesLista as páginas ativas.Pública
GET/api/v1/storefront/pages/{slug}Lê uma página pelo slug.Pública
GET/api/v1/storefront/blog/categoriesLista as categorias do blog.Pública
GET/api/v1/storefront/blog/postsLista os posts publicados.Pública
GET/api/v1/storefront/blog/posts/{slug}Lê um post pelo slug.Pública
GET/api/v1/storefront/blog/posts/{postId}/commentsLista os comentários aprovados.Pública
POST/api/v1/storefront/blog/posts/{postId}/commentsEnvia um comentário.Pública (token opcional)
GET/api/v1/storefront/faqLista os artigos do FAQ da plataforma.Pública
GET/api/v1/storefront/faq/searchBusca no FAQ.Pública
GET/api/v1/storefront/forms/{slug}Lê a definição de um formulário.Pública
POST/api/v1/storefront/forms/{slug}/submitEnvia as respostas.Pública
GET/api/v1/storefront/mobile-pagesLista as páginas do app.Pública
GET/api/v1/storefront/mobile-pages/{id}Lê uma página do app.Pública
GET/api/v1/storefront/ads/slotsPede anúncios patrocinados.Pública
POST/api/v1/storefront/ads/eventsRegistra clique em anúncio.Pública
POST/api/v1/storefront/reviews/{id}/helpfulVota que uma avaliação foi útil.Pública (sessão ou token)

Erros comuns

  • Mandar Accept-Language: en-US e receber a lista de posts vazia. Os posts só aparecem em idiomas que têm tradução cadastrada. Mande ?lang=pt-BR ou trate a lista vazia.
  • Procurar um comentário ou post pelo slug na URL de comentários. {postId} nos comentários é o UUID do post, não o slug.
  • Esquecer o módulo. 403 module_disabled quer dizer que a loja desligou o módulo daquela rota, e não que falta permissão.
  • Exibir o corpo de página ou de e-mail sem sanitizar. Páginas e posts trazem HTML ou Markdown cadastrado no painel.
  • Ler o status como palavra. Dependendo da rota, ele vem como letra (A).
  • Usar ids de tipo errado. Ids desta seção são UUID, e um texto não UUID costuma responder 500 com mensagem em português, não 400.

Próximos passos

Banners
O carrossel da home.
Páginas
Sobre nós, políticas e páginas livres.
Blog
Artigos, categorias e comentários.
Formulários
Receba leads e contatos.
Anterior
Blog do seller
Próxima
Banners
Nesta página
  • Como funciona
  • Conceitos principais
  • Conteúdo da loja x do seller
  • Idiomas
  • Cache
  • Endpoints
  • Erros comuns
  • Próximos passos