Pular para conteúdo

frontend-marketing — landing pages e marketing

TL;DR

Páginas públicas de marketing (landing page, pricing, etc.) e conectar-whatsapp. Deploy no Vercel, sem autenticação.

Identidade

  • Tipo: Next.js 15 App Router (RSC)
  • Paths:
  • src/app/(marketing)/ — landing, pricing, etc.
  • src/app/conectar-whatsapp/ — página pública de QR Stevo
  • Status: ativo
  • Deps: Stripe (pricing page), Supabase (planos), Stevo (QR page)

conectar-whatsapp

Página pública (sem auth) para o cliente escanear QR code do WhatsApp via Stevo: - Polling de status a cada 3s (GET /api/stevo/status) - Renovação de QR a cada 20s (POST /api/stevo/qr) - NÃO requer sessão Supabase — acessível via link externo

Don'ts

  • conectar-whatsapp é pública — não expor informações sensíveis de tenant

Quando usar

  • Landing pages públicas, pricing, blog institucional.
  • /conectar-whatsapp para clientes que entram via link direto Stevo QR.

Quando NÃO usar

  • ❌ Para qualquer conteúdo que exige autenticação — usar (app)/app/.
  • ❌ Para conteúdo dinâmico por tenant — landing não conhece o tenant.

Por que funciona assim

  • RSC default — SEO + performance.
  • conectar-whatsapp pública porque cliente pode receber QR antes de criar conta.

🚫 Don'ts

  • Não expor info sensível de tenants em /conectar-whatsapp (página é pública).
  • Não usar client-side data fetching para pricing — Stripe é fonte da verdade, render server-side.

🪦 Já tentamos

🔥 Troubleshooting

Sintoma Causa provável Fix
Stevo QR não atualiza Polling parou; sessão Stevo caiu Reiniciar polling; reconectar Stevo
Pricing desatualizado Cache RSC stale revalidate curto + ISR
SEO ruim Faltam meta tags por página Adicionar generateMetadata em cada page.tsx

📚 Referências cruzadas

  • api-integrations — /api/stevo/*
  • payment-billing — Stripe pricing