Ative os envios
e os formulários.
As credenciais são configuradas nos painéis dos serviços. Nunca coloque chaves secretas em textos, fotos ou links do site.
1. Banco Supabase
Execute o arquivo supabase/engagement.sql no editor SQL do projeto. Ele cria tabelas separadas para contatos, histórico, fila de e-mails e estatísticas. A chave pública não permite consultar os cadastros.
2. Brevo gratuito
- Crie a conta em brevo.com com o e-mail da organização e confirme o e-mail.
- Cadastre e verifique o remetente. Prefira um endereço do domínio do evento quando ele estiver configurado. O Gmail pode depender da aprovação do Brevo.
- Em configurações de SMTP e API, crie uma chave de API para este site.
- No painel da Vercel, abra Settings → Environment Variables e salve a chave em BREVO_API_KEY. Não cole a chave no chat.
3. Variáveis privadas na Vercel
Configure no ambiente Production e publique uma nova versão após salvar.
SUPABASE_URL: URL do projeto.SUPABASE_SECRET_KEY: chave secret do projeto, somente no servidor.BREVO_API_KEY: chave criada no Brevo.MAIL_FROM: e-mail remetente verificado no Brevo.SITE_URL: endereço HTTPS público do site.FORMS_ENABLED: true, somente após concluir os testes.RATE_LIMIT_SALT: segredo aleatório usado para proteger a identificação temporária contra abuso.CRON_SECRET: segredo aleatório para executar a fila programada.
Enquanto os envios não estiverem configurados, os formulários mostram o formulário anterior e o WhatsApp. Não simulam um cadastro bem-sucedido.
4. Proteção contra envios automáticos
O servidor já limita os envios e possui campo invisível contra robôs. Para campanhas públicas, adicione Cloudflare Turnstile: cadastre os domínios do evento e configure TURNSTILE_SITE_KEY e TURNSTILE_SECRET_KEY na Vercel. A verificação é feita no servidor.
5. Código de acesso (OTP)
No Supabase, Authentication → Emails → Magic link or OTP, inclua o código {{ .Token }} no modelo. Você pode manter também o botão de link. O código é digitado na página /admin. O administrador continua sendo cerradoadventure@gmail.com.
6. Estatísticas
O painel conta visualizações e cliques consentidos, sem depender do Google Analytics. Os dados começam após a ativação; não existe histórico anterior.
Se quiser GA4, crie uma propriedade e um fluxo da Web para o domínio. Configure o ID público G-… em GA_MEASUREMENT_ID na Vercel. O código só carrega após o consentimento do visitante. Os números do GA4 são consultados no Google Analytics; os cartões do painel usam as estatísticas próprias.
7. Cadastros antigos
Não substitua a ordem da lista antiga. Exporte os registros do Google Forms com a data original e importe-os após conferir duplicidades, categorias e telefones. Até a importação, o painel apresenta apenas os novos registros.
8. Envio e histórico
As confirmações e avisos são colocados em fila junto com o cadastro e o envio é tentado imediatamente. A organização também pode processar pendências no painel. A rotina diária é uma recuperação adicional, não uma garantia de entrega imediata. Envios com resultado incerto exigem conferência no Brevo antes de qualquer reenvio.
Teste com endereços da organização antes de divulgar. Confirme o remetente, a entrega, a confirmação e o cancelamento da newsletter e o bloqueio dos dados para visitantes.