Enviar leads para o CRM
Envie um POST para https://imobiliq.com.br/api/ingest/leads com o cabeçalho Authorization: Bearer e o seu token de integração. O corpo precisa de nome e de pelo menos telefone ou e-mail. O lead entra no pipeline na hora, é distribuído para um corretor pela fila e, se a mensagem automática estiver ligada, já recebe o primeiro contato no WhatsApp.
Onde encontro o meu token?
Entre no ImobiliQ, vá em Configurações e depois em Integrações. O token fica na primeira caixa da tela, com um botão de copiar. Ele é da imobiliária inteira, então guarde como senha: quem tem o token pode criar leads na sua conta.
imobiliq.factorya.com.br respondem com um redirecionamento, e a maioria dos clientes HTTP (incluindo o n8n e o curl -L) descarta o cabeçalho Authorization ao seguir redirecionamento entre domínios. O resultado é um 401 difícil de entender, com o token correto.Como é a requisição?
| Item | Valor |
|---|---|
| Método e URL | POST https://imobiliq.com.br/api/ingest/leads |
| Autenticação | Authorization: Bearer SEU_TOKEN |
| Formato | Content-Type: application/json |
| Resposta | 201 quando cria o lead, 200 quando reconhece um telefone já em atendimento |
curl -X POST https://imobiliq.com.br/api/ingest/leads \
-H "Authorization: Bearer SEU_TOKEN_DE_INTEGRACAO" \
-H "Content-Type: application/json" \
-d '{
"nome": "Maria Souza",
"telefone": "+5547999990000",
"email": "maria@email.com.br",
"finalidade": "venda",
"origem": "site",
"fonte": "Landing Apartamentos Centro",
"utm": {
"source": "facebook",
"medium": "cpc",
"campaign": "apartamentos-centro"
},
"custom_fields": {
"quanto_pretende_investir": "ate 500 mil",
"bairro_de_interesse": "Centro",
"prazo_para_comprar": "3 meses"
}
}'Quais campos posso mandar?
Só nome é obrigatório, mais telefone ou email. Todo o resto é opcional, e o que você não mandar simplesmente não aparece na ficha.
| Campo | Tipo | O que faz |
|---|---|---|
nome | texto | Obrigatório. Nome do lead como vai aparecer no card. |
telefone | texto | Aceita qualquer formato. É o que liga o lead à conversa do WhatsApp. |
email | texto | Opcional se houver telefone. |
finalidade | venda ou locacao | Padrão: venda. |
origem | texto | site, meta, google, instagram, portal, indicacao, whatsapp, manual ou api. Valor desconhecido vira api. |
fonte | texto | Texto livre: o nome da campanha, da landing ou do portal. Serve para rotear a fila. |
utm | objeto | source, medium, campaign, content, term, platform. |
custom_fields | objeto | As perguntas do seu formulário. Cada chave nova vira um campo da imobiliária automaticamente. |
custom_fields aparece na ficha do lead com o nome humanizado, e o corretor vê antes de falar com a pessoa. É onde entram as perguntas do formulário de campanha: faixa de investimento, bairro, prazo, se tem financiamento aprovado.Como mandar as UTMs?
De três formas, e o sistema aceita qualquer uma. Use a que for mais fácil na sua ferramenta:
{ "utm": { "source": "facebook", "medium": "cpc" } }
{ "utm_source": "facebook", "utm_medium": "cpc" }
{ "source": "facebook", "medium": "cpc" }O que a resposta devolve?
201, lead criado. O corretor_id vem preenchido quando a fila conseguiu distribuir, e nulo quando não havia corretor disponível (o lead entra como Sem corretor e aparece no painel para alguém assumir).
{
"id": "9f2c1e5a-4b3d-4c8e-9f10-2a7b6c5d4e3f",
"corretor_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"fila_id": "5a80cd4c-8c8b-4079-886a-a820a7b9706d"
}200, telefone já em atendimento. Não é erro: o ImobiliQ reconheceu que aquele telefone já é um lead em aberto e somou as informações novas na ficha, em vez de criar um card duplicado. Se o lead anterior estiver fechado ou perdido, um card novo é criado normalmente, com resposta 201.
{
"id": "9f2c1e5a-4b3d-4c8e-9f10-2a7b6c5d4e3f",
"duplicado": true,
"atualizado": true
}Exemplos em outras linguagens
const resposta = await fetch(
"https://imobiliq.com.br/api/ingest/leads",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IMOBILIQ_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
nome: "Maria Souza",
telefone: "+5547999990000",
origem: "site",
utm: { source: "google", medium: "cpc" },
custom_fields: { bairro_de_interesse: "Centro" },
}),
}
);
const lead = await resposta.json();
if (!resposta.ok) {
// Nao derrube o formulario do visitante por causa do CRM:
// registre o erro e siga. O lead pode ser reenviado depois.
console.error("Imobiliq recusou o lead:", lead.error);
}<?php
$ch = curl_init("https://imobiliq.com.br/api/ingest/leads");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IMOBILIQ_TOKEN"),
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"nome" => $_POST["nome"],
"telefone" => $_POST["telefone"],
"origem" => "site",
]),
]);
$resposta = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);Como faço no n8n, Make ou Zapier?
Adicione um nó de requisição HTTP
No n8n é oHTTP Request; no Make, oHTTP; no Zapier, oWebhooks by Zapier.Método POST e a URL do endpoint
https://imobiliq.com.br/api/ingest/leads. Digite o domínio à mão, sem copiar de um link antigo comfactorya.Cabeçalho de autenticação
NomeAuthorization, valorBearer SEU_TOKEN. Com a palavra Bearer e um espaço antes do token.Corpo em JSON
Marque a opção de enviar como JSON e monte o corpo com os campos da tabela acima, ligando cada um ao campo do seu formulário.Teste com um telefone seu
Rode uma vez e confira se o lead apareceu no pipeline. Depois apague o lead de teste pelo painel.
Existe limite de leads?
Depende do plano. O plano Corretor aceita 300 leads por mês; os planos de imobiliária não têm teto. Ao estourar o limite, a resposta é 429 com a mensagem do limite, e o lead não entra. Veja Erros e o que fazer.