Lead Capture

Settings

Configuração da aplicação e integração com o checkout externo.

Variáveis de ambiente

NEXT_PUBLIC_SUPABASE_URL / SUPABASE_URL

URL do projeto Supabase.

Configurada

SUPABASE_SERVICE_ROLE_KEY

Chave privada usada apenas no servidor. Nunca exposta ao frontend.

Configurada

ALLOWED_ORIGINS

Domínios autorizados a chamar /api/capture-email (separados por vírgula).

Pendente

RESEND_API_KEY

Chave secreta da Resend. Usada apenas no servidor para enviar emails de compra aprovada.

Configurada

RESEND_FROM

Remetente verificado (ex.: no subdomínio support.primeway.sbs).

Configurada

DIGISTORE_IPN_PASSPHRASE

Passphrase da assinatura SHA usada para validar o IPN da Digistore24.

Configurada
Endpoint de captura
POST /api/capture-email

Aceita JSON com os campos email (obrigatório), first_name, last_name e checkout_email (opcionais). Requisições repetidas com o mesmo email atualizam o registro em vez de duplicá-lo.

Webhook IPN da Digistore24
POST /api/digistore-ipn

Configure esta URL no painel da Digistore24 e defina a mesma passphrase em DIGISTORE_IPN_PASSPHRASE. Toda requisição é validada pela assinatura SHA-512 antes de ser processada. O matching usa o checkout_email; o email de aprovação é enviado sempre ao original_email. Apenas o evento de pagamento aprovado dispara o envio.

Script para o Google Tag Manager

Cole no GTM do checkout, substituindo o domínio e as variáveis pelos valores reais. Nenhuma chave secreta é usada no frontend — a proteção é feita via ALLOWED_ORIGINS.

<script>
  fetch("https://SEU-DOMINIO.vercel.app/api/capture-email", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      email: "{{email_original}}",
      first_name: "{{primeiro_nome}}",
      last_name: "{{sobrenome}}",
      checkout_email: "{{email_checkout}}"
    })
  });
</script>