Sem código

Formulário do anúncio, pelo Make ou pelo Zapier

Quem anuncia com o formulário do próprio anúncio (o formulário instantâneo do Instagram e do Facebook) recebe o contato lá e responde à mão. Ligando o formulário na entrada de leads, cada lead vira orçamento na hora, com o seu preço e a sua marca: a proposta fica na sua conta, o link vai por e-mail para a pessoa (se você autorizou) e você recebe a mensagem pronta para mandar no WhatsApp dela. A ligação é feita pelo Make ou pelo Zapier, a que você já usa.

Se um módulo ou um botão do Make ou do Zapier aparecer com outro nome ou em outro lugar na sua tela, o caminho é o mesmo: o gatilho de lead novo do formulário, uma chamada POST com JSON para a entrada de leads e os dois cabeçalhos.

O que preparar

  1. A chave. Em API e cobertura, gere a chave de teste (ilz_test_..., qualquer plano) para montar e testar. Gravar o lead é da chave viva (ilz_...), do plano Máquina.
  2. O formulário. Nome, telefone e e-mail (o formulário já traz preenchidos), a cidade e a pergunta "Quanto você paga de luz por mês?", de resposta curta ou de múltipla escolha com faixas ("R$ 200 a R$ 400" vale o meio da faixa). Sem essa pergunta o lead entra como contato, sem orçamento.
  3. O consentimento. Na parte de privacidade do formulário, além do link da sua política de privacidade, ponha o aviso personalizado com a caixa de consentimento, com um texto como "Autorizo a Empresa Exemplo Energia Solar a me contatar sobre este orçamento de energia solar." (troque pelo nome da sua empresa). É esse texto que vai no campo do consentimento: sem ele o lead não é gravado.
  4. O acesso aos leads. No Gerenciador de Negócios, em Configurações do negócio, Integrações, Acesso a leads (Leads Access), atribua o Make ou o Zapier como CRM da página. Sem isso a integração não enxerga os leads.
  5. Um lead de teste. Preencha o formulário você mesmo, pelo celular, uma vez: a integração precisa de um lead para mostrar os campos.

O que vai em cada campo

A mesma lista nas duas integrações. No Zapier, o campo de dentro de um objeto leva dois sublinhados.

CampoNo Zapier (Data)O que vai
nomenomeo nome do lead (o campo do formulário)
telefonetelefoneo telefone do lead
emailemailo e-mail do lead
cidadecidadea cidade, se o formulário pergunta
valorContaBrlvalorContaBrla resposta de "Quanto você paga de luz por mês?"
fasesfasesa ligação, se o formulário pergunta (pode ficar de fora)
origemorigemmeta-formulario (texto fixo)
consentimento.textoconsentimento__textoo texto do aviso do formulário, igual ao que a pessoa aceitou (texto fixo)
consentimento.dataconsentimento__dataa data de criação do lead (o campo de data do gatilho)
consentimento.fonteconsentimento__fonteFormulário do anúncio no Instagram e no Facebook (texto fixo)
campanha.utm_sourcecampanha__utm_sourcemeta (texto fixo)
campanha.utm_mediumcampanha__utm_mediumformulario (texto fixo)
campanha.utm_campaigncampanha__utm_campaigno nome da campanha, se o gatilho trouxer
campanha.utm_contentcampanha__utm_contento nome do anúncio, se o gatilho trouxer

E dois cabeçalhos: Authorization com Bearer e a sua chave, e Idempotency-Key com o id do lead. Com o id, o lead que a integração mandar de novo (ela repete quando a rede falha) não vira outro orçamento por 30 dias.

Pelo Zapier

  1. Crie um Zap. No gatilho, escolha o app Facebook Lead Ads e o evento New Lead. Conecte a sua conta, escolha a página e o formulário, e teste: o Zapier traz o lead de teste.
  2. Na ação, escolha Webhooks by Zapier e o evento POST.
  3. Em URL, cole https://app.ionluz.com.br/api/v1/leads. Em Payload Type, escolha json.
  4. Em Data, uma linha por campo da tabela acima: a chave da coluna "No Zapier" à esquerda e, à direita, o campo do lead (clique e escolha na lista) ou o texto fixo.
  5. Deixe Unflatten em yes, o padrão: é o que junta consentimento__texto, consentimento__data e consentimento__fonte no objeto consentimento.
  6. Em Headers, as duas linhas: Authorization com Bearer ilz_test_sua_chave (a de teste, primeiro) e Idempotency-Key com o ID do lead.
  7. Teste a ação. A resposta aparece no Zapier, com o link da proposta, o do PDF e a mensagem do WhatsApp. Com a chave de teste ela vem em prévia, como abaixo.
  8. Troque a chave de teste pela viva no Headers e publique o Zap.

Pelo Make

  1. Crie um cenário. No primeiro módulo, escolha Facebook Lead Ads e o gatilho Watch Leads, o instantâneo, que dispara a cada lead novo. Conecte a sua conta e escolha a página e o formulário.
  2. No segundo módulo, escolha HTTP e Make a request.
  3. Em URL, cole https://app.ionluz.com.br/api/v1/leads. Em Method, POST.
  4. Em Headers, dois itens: Authorization com Bearer ilz_test_sua_chave (a de teste, primeiro) e Idempotency-Key com o id do lead do primeiro módulo.
  5. Em Body content type, application/JSON; em Body input method, JSON string. No conteúdo, cole o JSON abaixo e troque cada valor entre parênteses pelo campo do lead do primeiro módulo (clique dentro das aspas e escolha na lista).
  6. Em Parse response, Yes: assim a resposta vira campos que dá para usar no passo seguinte.
  7. Clique em Run once e mande um lead de teste pelo formulário. A resposta aparece no módulo HTTP.
  8. Troque a chave de teste pela viva e ligue o cenário.
{
  "nome": "(mapeie o nome do lead)",
  "telefone": "(mapeie o telefone)",
  "email": "(mapeie o e-mail)",
  "cidade": "(mapeie a cidade)",
  "valorContaBrl": "(mapeie a resposta do valor da conta de luz)",
  "origem": "meta-formulario",
  "campanha": {
    "utm_source": "meta",
    "utm_medium": "formulario",
    "utm_campaign": "(mapeie o nome da campanha)",
    "utm_content": "(mapeie o nome do anúncio)"
  },
  "consentimento": {
    "texto": "Autorizo a Empresa Exemplo Energia Solar a me contatar sobre este orçamento de energia solar.",
    "data": "(mapeie a data de criação do lead)",
    "fonte": "Formulário do anúncio no Instagram e no Facebook"
  }
}

Se um nome vier com aspas, o JSON fica inválido e a chamada volta 400 json: o erro aparece no histórico do cenário. Em Body input method, Data structure monta o JSON sozinho e evita isso.

O teste, com a chave de teste

A resposta que a integração mostra com a chave de teste: o orçamento de verdade, nada gravado, nenhum e-mail, e o lugar do link marcado na mensagem.

{
  "ok": true,
  "gravado": false,
  "preview": true,
  "sandbox": true,
  "proposalId": null,
  "propostaUrl": null,
  "pdfUrl": null,
  "orcamento": {
    "potenciaKwp": 5.72,
    "valorFinal": 14296.8,
    "paybackAnos": 2.1406530441031313,
    "economiaMes1": 545,
    "economia25Anos": 375409,
    "sePaga": true,
    "cobrePct": 120
  },
  "consumoEstimado": true,
  "consumoKwhMes": 620,
  "valorContaBrl": 614,
  "preco": {
    "publicado": {
      "modo": "faixa",
      "valor": 14296.8,
      "min": 13500,
      "max": 15100,
      "pct": 5,
      "rotulo": "entre R$ 13.500 e R$ 15.100",
      "texto": "Entre R$ 13.500 e R$ 15.100. O valor final é confirmado na visita técnica.",
      "nota": "O valor final é confirmado na visita técnica."
    }
  },
  "whatsapp": {
    "modo": "faixa",
    "mensagem": "Olá, Maria! Aqui é da Empresa Exemplo Energia Solar. O seu orçamento de energia solar está pronto: sistema de 5,72 kWp, entre R$ 13.500 e R$ 15.100.\nO valor final é confirmado na visita técnica. Veja a proposta completa, com a economia estimada: [link da proposta]\n\nQualquer dúvida, é só responder aqui.",
    "numero": "5515999990000",
    "link": "https://wa.me/5515999990000?text=Ol%C3%A1%2C%20Maria!%20Aqui%20%C3%A9%20da%20Empresa%20Exemplo%20Energia%20Solar.%20O%20seu%20or%C3%A7amento%20de%20energia%20solar%20est%C3%A1%20pronto%3A%20sistema%20de%205%2C72%20kWp%2C%20entre%20R%24%2013.500%20e%20R%24%2015.100.%0AO%20valor%20final%20%C3%A9%20confirmado%20na%20visita%20t%C3%A9cnica.%20Veja%20a%20proposta%20completa%2C%20com%20a%20economia%20estimada%3A%20%5Blink%20da%20proposta%5D%0A%0AQualquer%20d%C3%BAvida%2C%20%C3%A9%20s%C3%B3%20responder%20aqui."
  },
  "email": { "enviado": false, "motivo": "previa" },
  "origem": "meta-formulario",
  "campanha": {
    "utm_source": "meta",
    "utm_medium": "formulario",
    "utm_campaign": "kit-ionluz",
    "utm_content": "conta-de-luz",
    "capturadoEm": "2026-09-25T14:05:00.000Z"
  },
  "aviso": "Chave de teste: executado em modo preview, nada foi gravado e nenhum e-mail saiu. Com a chave viva, o mesmo corpo grava o lead e devolve os links.",
  "requestId": "req_9f2c1a7b3d4e5f6a90"
}

Depois de ligado

  • Cada lead vira proposta em Orçamentos automáticos, com a origem API, e você recebe o aviso de lead por e-mail, como os pedidos da página.
  • Com a autorização ligada em Perfil e marca, aba Condições, bloco E-mail ao cliente, o link da proposta vai por e-mail para a pessoa na hora.
  • A mensagem do WhatsApp vem pronta na resposta (whatsapp.link abre a conversa com ela escrita). Para mandar sem abrir o link, o Make e o Zapier têm módulos de WhatsApp para quem usa a API oficial do WhatsApp Business.
  • Lead sem o valor da conta, fora da sua área ou sem preço vira contato, em Contatos sem orçamento, e a resposta diz por quê. Veja Entrada de leads.

Se der erro

  • 401 chave-invalida: confira o Bearer e a chave no cabeçalho.
  • 403 plano-sem-api: a chave viva é do plano Máquina. Até assinar, use a de teste.
  • 400 consentimento-invalido: faltou o texto, a data ou a fonte; o campo campos diz qual.
  • 400 contato-obrigatorio: o lead veio sem telefone e sem e-mail.
  • Os outros códigos estão em Erros.
API v1 · ionluz, propostas solares honestas. Dúvidas? Cite o requestId ao escrever para suporte@ionluz.com.br.
Formulário do anúncio, pelo Make ou pelo Zapier · API ionluz