1. Comece por aqui
MailLeader
  • Comece por aqui
    • Primeiros Passos no MailLeader
    • Campanhas de e-mail
    • Guia de Desenvolvedores e API REST
    • Configuração de Domínios e DNS
    • E-mail Profissional e Webmail
    • Exemplos de Uso e Snippets de Código
    • Formulários e captura de leads
    • Listas de Contatos e Gestão de Audiência
    • Configuração de Registros MX (Mail Exchange)
    • Pixels e eventos de sites
    • Planos e recursos da sua conta
    • Envio de E-mails via Protocolo SMTP
    • Templates de e-mail
    • Webhooks
  • Referência
    • Autenticação e chaves de API
      • Entrar
      • Criar conta
      • Solicitar redefinição de senha
      • Validar token de redefinição
      • Redefinir senha
      • Sair
      • Criar chave de API
      • Listar chaves de API
      • Revogar chave de API
      • Dados do usuário autenticado
      • Completar perfil
    • Webmail
      • Entrar no webmail
      • Caixas disponíveis
      • Pastas da caixa
      • Listar mensagens de uma pasta
      • Ler mensagem
      • Marcar ou desmarcar flags
      • Mover para a lixeira
      • Marcar como spam
      • Desmarcar spam
      • Enviar pelo webmail
    • Domínios e contas de e-mail
      • Cadastrar domínio
      • Cadastrar domínio (alias)
      • Listar domínios
      • Detalhar domínio
      • Remover domínio
      • Registros DNS e estado de verificação
      • Verificar DNS agora
      • Consultar chave DKIM
      • Gerar nova chave DKIM
      • Criar conta de e-mail
      • Listar contas do domínio
      • Atualizar conta de e-mail
      • Remover conta de e-mail
    • Envio de e-mail
      • Enviar e-mail
      • Consultar envios
      • Exportar histórico de envios
    • Campanhas
      • Salvar rascunho, enviar ou agendar campanha
      • Enviar e-mail de teste da campanha
      • Listar campanhas da conta
      • Consultar rascunho
      • Remetentes disponíveis para campanhas
      • Público estimado da campanha
      • Remetentes da lista
      • Campanhas de uma lista
      • Detalhar campanha
      • Destinatários da campanha
    • Listas e contatos
      • Criar lista
      • Listar listas
      • Detalhar lista
      • Atualizar lista
      • Remover lista
      • Listar contatos da lista
      • Adicionar contato
      • Importar contatos em lote
      • Exportar contatos
      • Atualizar contato
      • Remover contato
    • Descadastro (público)
      • Consultar link de descadastro
      • Confirmar descadastro
    • Templates de e-mail
      • Listar templates
      • Criar template
      • Detalhar template
      • Atualizar template
      • Remover template
    • Formulários e leads
      • Criar formulário de captura
      • Listar formulários
      • Detalhar formulário
      • Atualizar formulário
      • Remover formulário
      • Código de incorporação
      • Métricas do formulário
      • Listar inscrições
      • Exportar inscrições (CSV)
      • Histórico de entregas do webhook do formulário
      • Reenviar entrega do webhook
      • Consultar secret do webhook do formulário
    • Formulários e leads (público)
      • Definição pública do formulário
      • Enviar inscrição
      • Regras de origem do formulário
    • Contatos e pixel
      • Resumo de marketing
      • Listar contatos
      • Detalhar contato
      • Linha do tempo do contato
      • Listar sites com pixel
      • Cadastrar site
      • Atualizar site
      • Snippet de instalação
      • Métricas do site
      • Emitir token para identificar contato
    • Pixel (público)
      • Script do pixel
      • Iniciar sessão (após consentimento)
      • Registrar eventos
      • Associar sessão a contato
      • Revogar consentimento
    • Webhooks
      • Eventos disponíveis
      • Criar webhook
      • Listar webhooks
      • Detalhar webhook
      • Atualizar webhook
      • Remover webhook
      • Ativar ou pausar webhook
      • Enviar evento de teste
      • Girar secret de assinatura
      • Histórico de entregas
      • Reenviar entrega
    • Planos e cobrança
      • Catálogo público de planos
      • Planos disponíveis para a conta
      • Módulos e acessos da conta
      • Plano atual
      • Resumo de cobrança
      • Consumo da conta
      • Consumo por domínio (período civil)
      • Consumo por domínio (operacional)
      • Listar planos
      • Detalhar plano
      • Listar faturas
      • Detalhar fatura
      • Itens da fatura
      • Gerar pagamento da fatura
      • Checkout em andamento
      • Iniciar contratação de plano
      • Gerar pagamento do checkout
      • Atualizar estado do checkout
      • Cancelar checkout
    • Estatísticas
      • Visão geral do painel
  • Esquemas
    • Pagination
    • Error
    • SignIn
    • SignUp
    • ForgotPassword
    • ResetPassword
    • CreateApiKey
    • ApiKeyCreated
    • CreateDomain
    • CreateDomainAccount
    • UpdateDomainAccount
    • SendMailJson
    • SendMailForm
    • MailSendResult
    • CampaignCompose
    • CampaignTest
    • EmailList
    • ListContact
    • ListContactUpdate
    • EmailTemplate
    • LeadField
    • LeadCampaign
    • SubmitLead
    • Site
    • Webhook
    • WebhookStatus
    • MailFlags
    • WebMailSend
    • BillingProfile
    • SelectPlan
    • License
    • PixelSession
    • PixelEvents
    • PixelIdentify
    • PixelRevoke
    • IdentifyToken
  1. Comece por aqui

Formulários e captura de leads

Este guia explica como criar um formulário de captura, incorporá-lo em um site e consultar os cadastros recebidos.

Antes de começar#

Use a URL base https://mailleader.com.br/api/v1 e autentique as rotas privadas com x-api-key ou Authorization: Bearer <token>. Mantenha a chave no servidor; não a coloque no HTML ou JavaScript público do site.
As rotas públicas do formulário usam um token de incorporação próprio. Ele identifica o formulário, mas não substitui validação de origem, consentimento ou proteção contra abuso.

Criar um formulário#

POST /leads cria um formulário. A lista é opcional; se informada, os contatos elegíveis podem ser incluídos nela conforme o consentimento e as regras de supressão da conta.
Tipos de campo aceitos: text, email, cpf, cnpj, cep, currency, phone, date, number, select, textarea e consent. Campos select podem receber options. Use step para distribuir campos entre etapas e showWhen para exibir um campo dependendo de uma resposta anterior.
Um campo condicional usa fieldKey e um comparador equals, not_equals ou filled:
{
  "key": "company_size",
  "label": "Tamanho da empresa",
  "type": "select",
  "required": false,
  "options": ["1–10", "11–50", "Mais de 50"],
  "showWhen": {"fieldKey":"company","operator":"filled"}
}
O formulário aceita de 1 a 40 campos e até 10 etapas. O redirecionamento após o cadastro deve usar HTTPS. Campos de CPF, CNPJ, CEP, data e moeda são validados e normalizados no servidor; isso valida o formato, não consulta cadastros externos.

Incorporar no site#

Depois de criar o formulário, consulte GET /leads/{id}/embed. A resposta contém o token, a URL pública e o snippet do iframe. Exemplo:
O script de incorporação ajusta a altura do iframe conforme o conteúdo. Para uma página hospedada pelo MailLeader ou para testar, abra diretamente a URL retornada.

Consultar e receber cadastros#

O formulário incorporado consulta sua configuração em GET /api/v1/public/leads/{token} e envia cadastros com POST /api/v1/public/leads/{token}. Exemplo simplificado de envio:
{
  "data": {
    "name": "Ana Silva",
    "email": "ana@example.com",
    "company": "Exemplo Ltda"
  },
  "attribution": {
    "sourceOrigin": "https://empresa.example",
    "referrerOrigin": "https://busca.example",
    "markers": {"utm_source":"newsletter","utm_campaign":"guia"}
  }
}
O token público identifica o formulário. O servidor valida campos, estado ativo, limites e origem da requisição. O formulário hospedado é público; não envie uma chave de API do MailLeader no navegador.
Rotas privadas úteis:
RotaUso
GET /leadsListar formulários; aceita page, size e busca q.
GET /leads/{id}Consultar detalhes e resumo do formulário.
PATCH /leads/{id}Atualizar campos, aparência, integrações, segurança ou pausar/ativar.
DELETE /leads/{id}Remover o formulário.
GET /leads/{id}/submissionsConsultar inscrições paginadas.
GET /leads/{id}/submissions/exportExportar inscrições e filtros disponíveis.
GET /leads/{id}/analyticsConsultar totais e atribuição.
GET /leads/{id}/deliveriesConsultar notificações do formulário.
POST /leads/{id}/deliveries/{deliveryId}/retryReenviar uma entrega com falha.
As consultas de inscrições e analytics aceitam filtros como from, to, domain, utmSource e utmCampaign, conforme a rota. O período de analytics é limitado a 366 dias.

Integrações e notificações#

Em integrations, notifyOwner envia a notificação ao e-mail do titular. webhookUrl configura um destino específico para este formulário. Esse webhook inclui os campos do lead e a atribuição habilitada; seu segredo é gerenciado pelo próprio formulário.
Também é possível assinar lead.created na área Desenvolvedor > Webhooks. Esse evento geral inclui leadId, campaignId, listId, consented e lead.data. Veja o formato, a assinatura e as tentativas em Webhooks. Ativar os dois destinos envia duas notificações separadas.

Atribuição de origem#

Com attributionSettings.enabled, o formulário pode registrar a origem (sourceOrigin, referrerOrigin) e os marcadores permitidos. customMarkers lista nomes adicionais que o titular deseja capturar; adCookies controla a captura dos marcadores de cookies de publicidade disponíveis.
O MailLeader guarda origens, não URLs completas com caminho, consulta ou fragmento. Marcadores não habilitados são descartados. Os dados recebidos dependem de o site enviar os marcadores no cadastro.

Segurança de origem e CORS#

security.enableCors e security.allowedCorsOrigins controlam quais origens de navegador podem chamar a API pública. Informe origens exatas, por exemplo https://www.empresa.com.br, sem caminho, curinga, query ou fragmento. CORS é uma regra aplicada pelo navegador; não autentica chamadas servidor a servidor nem impede bots de fazer requisições diretas.
O modelo também possui restrictEmbedding e allowedEmbedOrigins. Por enquanto, esses campos ainda não bloqueiam a exibição do formulário em outros sites. Não os trate como controle de acesso. O limite de CORS é aplicado às chamadas públicas feitas por navegadores.

Páginas relacionadas#

Pixels e eventos de sites
Webhooks
Campanhas de e-mail
Modificado em 2026-10-15 23:44:00
Página anterior
Exemplos de Uso e Snippets de Código
Próxima página
Listas de Contatos e Gestão de Audiência
Built with