Formulários: receber dados do seu próprio site
Todo formulário tem um endpoint: um endereço que recebe os dados direto do seu site. Serve para quem já tem um formulário com o layout do próprio site e só quer que as respostas cheguem ao DeepLead, sem incorporar nada. O tratamento é o mesmo do formulário publicado: cria ou atualiza o contato, aplica lista, tags e negócio.
Esta parte é técnica. Normalmente quem faz é a pessoa que cuida do seu site.
# Onde fica
- No editor do formulário (módulo Marketing → Formulários → Editar), botão Endpoint, no topo.
- Na lista, no menu de três pontos de um formulário publicado: Copiar endpoint copia só o endereço.
# Antes de começar
- O formulário precisa estar publicado. Em rascunho, o diálogo avisa: “O endpoint só aceita envios com o formulário publicado.”
- Os campos que o seu site vai enviar precisam existir no formulário, cada um com destino no contato. Um deles tem de ser o Email.
# O que o diálogo mostra
O diálogo Endpoint do formulário tem quatro partes:
| Parte | O que traz |
|---|---|
| Endereço | A URL do endpoint, com botão de copiar. |
| Abas HTML, JavaScript e cURL | Um código pronto para cada forma de envio, já com o endereço e os nomes dos campos deste formulário. |
| Nomes dos campos aceitos | O nome que cada campo deve ter no envio. Asterisco marca os obrigatórios e “(oculto)” marca os campos ocultos. Ao lado, em “também aceita”, outros nomes que o endpoint entende para o mesmo campo. |
| Campos de controle (opcionais) | Os campos especiais que mudam o comportamento do envio (descritos mais abaixo). |
As duas últimas partes ficam recolhidas. Clique no título de cada uma para abrir.
# Enviar com HTML puro
- Clique em Endpoint e fique na aba HTML.
- Clique no ícone de copiar do código.
- Cole no HTML da sua página e aplique o seu estilo.
O código é um <form> comum, que funciona sem JavaScript. Depois de enviar, o visitante vai para a URL de redirecionamento do formulário. Sem ela, vê uma página de confirmação padrão, com o título “Formulário enviado”, a sua Mensagem de sucesso e o link Voltar.
# Enviar com JavaScript
- Na aba JavaScript, copie o código.
- Adapte o seletor do formulário ao seu site.
A página não recarrega e a resposta vem em JSON: com a mensagem de sucesso do formulário quando deu certo, ou com o texto do erro quando não deu. Mostrar isso ao visitante fica por conta do seu site.
A aba cURL traz um comando para testar o endpoint pelo terminal.
# Nomes dos campos
Use os nomes listados em Nomes dos campos aceitos. Em geral:
- os campos do contato usam
name,email,phoneecompany; - um campo personalizado usa o próprio rótulo em minúsculas, sem acento e com sublinhado no lugar dos espaços (o rótulo “Cargo Atual” vira
cargo_atual).
O endpoint ignora diferença de maiúsculas, acentos e separadores: Cargo Atual, cargo-atual e cargo_atual caem no mesmo campo. O envio pode ser em JSON ou no formato padrão de formulário HTML.
Campo enviado que não existe no formulário não vai para o contato.
# Capturar dados que o visitante não digita
Para gravar a origem do lead, como utm_source:
- Crie um campo personalizado de contato para guardar o valor.
- No formulário, adicione um campo com esse destino e marque Oculto.
- No seu site, preencha o valor por script. No código da aba HTML, o campo oculto já vem como um campo escondido, com o comentário “oculto: preencha via script”.
Campo oculto não aparece no formulário publicado nem no código de incorporação, e nunca é obrigatório.
# Para onde o visitante vai depois de enviar
Vale para o envio em HTML puro:
| Situação | Destino |
|---|---|
O envio traz o campo _redirect |
A URL informada nele. Tem prioridade sobre a do formulário. |
| O formulário tem URL de redirecionamento (aba Config) | Essa URL. |
| Nenhum dos dois | A página de confirmação padrão. |
O envio falha e traz _redirect_error |
A URL informada, com o motivo no parâmetro error. |
O envio falha sem _redirect_error |
Uma página “Não foi possível enviar”, com o motivo e o link Voltar. |
As URLs precisam ser completas, começando com http:// ou https://.
# Proteção contra spam
O código da aba HTML já inclui um campo escondido chamado _honeypot. Pessoas não o veem; robôs costumam preencher tudo. Se ele chegar preenchido, o envio é descartado: o robô recebe a resposta de sucesso, mas nada é gravado. Mantenha o campo escondido e vazio.
# Campos de controle
| Campo | O que faz |
|---|---|
_redirect |
Para onde o visitante vai depois de enviar. |
_redirect_error |
Destino quando o envio falha. Recebe o motivo no parâmetro error. |
_honeypot |
Campo escondido contra spam. Se vier preenchido, o envio é descartado. |
_format=json |
Força a resposta em JSON mesmo em envio de formulário HTML. |
# Regras e limites
- O endpoint só aceita envios de formulário publicado.
- O endereço usa o identificador da empresa e o slug do formulário. Se o slug mudar, o endereço muda: atualize o seu site.
- As validações são as mesmas do formulário publicado: campo obrigatório sem valor e e-mail inválido recusam o envio.
- A URL de redirecionamento não afeta o link público nem o formulário incorporado. Neles o visitante sempre vê a Mensagem de sucesso.
# Problemas comuns
| O que aparece | O que fazer |
|---|---|
| “Form not found” | O formulário não está publicado ou o slug mudou. Publique e copie o endereço de novo. |
| “Email inválido” | O envio não trouxe o e-mail, ou o nome do campo não bate. Confira em Nomes dos campos aceitos. |
Campo "Nome" é obrigatório (com o nome do campo) |
O campo está marcado como Obrigatório e chegou vazio. |
| “Formulário não identificado” | O endereço está incompleto. Copie-o de novo pelo botão Endpoint. |
| Adicione campos ao formulário para gerar os nomes. | O formulário está sem campos. Adicione na aba Campos e salve. |
| Envios de teste dão sucesso mas não aparecem | O campo _honeypot está chegando preenchido. Deixe-o vazio. |