Documentação

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.

Use sempre o domínio imobiliq.com.br
Requisições para 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?

ItemValor
Método e URLPOST https://imobiliq.com.br/api/ingest/leads
AutenticaçãoAuthorization: Bearer SEU_TOKEN
FormatoContent-Type: application/json
Resposta201 quando cria o lead, 200 quando reconhece um telefone já em atendimento
curl
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?

nome é obrigatório, mais telefone ou email. Todo o resto é opcional, e o que você não mandar simplesmente não aparece na ficha.

CampoTipoO que faz
nometextoObrigatório. Nome do lead como vai aparecer no card.
telefonetextoAceita qualquer formato. É o que liga o lead à conversa do WhatsApp.
emailtextoOpcional se houver telefone.
finalidadevenda ou locacaoPadrão: venda.
origemtextosite, meta, google, instagram, portal, indicacao, whatsapp, manual ou api. Valor desconhecido vira api.
fontetextoTexto livre: o nome da campanha, da landing ou do portal. Serve para rotear a fila.
utmobjetosource, medium, campaign, content, term, platform.
custom_fieldsobjetoAs perguntas do seu formulário. Cada chave nova vira um campo da imobiliária automaticamente.
As perguntas de qualificação
Tudo que você mandar em 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:

as três formas equivalentes
{ "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).

201 Created
{
  "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.

200 OK
{
  "id": "9f2c1e5a-4b3d-4c8e-9f10-2a7b6c5d4e3f",
  "duplicado": true,
  "atualizado": true
}

Exemplos em outras linguagens

JavaScript / Node.js
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
<?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?

  1. Adicione um nó de requisição HTTP

    No n8n é o HTTP Request; no Make, o HTTP; no Zapier, o Webhooks by Zapier.
  2. 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 com factorya.
  3. Cabeçalho de autenticação

    Nome Authorization, valor Bearer SEU_TOKEN. Com a palavra Bearer e um espaço antes do token.
  4. 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.
  5. 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.