Stack
Next.js 13 Pages Router, React 18, TypeScript, Tailwind CSS e APIs Lean Commerce.
Guia para agência
Este documento resume apenas os pontos que a agência consegue ajustar sem mexer no código: tema, identidade visual, banners, vitrines, SEO, integrações, atendimento e configurações operacionais da loja.
A loja é multi-tenant. O storefront identifica o tenant pelo domínio, busca as configurações nas APIs e renderiza a interface com esses dados. A agência deve considerar o Admin/API como fonte de verdade.
Next.js 13 Pages Router, React 18, TypeScript, Tailwind CSS e APIs Lean Commerce.
Hostdefine o tenant, o tenant define as APIs, e as
APIs retornam tema, menus, settings, vitrines e páginas.
O Admin altera conteúdo, cores e flags existentes. Novos layouts, novas interações ou novos tipos de bloco exigem desenvolvimento.
Esses campos controlam a aparência principal da loja. Eles vêm de
/api/v1/layouts/templatee
/api/v1/configuracoes.
theme.primaryColor
theme.headerColor
theme.headerTextColor
theme.footerTitleColor
storeSettings.loja.nome
storeSettings.loja.logo
storeSettings.loja.logoFooter
storeSettings.loja.icone
storeSettings.loja.selo.logoeurl
O template define o comportamento visual base da loja.
theme.template
/v1/layouts/footer
/v1/layouts/recursos
storeSettings.loja.sac
storeSettings.loja.endereco
storeSettings.redesSociais
A maior parte da experiência comercial da home e das páginas de catálogo é configurável por API: menus, banners, blocos de vitrine, hotsites e páginas CMS.
/api/v1/menus
storeSettings.geral.habilitarMegaMenu
ocultarCategoriasSemProdutos
/v1/banners
/v1/vitrines/home
componentes[].ordem
BANNER, PRODUTO,
MARCA, HTML, RECURSO,
BULLETS, CUPOM_DESCONTO
/v1/vitrines/hotsite/ { permalink}
/api/v1/paginas
/v1/paginas/ { permalink}
A home é composta por blocos configuráveis no painel em
Marketing → Vitrines → Home → Componentes. Cada bloco
tem um tipo (component.tipo) e campos próprios. A ordem
dos blocos pode ser reordenada arrastando no Admin.
Banner em tela cheia (quebra o container — ocupa 100vw) com carrossel de fade entre imagens. Os cards de produto ficam sobrepostos na parte inferior do banner, dentro do container centralizado. Exibe até 6 produtos.
hidden lg:block). Para
garantir experiência mobile, adicione um componente PRODUTO
separado na vitrine.
Slider de banners em tela cheia. Aparece no topo da home, acima dos outros componentes. Suporta múltiplas imagens com auto-play.
imagem)
imagemMobile
)
Grade estática de banners, sem slide. Quantidade de colunas
definida pelo campo quantidadeExibicao. Oculto em
mobile quando não há imagemMobile.
quantidadeExibicao)
imagemMobileficam ocultos em
telas pequenas. Sempre forneça a versão mobile para garantir
visibilidade.
Exibe uma grade ou carrossel de produtos. O template define o layout (grade ou slide). O título e subtítulo da seção são configuráveis.
nome)
subTitulo) — visível apenas desktop
template)
Carrossel ou grade de logos de marcas parceiras. Cada item exibe a logo e funciona como link para a página da marca.
template)
Cards lado a lado, cada um representando uma vitrine. Cada card exibe: nome da vitrine + link "Ver todos", imagem de capa (banner), e até 4 produtos em miniatura abaixo.
nome) — exibido em destaque
permalink)
imagem)
Linha de círculos com imagem e label abaixo. Funciona como atalho de navegação para vitrines/categorias ou abre um modal com vídeo ao clicar.
imagem)
title)
alt)
target):
URL— navega para o link configurado
VIDEO— abre modal com vídeo incorporado
(YouTube, Vimeo ou .mp4)
url)
ordem)
Blocos de ícone + label dispostos em linha. Usado para comunicar vantagens ou serviços de forma visual e compacta (ex.: "Frete grátis", "Troca fácil").
titulo)
nome)
Exibe cartões de cupom de desconto copiáveis. Todos os
componentes do tipo CUPOM_DESCONTOna vitrine são
agrupados automaticamente em um único bloco.
Bloco de conteúdo livre em HTML. Útil para banners customizados, textos institucionais, incorporação de widgets externos ou qualquer estrutura visual específica.
html: conteúdo HTML completo
nome: identificador interno (não aparece na
loja)
Como gerenciar a ordem:no painel, acesse Marketing → Vitrines → Home → Componentes. Arraste os blocos para reordenar. Cada bloco tem seu tipo, nome interno e campos próprios. Novos tipos de componente só podem ser adicionados via desenvolvimento.
Estes campos são carregados em storeSettings. Eles afetam
scripts, rastreamento, suporte, privacidade e comunicação com o
cliente.
storeSettings.seo.titulo
descricao
palavrasChaves
google.analytics
google.tagManager
google.adWords
google.maps
storeSettings.facebook
storeSettings.linx
linx.buscarPorRelevancia
lgpd.termosNavegacao
lgpd.habilitarExclusaoCadastro
privacyTools
clearSale.ativoe key
pedidoPosVenda
Configurações que mudam comportamento de negócio, mensagens e disponibilidade, mas ainda são consumidas pelo storefront via API.
storeSettings.offline.ativo
frete.entregaLocal
frete.pedidoMinimo
frete.linkRegulamento
geral.habilitarGerenciarCadastro
validacaoCpf.ativoe
mensagem
storeSettings.pbm.ativo
storeSettings.fullPoints.ativo
geral.buscaGeolocalizada
Resumo do que é alterável pela agência e o que deve ser solicitado ao time de desenvolvimento.
storeSettingsou env.
A agência não precisa editar estes arquivos; eles são apenas referência para entender de onde os dados vêm.
src/schemas/StoreSettings.tsxdefine os campos de
configuração.
src/services/theme.tscarrega tema e cores.
src/services/storeAndMenu.tscarrega menus, settings e
páginas.
src/collections/showcase.tscarrega vitrines e hotsites.
src/collections/layout.tscarrega layout, recursos e
footer.