Skip to content

Rotas e Páginas

Mapeamento completo de todas as rotas do frontend Next.js com componentes, funcionalidades e permissões.

Estrutura de roteamento

O frontend usa Next.js App Router com rotas baseadas em diretórios. Todas as rotas (exceto auth e legais) são protegidas pelo Clerk e filtradas pelo RBAC.


Autenticação

RotaComponenteDescrição
/(auth)/sign-in/[[...sign-in]]SignInPageLogin via Clerk (email/senha, OAuth)
/(auth)/sign-up/[[...sign-up]]SignUpPageCadastro via Clerk
/auth/meta/callbackMetaCallbackPageCallback OAuth do Meta para WhatsApp Cloud API

Dashboard (/dashboard)

Componente: DashboardPage | Permission: app:dashboard

Funcionalidades:

  • Cards de KPI do dia: receita total, mês YTD, receita influenciada, pedidos, taxa de recompra
  • Gráfico de receita: mensal histórico + intraday (hoje vs. ontem por hora)
  • Comparativo de lojas: hoje vs. ontem com variação %
  • Top vendedores (tabela com rank, nome, loja, total, pedidos)
  • Radar chart de distribuição RFM (6 segmentos)
  • Alertas de ações prioritárias: queda de receita, alta performance, lojas estagnadas
  • Feed de vendas recentes (últimas 4h, com nome do cliente)
  • Badge de última sincronização + botão de sync manual
  • Exportar PDF

Hook: useDashboard() — fetch em 2 fases: KPI crítico primeiro, depois 6 endpoints em paralelo.


Clientes

/clients — Lista de Clientes

Componente: ClientsPage | Permission: app:customers

Funcionalidades:

  • Busca por nome, email, CPF/CNPJ ou ID externo (debounce 300ms)
  • Filtros: Segmento RFM, Status (Ativo/Alerta/Inativo/Lead), Segmento CRM, Loja
  • Tabela sortável: Nome, RFM, Campanhas, Compras, Última Compra, LTV, Cadastro
  • Visão mobile em cards
  • Paginação: 12 itens/página
  • Coluna LTV requer app:financials
  • Modal de tutorial (4 etapas)

/clients/[id] — Perfil do Cliente

Componente: ClientDetailPage | Permission: app:customers

Funcionalidades:

  • Sidebar: foto, dados de contato, loja/vendedor preferido
  • Gerenciamento de opt-out por canal (WhatsApp, Email, SMS) com confirmação
  • Alertas de qualidade de dados (email inválido, tipo de telefone, data de nascimento)
  • KPIs: LTV, ticket médio, compras, campanhas, dias desde última compra
  • 3 abas: Visão Geral, Histórico, Extra
  • Histórico de transações com paginação (10/25/50/100/Todos)
  • Codificação de recência por cor (verde ≤30d, âmbar ≤90d, vermelho >90d)

Campanhas

/campaigns — Lista de Campanhas

Componente: CampaignListPage | Permission: app:campaigns

Funcionalidades:

  • 2 abas: Lista + Tempo Real
  • Lista: busca, sort por coluna, paginação (10/25/50/100/página)
  • Badges de status: ENVIO REALIZADO, ENVIANDO, AGENDADO, RASCUNHO, ERRO
  • Ícones de canal: WhatsApp, SMS, Email
  • Ações: Enviar, Duplicar, Editar, Excluir, toggle Ativo/Pausado
  • Tempo Real: métricas ao vivo com refresh a cada 5s (enviados/entregues/lidos/falhas)
  • Modal de tutorial (4 etapas)
  • Modal de aviso de rate limit antes do envio

/campaigns/new — Nova Campanha

Componente: CampaignModal

Criação de campanha com seleção de segmento, template, canal (WhatsApp, SMS, Email), scheduling.

/campaigns/[id] — Detalhe da Campanha

Componente: CampaignDetailPage | Permission: app:campaigns

Seções de métricas:

WhatsApp:

  • Entrega: enviados, entregues, falhas, pulados
  • Engajamento: lidos, respostas, cliques (redirect)
  • Conversão: conversões, receita, ROI, custo por mensagem

Email:

  • Entrega: enviados, entregues, bounces hard/soft, falhas

  • Engajamento: aberturas, cliques, descadastros, spam reports

  • Conversão: conversões, receita, ROI

  • Ratios como progress bars

  • Modal de ajuda com glossário de 12+ termos

  • Modal de confirmação de reenvio com aviso LGPD

/campaigns/[id]/edit — Editar Campanha

Componente: CampaignModalEdit


WhatsApp

RotaComponenteDescrição
/whatsapp/dashboardWhatsappDashboardPageOverview das instâncias e estatísticas
/whatsapp/templatesWhatsappTemplatesPageGerenciamento de templates Meta aprovados
/whatsapp/storesWhatsappStoresPageMapeamento de instâncias por loja
/whatsapp/rate-limitRateLimitPageConfiguração de limites de envio

Analytics e Resultados

RotaComponentePermissãoDescrição
/results/retailRetailResultsPageapp:salesPerformance por loja
/results/channelsChannelResultsPageapp:salesAnálise por canal
/results/qualityQualityPageapp:salesQualidade de dados (email, telefone)
/results/scheduleAgendaPageapp:salesCalendário de campanhas agendadas
/results/post-sale-surveyPostSaleSurveyRedirectResultados de pesquisa pós-venda
/rfmRfmPageapp:segmentsAnálise RFM completa
/rfm/sellersSellerRfmPageapp:segmentsRFM por vendedor

Segmentação

RotaComponenteDescrição
/segments/listSegmentListPageLista de segmentos com trend dia-a-dia
/segments/newSegmentsPageCriação de segmento com regras de comportamento
/segments/edit/[id]EditSegmentPageEdição de segmento existente

Email

RotaComponenteDescrição
/email-templatesEmailTemplatesPageEditor MJML com GrapesJS, prévia desktop/mobile

Configurações (/settings)

Componente: SettingsPage | Permission: app:settings

Abas:

AbaPermissãoConteúdo
Geralapp:settingsLogo, loja de fallback, importação de opt-out, janela de atribuição
Usuáriosapp:teamCriar/editar usuários, atribuição de roles e lojas
Perfisapp:rolesCriar/editar roles com permissões granulares
Canaisapp:integrationsWhatsApp (Evolution + Meta Cloud), SMTP, SMS
Campanhasapp:settingsJanela de atribuição, opt-out, redirect, limites
Atendimentoapp:settingsMensagens de menu, handoff, saudação, resolução
Reatribuiçãoapp:settingsTimeout de inatividade e reatribuição automática
Pesquisa Pós-Vendaapp:settingsConfiguração CSAT e NPS

Sistema

RotaComponentePermissãoDescrição
/inboxInboxPageCaixa de entrada (legada; banner de redirect ao Chatwoot)
/adminAdminPageSuper AdminHealth check, métricas, filas, containers, logs
/auditAuditPageapp:auditTrilha completa de ações por usuário
/profileProfilePagePerfil do usuário logado

/admin — Painel de Administração

Seções:

SeçãoDadosRefresh
Service HealthAPI, DB, Redis, WhatsApp, Email, ERP Sync10s
MétricasUsuários ativos (2h), erros (24h), clientes, filas, DB size30s
Gerenciar FilasRetry falhas, limpar concluídos, pausar/retomarmanual
Containers DockerEstado, reinicialização por nome20s
Log de AuditoriaÚltimas 80 requisições (método, endpoint, status, ação, usuário)15s
Links ExternosGrafana, Portainer, BullBoard

Páginas legais (públicas)

RotaComponente
/politica-de-privacidadePoliticaDePrivacidadePage
/termos-de-usoTermosDeUsoPage
/exclusao-de-dadosExclusaoDeDadosPage

Permissões por rota (resumo)

PermissionRotas que requerem
app:dashboard/dashboard
app:customers/clients, /clients/[id]
app:financialsColunas LTV em /clients, /clients/[id]
app:sales/results/*, /rfm/*
app:segments/segments/*, /rfm/*
app:campaigns/campaigns/*
app:campaigns:sendBotão "Enviar" em campanhas
app:integrations/whatsapp/*, abas de canais em /settings
app:settings/settings/*
app:teamAba Usuários em /settings
app:rolesAba Perfis em /settings
app:audit/audit
Super Admin (level=0)/admin

Documentação interna — Galdix CRM