Wiki

Cada tela do painel, cada campo e cada botão — explicado em detalhes.

Esta wiki documenta o painel do Katalogix — a área administrativa onde você gerencia sua loja. Para cada tela mostramos o endereço (URL), o que aparece, todos os campos disponíveis com suas regras, e o passo a passo dos fluxos mais comuns.

Convenções: Endereços começam com /app (ex.: /app/products). Ao lado de alguns recursos você verá: Starter+ (planos pagos), Premium (apenas Premium), Em breve.

1. Antes de começar

Cadastro — /app/register

Crie sua conta e a primeira loja em uma única tela.

  • name · Nome do dono — obrigatório, até 100 caracteres.
  • email · E-mail de login — obrigatório, formato válido.
  • password · Senha — obrigatória, mínimo 8 caracteres.
  • storeName · Nome da loja — obrigatório. Vira o título da loja pública e gera o slug automaticamente.

Após o submit, criamos a conta, a loja e enviamos o e-mail de verificação. Se o slug que sairia do nome já estiver em uso, escolhemos uma variação automaticamente — você verá um aviso no painel mostrando qual ficou.

Login — /app/login

  • Login por e-mail e senha. Senhas guardadas com hash forte (Argon2id).
  • Após 5 tentativas erradas seguidas, o login fica bloqueado por 15 minutos para o IP/usuário.
  • A sessão é guardada em cookie httpOnly e pode ser revogada a qualquer momento por você ou pelo time.

Recuperar senha — /app/reset

Informe o e-mail e enviamos um link com validade de 1 hora. Por segurança a tela mostra sempre a mesma mensagem de sucesso, exista ou não o e-mail no banco.

Verificação de e-mail — /app/verify-email

Logo após o cadastro pedimos para confirmar o e-mail. Enquanto não estiver verificado, o painel só permite ações ligadas à própria verificação. Use o botão Reenviar caso o e-mail não chegue.

2. Dashboard — /app

Tela inicial após o login. Mostra um resumo da loja e atalhos para as ações mais comuns.

Cards de resumo

  • Produtos ativos — quantos produtos visíveis você tem na loja, com barra de progresso até o limite do plano (ex.: 5 / 20).
  • Total de leads — todos os leads recebidos (independente do status).
  • Plano atual — Starter ou Premium, com link para a tela de cobrança. Lojas sem plano aparecem como "Sem plano" e ficam bloqueadas no storefront até assinarem.

Ações rápidas

  • Novo anúncio — vai direto para o editor de produto novo. Fica desabilitado se o limite do plano foi atingido.
  • Ver estoque — abre a lista pública de produtos da loja.
  • Configurações — atalho para identidade, tema e blocos da home.

Últimos leads

Lista com os 5 leads mais recentes: nome, contato, produto interessado, status e quando chegaram. Clique para abrir a lista completa.

3. Produtos

3.1 Lista de produtos

/app/products

O que aparece

  • Cabeçalho com contador {ativos} de {limite} e barra de progresso.
  • Botão Novo anúncio (desabilita e vira "Fazer upgrade" se você atingiu o limite).
  • Abas por status: Ativos, Rascunhos, Vendidos, Ocultos, com contagem em cada.
  • Grade de cards: foto principal, nome, preço, badge de status e badge "Destaque" quando aplicável. Cada card tem botão Editar.

A foto vem da imagem marcada como principal — se não houver, mostramos um placeholder.

3.2 Editor de produto

/app/products/new (cria) /app/products/:id (edita)

Ao clicar em Novo anúncio, criamos um produto em rascunho com identificador estável de 6 caracteres (ex.: a3f9k2) e abrimos o editor. Rascunhos não publicados expiram em 24 horas — depois disso uma rotina de limpeza pode removê-los automaticamente.

Barra fixa do topo

  • Breadcrumb com nome do produto.
  • Badge do status atual.
  • Status — dropdown com Rascunho, Ativo, Vendido, Oculto. A mudança salva imediatamente (sem recarregar).
  • Publicar — atalho que move o produto direto para Ativo (só aparece em rascunhos).
  • Excluir — pede confirmação, remove o produto e todas as imagens (não tem lixeira).

Informações básicas

  • name · Nome — obrigatório, até 200 caracteres.
  • URL · O identificador de 6 caracteres é fixo (não muda quando você renomeia, para não quebrar links já compartilhados). A parte legível é gerada do nome, mas pode ser editada manualmente.
  • shortDescription · Descrição curta — até 160 caracteres. Aparece em cards e meta description.
  • fullDescription · Descrição completa — até 5000 caracteres. Aceita destaques tipo *negrito*, _itálico_, ~tachado~ e `código`, além de quebras de linha.

Preço e categoria

  • priceCents · Preço em reais — formatado com pontos e vírgulas (ex.: 1.299,00). Deixe em branco para exibir "Consultar".
  • categoryName · Categoria — texto livre até 100 caracteres, com sugestões automáticas das categorias que você já usou.
  • condition · Condição — opções: NOVO, SEMINOVO, USADO ou em branco.
  • conservationState · Estado de conservação — texto livre até 200 caracteres (ex.: "Excelente, sem detalhes").
  • year · Ano — dropdown de 1950 ao próximo ano (em branco se não se aplica).

Detalhes adicionais

  • brand · Marca — até 100 caracteres.
  • modelName · Modelo — até 100 caracteres.
  • mileage · Quilometragem — texto livre até 50 caracteres (ex.: 45.000 km).
  • color · Cor — até 50 caracteres.
  • location · Localização — até 200 caracteres (ex.: cidade ou ponto de retirada).
  • isFeatured · Destaque — checkbox. Quando marcado, o produto entra automaticamente no bloco "Destaques" da home.

Especificações técnicas

Adicione pares de chave / valor para detalhes técnicos (ex.: "Câmbio: Automático", "Memória: 256 GB").

  • Botão Adicionar cria uma nova linha; o ✕ remove.
  • Limite de 20 especificações por produto.
  • Cada chave tem até 100 caracteres; cada valor, até 500.

Botões finais

  • Salvar — grava as alterações sem trocar o status.
  • Publicar — grava e muda o status para Ativo (verifica antes se você não estourou o limite do plano).

3.3 Galeria de imagens

painel lateral do editor

Como funciona

  • Arraste arquivos para a área de upload ou clique para escolher.
  • Cada arquivo pode ter até 8 MB. Aceitamos JPEG, PNG e WebP.
  • A primeira imagem enviada vira automaticamente a principal (a capa).
  • Em qualquer outra imagem você pode clicar em Tornar principal para promovê-la.
  • O botão de remover apaga a imagem do produto e do armazenamento.
  • Se a principal for removida, o sistema escolhe a próxima da lista.

Limite por produto

  • Starter: 6 imagens por produto.
  • Premium: 12 imagens por produto.

Atingiu o limite? O upload mostra um aviso e bloqueia novos envios até você liberar espaço ou fazer upgrade.

4. Editor de Home

A home da sua loja é montada por blocos. Você adiciona, remove e arrasta para reordenar — até 15 blocos no total. O editor fica integrado à tela de Configurações.

/app/settings (seção "Home") /app/home (atalho)

O que cada bloco tem em comum

  • enabled · Liga/desliga o bloco sem precisar removê-lo.
  • spacing · Espaçamento — sm, md ou lg.
  • Botão ↑ / ↓ ou drag handle para reordenar.
  • Botão Remover apaga o bloco (não apaga produtos nem imagens reaproveitadas).

4.1 Tipos de bloco

Hero / Banner principal — type: "hero"

  • background · banner, gradient ou minimal.
  • align · left ou center.
  • title · Título — até 200 caracteres.
  • subtitle · Subtítulo — até 500 caracteres.
  • image_url · Imagem de fundo — sobrescreve o banner padrão da loja. Até 500 caracteres na URL.
  • show_cta · Mostra ou esconde o bloco de CTAs.
  • cta_label / cta_url · Botão principal.
  • cta_secondary_label / cta_secondary_url · Botão secundário (opcional).

Destaques — type: "featured"

Mostra automaticamente os produtos com a flag Destaque.

  • title · Título — até 200 caracteres.
  • limit · 1 a 20 produtos (padrão 6).
  • columns · 2, 3 ou 4 colunas.

Recém adicionados — type: "latest"

  • title · Título.
  • limit · 1 a 20 (padrão 6).
  • columns · 2, 3 ou 4.
  • sort · newest ou oldest.

Produtos por categoria — type: "category"

  • title · Título.
  • category · Nome exato da categoria — até 120 caracteres.
  • limit · 1 a 20.
  • columns · 2, 3 ou 4.
  • sort · newest, oldest, price_asc ou price_desc.

Lista de categorias — type: "categories"

  • title · Título.
  • columns · 4 ou 6.

Lista todas as categorias com a contagem de produtos em cada uma.

Texto livre — type: "text"

  • title · Título.
  • body · Conteúdo — até 2000 caracteres.
  • align · left ou center.

Banner com imagem — type: "banner"

  • image_url · Imagem de fundo.
  • title, subtitle.
  • cta_label / cta_url · Botão.
  • align · left ou center.
  • overlay · Escurecimento da imagem — 0 a 100.

Vídeo (YouTube) — type: "video"

  • title, subtitle.
  • video_url · URL do YouTube — formatos watch, short ou embed.

Chamada para ação (CTA) — type: "cta"

  • title, subtitle.
  • cta_label / cta_url.
  • background · brand, accent, gradient ou dark.

Espaçador / divisor — type: "divider"

  • size · sm, md ou lg.
  • show_line · Mostra ou não a linha divisória.

Mapa / localização — type: "map"

  • title, subtitle.
  • address · Endereço — até 500 caracteres. Usado também para o iframe quando não há coordenadas.
  • lat / lng · Coordenadas (opcionais).
  • zoom · 1 a 20 (padrão 16).
  • hours · Horário de funcionamento — texto multilinha até 1000 caracteres.
  • cta_label · Texto do botão (ex.: "Como chegar").
  • height · sm, md ou lg.

5. Identidade e tema — /app/settings

Tudo que define a aparência e os contatos da sua loja. As alterações são salvas com o botão Salvar no fim da página.

Informações da loja

  • name · Nome da loja — até 100 caracteres.
  • tagline · Slogan curto — até 200 caracteres.
  • description · Descrição completa — até 2000 caracteres.
  • contactEmail · E-mail de contato público.
  • whatsappE164 · WhatsApp no formato internacional (ex.: +5511987654321).

Logo e banner

  • logoUrl · Logo enviado por upload (JPEG/PNG/WebP, até 8 MB).
  • logoStyle · IMAGE usa o arquivo enviado; INITIAL mostra um quadrado com gradiente e a primeira letra do nome.
  • bannerUrl · Banner padrão usado nos blocos hero quando o bloco não tem imagem própria.

Redes sociais e links

  • instagramUrl, facebookUrl, youtubeUrl, tiktokUrl · URLs completas, até 500 caracteres cada.
  • externalLink1Url + externalLink1Label · Link extra com rótulo personalizado.
  • externalLink2Url + externalLink2Label · Segundo link extra.

Tema pronto

Escolha entre 14 presets: Clássico, Floresta, Pôr do sol, Oceano, Real, Monocromático, Ouro, Rosa, Corporativo, Vibrante, Neon, Terra, Meia-noite e Carbono. Disponível em todos os planos.

Cada preset define automaticamente cores, fontes, navbar e footer. Se o seu plano permitir, você pode sobrescrever campos específicos abaixo.

Layout Todos os planos

  • heroStyle · MINIMAL, BANNER ou SPLIT.
  • productLayout · GRID ou LIST.
  • cornerRadius · NONE, SM, MD, LG ou FULL.
  • showPrice · liga/desliga a exibição global de preços (quando desligado, todos os produtos mostram "Consultar").
  • showFloatingWhatsapp · botão flutuante de WhatsApp na loja.
  • navbarShowLogo, navbarShowName, navbarShowWhatsapp · controlam o que aparece no menu superior.
  • footerShowSocial · ícones sociais no rodapé.

Cores e tipografia Premium

  • themeColor · cor principal da marca (hex #RRGGBB).
  • accentColor · cor de destaque.
  • bodyBg, bodyText, surfaceColor, borderColor · cores de fundo, texto, cards e bordas.
  • fontHeading · fonte dos títulos. Opções: Inter, Manrope, Poppins, Plus Jakarta Sans, Playfair Display, DM Serif Display, Space Grotesk.
  • fontBody · fonte do corpo do texto (mesmas opções).

Navbar Premium

  • navbarStyle · SOLID, TRANSPARENT, MINIMAL, BORDERED ou GRADIENT.
  • navbarSticky · navbar fixa ao rolar.
  • navbarColor · cor de fundo personalizada.
  • navbarTextColor · cor do texto.

Footer Premium

  • footerStyle · MINIMAL, COMPACT ou FULL.
  • footerColor / footerTextColor.
  • footerCustomText · texto livre no rodapé — até 300 caracteres.
  • hideKatalogixBrand · remove o selo "Powered by Katalogix".

6. Domínio — /app/domain

Endereço na plataforma

Toda loja recebe um link no formato katalogix.com.br/s/{slug}. Para mudar:

  1. Digite o novo slug. Conforme você digita, verificamos disponibilidade em tempo real (com debounce de 300 ms) e mostramos uma destas mensagens:
    • ✓ Disponível
    • Já em uso ou Reservado
    • Esse já é o seu endereço atual
  2. Clique em Salvar. Atualizamos o link público — quem ainda usar o slug antigo passa a receber 404.

Regras do slug

  • Apenas letras minúsculas, números e hífens.
  • De 3 a 50 caracteres.
  • Não pode começar ou terminar com hífen.
  • Palavras reservadas (não disponíveis): app, admin, api, public, uploads, s, login, register, termos, privacidade.

Domínio próprio Em breve

Estamos finalizando o suporte a domínios próprios (ex.: catalogo.sualoja.com.br) com validação automática de DNS e HTTPS via Cloudflare. O recurso será liberado para o plano Premium. Quem assinar agora terá acesso assim que ficar disponível, sem custo extra.

7. SEO — /app/seo

Diagnóstico

O topo da página mostra um score de 0 a 100% com checklist:

  • Título customizado preenchido.
  • Descrição preenchida.
  • Imagem de compartilhamento configurada.
  • Endereço ou coordenadas informados.
  • Indexação ativada (loja visível ao Google).

Meta tags

  • seoTitle · Título — até 120 caracteres. Contador ao lado destaca a faixa ideal de 50–60.
  • seoDescription · Descrição — até 300 caracteres. Faixa ideal de 120–160.
  • seoImageUrl · Imagem para WhatsApp/Facebook/Twitter. Tamanho ideal 1200×630, até 8 MB. Você pode enviar arquivo ou colar URL.
  • seoKeywords · Palavras-chave — até 300 caracteres. Marcamos esse campo como legado (Google não usa desde 2009).

A página tem prévias ao vivo: simulação do Google e do card do WhatsApp/Facebook.

Negócio local (Schema.org)

Esses campos viram JSON-LD e ajudam você a aparecer melhor no Google Maps e em buscas locais.

  • seoBusinessType · Tipo do negócio. Opções: OnlineStore, LocalBusiness, Store, ClothingStore, ElectronicsStore, AutoDealer, AutoPartsStore, BookStore, HomeGoodsStore, JewelryStore, ToyStore, FurnitureStore, BikeStore, GardenStore, HardwareStore, PetStore, SportingGoodsStore, Restaurant, Bakery.
  • seoStreetAddress · Rua e número (até 200).
  • seoCity, seoState, seoPostalCode, seoCountry · cidade, UF, CEP, país (BR padrão).
  • seoLatitude, seoLongitude · coordenadas decimais. Pegue clicando com o botão direito no Google Maps → "O que há aqui?".
  • seoOpeningHours · horário de funcionamento. O painel tem widget visual com toggle por dia da semana e atalhos (Seg–Sex 9h–18h, Seg–Sáb com parcial, Todos os dias, Limpar).

Indexação e bots

  • seoRobotsIndex · liga/desliga indexação. Quando desligado, geramos noindex, nofollow e o robots.txt proíbe tudo.
  • seoAllowAiBots · permite ou bloqueia GPTBot, ClaudeBot, Google-Extended, PerplexityBot, ChatGPT-User, OAI-SearchBot, anthropic-ai e CCBot.

O sitemap.xml e o robots.txt são gerados automaticamente — não precisa editar.

8. Leads — /app/leads

De onde vêm

  • PRODUCT_PAGE — clique de interesse na página do produto.
  • CONTACT_FORM — formulário da página de contato.
  • WHATSAPP_CLICK — clique no botão de WhatsApp em qualquer ponto da loja.

Filtros e busca

  • Campo de busca por nome, e-mail ou telefone.
  • Abas por status: Todos, Novos, Em andamento, Fechados, Perdidos — cada uma com a contagem.

Linha do lead

  • Avatar (primeira letra do nome), nome, contato, link do produto interessado e prévia da mensagem.
  • Bolinha azul pulsante para leads NEW.
  • Dropdown de status (atualiza na hora, sem recarregar). Status disponíveis: NEW, IN_PROGRESS, CLOSED, LOST.
  • Data em formato relativo (ex.: "há 2 horas").
  • Menu (⋮) com:
    • Abrir WhatsApp (se houver telefone).
    • Enviar e-mail (se houver e-mail).
    • Ligar (se houver telefone).
    • Excluir lead.
  • Clique na área do nome para abrir um painel expandido com mensagem completa, fonte e data exata.

Ações em massa

Marque o checkbox dos leads desejados — aparece a barra com a contagem e o botão Excluir selecionados. A operação pede confirmação.

Notificação por e-mail Starter+ — nos planos pagos, todo lead novo dispara um aviso para o seu e-mail com nome, contato, mensagem e link direto para responder.

9. Cobrança — /app/billing

Banner do cupom de fundador

Se houver vagas de fundador disponíveis, aparece um banner no topo com a contagem de vagas restantes e o cupom LANCAMENTO aplicado automaticamente — −60% vitalício nas primeiras 17 assinaturas.

Forma de pagamento

  • Recorrente — cartão de crédito com renovação automática (preapproval Mercado Pago).
  • Avulso — Pix, boleto ou cartão pelo ciclo escolhido (sem renovação automática). Você renova manualmente no fim do período.

Não armazenamos dados de cartão — quem cuida do checkout é o Mercado Pago.

Ciclo de cobrança

CicloDuraçãoDesconto sobre o mensal
Mensal1 mês
Trimestral3 meses5%
Semestral6 meses10%
Anual12 meses15%
Bianual24 meses25%

O painel mostra os preços de cada ciclo lado a lado e o equivalente por mês.

Cupom

  1. Cole o código no campo Cupom e clique em Aplicar.
  2. Se válido, mostramos o percentual e atualizamos os preços dos planos com o desconto e o preço original riscado.
  3. O código fica anexado ao checkout — quando você assinar, o desconto é aplicado.

Assinatura ativa

Quando há um plano pago ativo, aparece um card com:

  • Status: TRIALING, ACTIVE, PAST_DUE, INCOMPLETE ou CANCELED.
  • Ciclo, data de renovação e desconto aplicado (se houver).
  • Renovar — só aparece em assinaturas avulsas, abre novo checkout.
  • Cancelar — pede confirmação. No modo recorrente, agendamos o cancelamento para o fim do período (você continua usando até lá).

Assinaturas Cortesia (concedidas pela equipe) não têm botão de cancelamento.

Cards de plano

Duas colunas: Starter e Premium. Cada uma mostra preço (atualizado pelo ciclo selecionado), recursos incluídos e botão de assinar. O plano atual fica destacado e botões de downgrade aparecem desabilitados. Lojas sem plano (recém-criadas ou com assinatura cancelada) ficam bloqueadas — o storefront não fica acessível até escolher um plano.

O que acontece em downgrade

Se o novo plano não comporta sua quantidade atual de produtos, os excedentes ficam bloqueados (não somem). Eles deixam de aparecer na loja pública, mas permanecem visíveis no painel. Quando você voltar para um plano maior, eles são desbloqueados na ordem em que foram cadastrados.

Direito de arrependimento (CDC, art. 49): pessoa física consumidora tem 7 dias corridos para desistir de assinatura paga e receber reembolso integral. Solicite por [email protected].

10. Suporte — /app/support

Lista de tickets

  • Cada linha mostra assunto, status, prioridade e data da última atividade.
  • Bolinha pulsante quando há resposta nova da equipe que você ainda não viu.
  • Estado vazio convida a abrir o primeiro ticket.
/app/support/new

Abrir um ticket

  • subject · Assunto — obrigatório, até 200 caracteres.
  • priority · Prioridade — LOW (dúvida ou sugestão), NORMAL (algo está incomodando) ou HIGH (loja parada, não consigo trabalhar).
  • body · Mensagem — obrigatória, até 10 000 caracteres.

Ao enviar, o ticket entra com status OPEN e a equipe é notificada.

/app/support/:id

Detalhe e thread

  • Cabeçalho com assunto, status, prioridade, data de abertura.
  • Thread cronológica: suas mensagens à esquerda (fundo branco), respostas da equipe à direita (fundo índigo, avatar "K").
  • Enquanto o ticket não está fechado, há campo de resposta (até 10 000 caracteres) e botão Fechar ticket.
  • Se já estiver fechado, vemos um aviso "Este ticket está {status}. Abra um novo se precisar".

Status possíveis

  • OPEN — recém-aberto.
  • AWAITING_USER — equipe respondeu, aguardando você.
  • AWAITING_STAFF — você respondeu, aguardando equipe.
  • RESOLVED — equipe marcou como resolvido.
  • CLOSED — você fechou (final).

Toda resposta sua atualiza a data da última atividade e move o ticket para AWAITING_STAFF.

Planos pagos têm fila prioritária. Não garantimos SLA, mas a fila premium anda mais rápido.

11. Limites por plano

Recurso Starter Premium
Produtos ativos 100 Ilimitado
Imagens por produto 6 12
Blocos na home até 15 até 15
Tema pronto (14 presets)
Toggles de layout (grade/lista, raio, hero, preço, etc.)
Botão de WhatsApp em produtos (venda física)
Venda de software/keys com checkout direto
Entrega instantânea por email (digital)
Captura de leads no painel
Notificação de leads por e-mail
Suporte prioritário
Cores customizadas (marca, accent, fundo, bordas)
Tipografia personalizada
Estilo e cores de Navbar e Footer
Remover selo "Powered by Katalogix"
Domínio próprio Em breve
Link da plataforma /s/sua-loja

12. Referência rápida

Status do produto

  • DRAFT · rascunho, expira em 24h se não publicado.
  • ACTIVE · publicado e visível na loja.
  • SOLD · vendido — exibe selo na loja.
  • HIDDEN · oculto, fica salvo mas não aparece publicamente.

Condição

NOVO · SEMINOVO · USADO · em branco (não informado).

Status do lead

NEW · IN_PROGRESS · CLOSED · LOST

Origem do lead

PRODUCT_PAGE · CONTACT_FORM · WHATSAPP_CLICK

Status do ticket

OPEN · AWAITING_USER · AWAITING_STAFF · RESOLVED · CLOSED

Prioridade do ticket

LOW · NORMAL · HIGH

Status da assinatura

TRIALING · ACTIVE · PAST_DUE · INCOMPLETE · CANCELED

Modo de pagamento

RECURRING (cartão recorrente) · MANUAL (Pix/boleto/cartão por ciclo) · GIFT (cortesia da equipe)

Ciclo de cobrança

MONTHLY · QUARTERLY · SEMI_ANNUAL · YEARLY · BIENNIAL

Tipos de bloco da home

hero · featured · latest · category · categories · text · banner · video · cta · divider · map


Sentiu falta de algum detalhe? Manda um e-mail ou abra um ticket pelo painel — atualizamos a wiki sempre que liberamos um recurso novo.

Pronto para colocar sua loja no ar?

Crie sua loja agora — venda físico, software ou keys com checkout direto.

Criar minha loja