Atualizado em 25/10/2026
Com a API oficial do WhatsApp, a imobiliária responde um lead de portal em segundos: o lead chega ao CRM, um webhook avisa o seu sistema, o sistema escolhe o corretor e envia um template aprovado pela Meta no WhatsApp do interessado. Quando ele responde, a conversa abre uma janela de 24 horas em que o corretor manda fotos, vídeo e opções de visita, tudo no mesmo número da imobiliária e com o histórico guardado no CRM.
Este guia mostra a arquitetura, o código do primeiro contato, a distribuição de leads entre corretores e os cuidados com template e consentimento.
O problema: lead de portal esfria rápido
O interessado que preenche o formulário de um anúncio costuma consultar vários imóveis e várias imobiliárias no mesmo dia. Se a resposta demora horas, o interessado pode já ter marcado visita com outra imobiliária. O gargalo raramente é o corretor; é o caminho do lead até ele: e-mail que ninguém abre, planilha atualizada à tarde, WhatsApp pessoal de cada corretor sem registro.
A API oficial resolve três pontos:
- Velocidade. O primeiro contato sai automaticamente, sem depender de alguém ver o e-mail.
- Número único da imobiliária. Vários corretores atendem pelo mesmo número, e o cliente não fica “preso” ao celular de quem saiu da empresa. Veja vários atendentes no mesmo número.
- Histórico. Mensagens recebidas e enviadas chegam ao seu sistema por webhook e podem ser gravadas no CRM.
A arquitetura
- O portal entrega o lead ao CRM imobiliário.
- O CRM avisa o seu serviço por webhook.
- O seu serviço escolhe o corretor e envia o template pela API do WhatsApp.
- O lead responde, a resposta chega ao seu webhook e o corretor recebe o aviso.
Cada portal entrega leads de um jeito: integração nativa com CRMs, e-mail ou API própria, conforme o portal e o plano contratado. O caminho mais simples é deixar o CRM receber os leads de todos os portais e usar o webhook ou a automação do próprio CRM para avisar o seu serviço. Se o CRM não tem webhook, ferramentas como n8n ou Make e Zapier fazem a ponte.
O que o seu serviço precisa receber, no mínimo:
{
"lead_id": "L-20931",
"origem": "portal_x",
"nome": "Carla Mendes",
"telefone": "(11) 98888-7777",
"imovel": { "codigo": "AP-1042", "titulo": "Apartamento 2 quartos, Pinheiros" },
"mensagem": "Tenho interesse, ainda está disponível?",
"recebido_em": "2026-10-25T10:12:04-03:00"
}
Esse formato é seu, não de um portal específico. Normalize tudo para ele na entrada.
O primeiro contato: template
O lead não falou com você pelo WhatsApp, então não existe janela de atendimento aberta. A única forma de iniciar a conversa é um template aprovado. Fora da janela de 24 horas, nada de texto livre. Veja templates da API do WhatsApp.
Exemplo de template:
{
"name": "retorno_interesse_imovel",
"language": "pt_BR",
"category": "UTILITY",
"components": [
{
"type": "BODY",
"text": "Olá, {{1}}. Aqui é {{2}}, da {{3}}. Recebemos seu pedido de informações sobre o imóvel {{4}}. Quer que eu envie fotos e horários de visita por aqui?",
"example": {
"body_text": [["Carla", "Rafael", "Imobiliária Exemplo", "AP-1042"]]
}
},
{
"type": "BUTTONS",
"buttons": [
{ "type": "QUICK_REPLY", "text": "Sim, pode enviar" },
{ "type": "QUICK_REPLY", "text": "Prefiro ligação" }
]
}
]
}
Sobre a categoria: a Meta define utilidade como mensagem disparada por uma ação ou pedido do usuário, sem conteúdo promocional, e diz que mensagens para levar ao WhatsApp uma conversa que começou em outro canal não devem ser enviadas sem que o usuário tenha pedido. Um retorno a um pedido de informação, sem oferta, pode ser aprovado como utilidade. Se o texto falar em “condição especial”, “outros imóveis que você vai amar” ou desconto, a Meta classifica como marketing. A decisão é da Meta, então orce o pior caso. Veja como a Meta classifica templates.
Código: do webhook do CRM ao template
Um serviço em Node.js que recebe o lead, normaliza o telefone, escolhe o corretor e envia o template pela API da Vectalk (mesmo payload da Cloud API):
import express from 'express';
const app = express();
app.use(express.json());
const corretores = ['rafael', 'juliana', 'marcos'];
let proximo = 0;
function paraE164(tel) {
const digitos = tel.replace(/\D/g, '');
return digitos.startsWith('55') ? digitos : `55${digitos}`;
}
app.post('/leads', async (req, res) => {
res.sendStatus(200); // responda rápido; processe em seguida
const lead = req.body;
const corretor = corretores[proximo++ % corretores.length];
const to = paraE164(lead.telefone);
const r = await fetch('https://apis.vectalk.com.br/api/messages', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VECTALK_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
messaging_product: 'whatsapp',
to,
type: 'template',
template: {
name: 'retorno_interesse_imovel',
language: { code: 'pt_BR' },
components: [{
type: 'body',
parameters: [
{ type: 'text', text: lead.nome.split(' ')[0] },
{ type: 'text', text: corretor },
{ type: 'text', text: 'Imobiliária Exemplo' },
{ type: 'text', text: lead.imovel.codigo },
],
}],
},
}),
});
const corpo = await r.json();
await salvarNoCrm(lead.lead_id, {
corretor,
wa_id: to,
wamid: corpo.messages?.[0]?.id,
erro: corpo.error?.code,
});
});
O rodízio simples (round-robin) serve para começar. Na prática, é comum precisar de regras: corretor responsável pelo imóvel, região, tipo (venda ou locação), plantão do dia ou corretor que já atendeu aquele cliente antes. Guarde a regra no seu sistema, não no código, para ajustar sem deploy.
Se a API devolver erro, registre e avise a equipe. Telefone inválido e número sem WhatsApp são comuns em formulários. Uma resposta 200 só diz que a mensagem foi aceita; entrega e leitura chegam depois no webhook de status.
Quando o lead responde
A resposta do lead (botão ou texto) chega ao seu webhook e abre a janela de 24 horas. A partir daí, o corretor pode:
- enviar fotos, vídeo do imóvel e a ficha em PDF. Veja como enviar mídia pela API;
- oferecer horários de visita com uma lista ou botões. Veja mensagens interativas;
- mandar a localização do imóvel;
- passar a conversa para outro corretor sem trocar de número.
Para o corretor, o ideal é atender pela plataforma de atendimento ou pelo CRM, e não por um celular. Todas as mensagens ficam no histórico do lead.
Se o lead não responde ao template, não insista com vários templates seguidos. Cada template fora da janela é cobrado, e mensagens repetidas para quem não respondeu aumentam a chance de bloqueio e denúncia, o que afeta a qualidade do número. Defina um limite, por exemplo um segundo contato no dia seguinte, e pare por aí.
Consentimento e opt-in
A política do WhatsApp Business exige que a pessoa tenha fornecido o número e dado permissão para receber mensagens da empresa, e que pedidos para parar sejam respeitados. Quem preenche um formulário de interesse em um anúncio da sua imobiliária forneceu o número para ser contatado sobre aquele imóvel, mas o texto do formulário e os termos do portal fazem diferença. Confira com o jurídico como o consentimento é coletado em cada origem. Para campanhas futuras (lançamentos, novos imóveis), colete um opt-in de marketing separado. Veja como montar uma lista opt-in.
Leads de anúncios Click-to-WhatsApp
Além dos portais, leads podem chegar por anúncios da Meta que abrem a conversa direto no WhatsApp. Nesse caso, quem inicia é o cliente, a janela já nasce aberta e não é preciso template para a primeira resposta. O webhook traz dados de origem do anúncio, o que ajuda a saber qual campanha gerou a visita. Veja como rastrear anúncios Click-to-WhatsApp.
Volume
Os templates de primeiro contato contam no limite de mensagens do portfólio, que começa em 250 destinatários únicos em 24 horas fora da janela. Para imobiliárias com muitos leads por dia, a verificação da empresa é um dos caminhos para chegar a 2.000. Veja limite de mensagens da API do WhatsApp.
Como fazer com a Vectalk
Na Vectalk, você envia o template por POST /messages, cria templates por POST /templates e registra quantas URLs de webhook quiser por instância com POST /webhooks, o que permite mandar os mesmos eventos para o CRM e para o seu serviço de distribuição. Os payloads são os da Meta. A Vectalk usa a Cloud API oficial e paga a Meta por você. Veja a documentação e crie sua conta. Para o contexto completo, leia o guia da API oficial do WhatsApp.
Perguntas frequentes
Posso mandar texto livre para o lead do portal?
Não, enquanto ele não falar com você pelo WhatsApp. O primeiro contato precisa ser um template aprovado. Depois que o lead responde, você tem 24 horas para mensagens livres.
O template de retorno é utilidade ou marketing?
Depende do texto e da análise da Meta. Um retorno sem oferta a um pedido de informação pode ser utilidade; qualquer conteúdo promocional leva para marketing.
Cada corretor precisa de um número?
Não. Vários corretores podem atender pelo mesmo número da imobiliária, cada um pela plataforma de atendimento. Isso também mantém o histórico na empresa quando um corretor sai.
Dá para integrar sem programar?
Dá, se o CRM tem webhook ou integração com ferramentas como n8n, Make ou Zapier. A ferramenta recebe o lead e chama a API de envio de template.
Posso enviar novos imóveis para leads antigos?
Só com template de marketing e opt-in para esse tipo de mensagem. Respeite quem pediu para parar.
Fontes oficiais consultadas em 25/10/2026: Diretrizes de categorias de template, Templates de utilidade, Limites de mensagens, Preços, Política de Mensagens do WhatsApp Business, Webhooks da Vectalk.
