Padrão de Navegação

Como as paginas e URLs são organizadas

Padrão obrigatório para TODAS as rotas do frontend. Qualquer novo módulo, submenu, aba ou card DEVE seguir estas regras. Atualizado: 2026-04-04


Princípios

  1. Ingles obrigatório — URLs em ingles para padrão internacional
  2. Hierarquia refletida na URL — todo submenu/aba/card tem sua própria rota
  3. kebab-case — palavras separadas por hifen (ex: flow-builder, cart-recovery)
  4. Sem abas por useState — abas SEMPRE usam sub-rotas do App Router
  5. Redirect no pai — pagina pai redireciona para a sub-rota padrão
  6. Sem rotas orfas — toda pagina pertence a um grupo (nunca na raiz do dashboard)

Mapa Completo de Rotas

Getting Started (Primeiros Passos)

/getting-started
/launchpad                    → redirect → /getting-started (compat v0.6.1-beta)

Dashboard

/dashboard                    → Visão geral (KPIs, hero banner, widgets, atalhos)
/dashboard/overview           → redirect → /dashboard (compat 2026-05-01)
/dashboard/reports            → Hub de relatórios
/dashboard/reports/nps
/dashboard/reports/support
/dashboard/reports/pipeline
/dashboard/reports/whatsapp   (Em breve)
/dashboard/reports/ai         (Em breve)
/dashboard/reports/attribution (Em breve)

Inbox (Atendimento)

/inbox/chat
/inbox/pipeline
/inbox/pipeline/leads
/inbox/protocols
/inbox/quick-replies
/inbox/schedules
/inbox/tasks

Contacts (Contatos/CRM)

/contacts                     → redirect → /contacts/all
/contacts/all
/contacts/import
/contacts/tags
/contacts/wallets
/contacts/companies
/contacts/segments
/contacts/[id]

AI & Agents (IA & Agentes)

/ai/settings
/ai/agent
/ai/prompts
/ai/knowledge-base
/ai/monitor
/ai/content

Campaigns (Campanhas WhatsApp)

Reorg 2026-05-06: /campaigns/status/inbox/status (Atendimento) e /campaigns/tracking/dashboard/reports/tracking. URLs antigas redirecionam para as novas (preservam bookmarks).

/campaigns                    → redirect → /campaigns/campaigns
/campaigns/campaigns
/campaigns/campaigns/new
/campaigns/campaigns/[id]
/campaigns/contact-lists      (label exibido: "Listas de Disparo")
/campaigns/phrases
/campaigns/settings
/campaigns/settings/anti-spam
/campaigns/settings/rotation
/campaigns/status             → redirect → /inbox/status
/campaigns/tracking           → redirect → /dashboard/reports/tracking

Automation (Automação)

Reorg 2026-05-06: /settings/birthday/automation/birthday (aniversário é automação por gatilho de data).

/automation/flow-builder
/automation/flow-builder/[id]
/automation/receptors
/automation/cart-recovery
/automation/cart-recovery/settings
/automation/birthday          (NEW — antes: /settings/birthday)
/automation/instagram-automation
/automation/instagram-automation/rules
/automation/instagram-automation/logs

Email Marketing

/email-marketing              → redirect → /email-marketing/overview
/email-marketing/overview
/email-marketing/campaigns
/email-marketing/campaigns/new
/email-marketing/lists
/email-marketing/templates
/email-marketing/automations
/email-marketing/settings

Integrations (Integrações)

/integrations/connections
/integrations/connections/[id]
/integrations/connections/[id]/about
/integrations/connections/[id]/history
/integrations/connections/[id]/access
/integrations/ecommerce
/integrations/external-automations

Settings (Configurações)

Reorg 2026-05-06: Macros, Campos Personalizados, Aniversário e Comunicações saíram daqui (ver respectivas seções). "Pipeline" renomeado para "Modelo do Pipeline" no label (rota mantida).

/settings                     → redirect → /settings/general
/settings/general
/settings/organization
/settings/pipeline            (label: "Modelo do Pipeline")
/settings/queues
/settings/users
/settings/roles
/settings/nps
/settings/backup
/settings/audit-logs
/settings/api
/settings/birthday            → redirect → /automation/birthday
/settings/custom-fields       → redirect → /contacts/custom-fields
/settings/macros              → redirect → /inbox/macros
/settings/communications      → redirect → /settings (deletada — agora só /admin/communications)

Inbox (Atendimento)

Reorg 2026-05-06: Macros e Status WhatsApp foram movidos para cá.

/inbox
/inbox/chat
/inbox/triage
/inbox/ads
/inbox/pipeline
/inbox/protocols
/inbox/quick-replies
/inbox/macros                 (NEW — antes: /settings/macros)
/inbox/schedules
/inbox/tasks
/inbox/team-chat
/inbox/status                 (NEW — antes: /campaigns/status)

Contacts (Contatos)

Reorg 2026-05-06: Campos Personalizados foi movido para cá. Segmentos e Carteiras (que existiam órfãs) foram expostas no sidebar.

/contacts                     → redirect → /contacts/all
/contacts/all
/contacts/import
/contacts/tags
/contacts/segments
/contacts/wallets
/contacts/companies
/contacts/companies/[id]
/contacts/custom-fields       (NEW — antes: /settings/custom-fields)
/contacts/[id]

Dashboard / Reports

Reorg 2026-05-06: Rastreamento (CAPI) foi movido para cá.

/dashboard
/dashboard/reports
/dashboard/reports/nps
/dashboard/reports/support
/dashboard/reports/pipeline
/dashboard/reports/whatsapp
/dashboard/reports/ai
/dashboard/reports/attribution
/dashboard/reports/tracking   (NEW — antes: /campaigns/tracking)

Affiliate (Programa de Afiliados)

/affiliate                    (pagina inicial educativa — vende o programa, calculadora, FAQ)
/affiliate/dashboard          (painel de comissoes — lista indicacoes + projecao mensal)
/affiliate/materials          (criativos prontos — banners, copies WhatsApp/email/redes, treinamento)
/affiliate/settings           (walletId Asaas + link de indicacao)

Navegação: sub-rotas aparecem como submenus expansíveis na sidebar (padrão do app). A página /affiliate é uma "landing interna" para educar o cliente logado sobre o programa.

Agenda (Calendário)

/agenda                       (FullCalendar com appointments — modulo simples sem sub-rotas)

Templates (Templates Meta WhatsApp Oficial)

/templates                    (listagem e gestao de templates aprovados na Meta)

Suggestions (Sugerir Melhorias)

/suggestions                  (modulo simples — formulario de feedback do cliente)

Admin (Equipe Interna — staff only)

/admin                        → redirect → /admin/overview
/admin/overview
/admin/clients
/admin/now
/admin/now/service
/admin/now/queues
/admin/now/summary
/admin/connections
/admin/history
/admin/plans
/admin/emails
/admin/email-engine
/admin/ai-brain
/admin/ai-brain/agents/[name]
/admin/ai-brain/agents/[name]/overview
/admin/ai-brain/agents/[name]/prompt
/admin/ai-brain/agents/[name]/tools
/admin/ai-brain/knowledge-base
/admin/ai-brain/chat
/admin/keys
/admin/staff
/admin/impersonate

Help (Central de Ajuda)

/help                         → redirect → /help/docs
/help/docs
/help/docs/[category]         (ex: /help/docs/changelog)
/help/videos
/help/ai
/help/suggestions

Profile & User

/profile
/billing
/notifications
/logout                       (handled by Clerk)

Standalone (fora do dashboard)

/checkout
/sign-in
/sign-up
/register
/login

Regras para Novos Módulos

Ao criar um novo módulo:

  1. Escolher o grupo pai (inbox, contacts, ai, campaigns, etc.)
  2. Criar pasta dentro do grupo: (dashboard)/[grupo]/[modulo]/page.tsx
  3. Se tiver abas: criar sub-pastas para cada aba
  4. Atualizar app-sidebar.tsx com o novo href
  5. Atualizar sidebar-search.tsx com o novo item

Ao criar abas dentro de um módulo:

  1. NUNCA usar useState para trocar abas
  2. Criar layout.tsx com header + navegação por <Link>
  3. Criar [aba]/page.tsx para cada aba
  4. O page.tsx pai faz redirect() para a aba padrão
  5. Usar usePathname() para detectar a aba ativa

Exemplo de estrutura com abas:

modulo/
  layout.tsx       → header compartilhado + tab nav com <Link>
  page.tsx         → redirect("/modulo/aba-padrao")
  aba-1/
    page.tsx       → conteudo da aba 1
  aba-2/
    page.tsx       → conteudo da aba 2

Migração: Rotas Antigas → Novas

Rota Antiga Nova Rota
/chat /inbox/chat
/pipeline /inbox/pipeline
/protocols /inbox/protocols
/quick-replies /inbox/quick-replies
/schedules /inbox/schedules
/tasks /inbox/tasks
/tags /contacts/tags
/wallets /contacts/wallets
/prompts /ai/prompts
/ai-monitor /ai/monitor
/contact-lists /campaigns/contact-lists
/phrase-lists /campaigns/phrases
/tracking /dashboard/reports/tracking (Reorg 2026-05-06)
/campaigns-config /campaigns/settings
/flow-builder /automation/flow-builder
/cart-recovery /automation/cart-recovery
/instagram-automation /automation/instagram-automation
/connections /integrations/connections
/ecommerce /integrations/ecommerce
/settings/integrations /integrations/external-automations
/queues /settings/queues
/users /settings/users
/birthday-settings /automation/birthday (Reorg 2026-05-06)
/financeiro /billing
/reports /dashboard/reports
/tickets /inbox/chat (merged)

Reorganização 2026-05-06 — mudanças adicionais

Rota Antiga Nova Rota Motivo
/campaigns/status /inbox/status Stories WhatsApp = operação WhatsApp diária
/campaigns/tracking /dashboard/reports/tracking É relatório de ROI (qualquer origem), não só campanhas
/settings/macros /inbox/macros Atalhos de chat = contexto operacional do atendente
/settings/custom-fields /contacts/custom-fields Atributos extras de contato
/settings/birthday /automation/birthday Automação por gatilho de data
/settings/communications /settings (deletada) Welcome WA é operação da plataforma (só /admin/communications)

Este artigo foi útil?