🔁 Do Distrato à Nova Venda: Automação para Recuperar Clientes Após Cancelamento de Reserva
🗺️ Visão Geral
Aprenda como monitorar distratos/cancelamentos de reserva via API e reagir automaticamente! Recupere o cliente reenviando-o ao funil de leads e sinalize a unidade liberada de volta ao mapa de disponibilidade, sem depender de nenhuma configuração de alçada, tabela de preço ou regra de aprovação interna.
Complementa Jornada do cliente: Do lead à reserva, fechando o ciclo quando uma venda não avança.
🔧 O problema que este fluxo resolve
Hoje, quando uma reserva é distratada, o cliente normalmente "some" do radar comercial — ninguém dispara automaticamente uma ação de recuperação, e a unidade liberada não é comunicada de forma ativa ao time de vendas ou aos canais de remarketing. Isso gera:
- Oportunidade de venda perdida duas vezes: primeiro no distrato, depois porque ninguém tentou recuperar o cliente com uma condição nova.
- Estoque "fantasma": a unidade voltou a ficar disponível, mas o mapa comercial só reflete isso passivamente — ninguém é notificado proativamente.
- Sem rastreabilidade de causa: sem consolidar os distratos, a incorporadora não enxerga padrões (ex.: mesmo motivo de distrato se repetindo em um empreendimento).
Diferente de um fluxo de aprovação de reserva, aqui não há dependência de configuração comercial: é reação a um fato já consumado (o distrato já aconteceu no CVCRM) e uso de uma ação já documentada: cadastro/atualização de lead.
✅ Pré-requisitos
| Item | Como obter |
|---|---|
| Domínio da base | Ex.: suaempresa.cvcrm.com.br |
| E-mail e Token (API v1) | Painel do Gestor → Usuários → Token - Como autenticar nas APIs do CVCRM com E-mail e Token |
| Permissão necessária | Leads > Cadastrar/Alterar Lead (já usada no fluxo de leads) — nenhuma permissão adicional de reserva é exigida. |
| Canal de notificação | Webhook/automação (Make, n8n) para avisar o time comercial — ver Integrando o CVCRM com o n8n |
📋 APIs utilizadas neste fluxo
| Etapa | Método | Endpoint | Status |
|---|---|---|---|
| GET | /api/v1/cvdw/distratos | ✅ Confirmado na Referência do Portal |
| GET | /api/v1/comercial/mapadisponibilidade/{idEmpreendimento} | ✅ Já documentado em Jornada do Cliente |
| POST | /api/v1/comercial/leads | ✅ Já documentado em Envio de Leads |
🔄 Fluxo de integração
[Job agendado — ex. a cada 1h]
│
▼
┌────────────────────────────────────────┐
│ 1. GET /cvdw/distratos │
│ (a_partir_data_referencia = última │
│ execução do job) │
└───────────────┬──────────────────────────┘
│ novo distrato encontrado
▼
┌────────────────────────────────────────┐
│ 2. GET Mapa de Disponibilidade │
│ (idempreendimento do distrato) │
└───────────────┬──────────────────────────┘
│ confirma unidade "disponivel"
▼
┌────────────────────────────────────────┐
│ 3. POST Lead (recuperação de cliente) │
│ permitir_alteracao: true │
│ origem: "RM" (Remarketing) │
└───────────────┬──────────────────────────┘
│
▼
┌────────────────────────────────────────┐
│ 4. Notificação ao time comercial │
│ (webhook → Make/n8n → WhatsApp/CRM) │
└────────────────────────────────────────┘
*A origem RM = Remarketing é apenas uma sugestão, você pode escolher a origem que mais se encaixar com o seu processo dentre as origens disponíveis no cadastro do lead.
👣 Passo a passo
1️⃣ Consultar distratos desde a última execução
GET https://{seudominio}.cvcrm.com.br/api/v1/cvdw/distratos?a_partir_data_referencia=2026-07-02®istros_por_pagina=100
email: SEU_EMAIL
token: SEU_TOKENQuery params disponíveis:
| Parâmetro | Tipo | Descrição |
|---|---|---|
pagina | integer | Página que deseja visualizar |
registros_por_pagina | integer | Máximo 500 registros |
a_partir_referencia | integer | Retorna a partir deste ID (ordenado por referencia_data) |
a_partir_data_referencia | string | Registros com data de referência a partir da data informada |
ate_data_referencia | string | Registros com data de referência até a data informada |
Usea_partir_data_referencia= data/hora da última execução do job para processar apenas distratos novos (evita reprocessar o histórico inteiro a cada rodada).
Response — 200 OK
{
"pagina": 1,
"registros": 30,
"total_de_registros": 1054,
"total_de_paginas": 36,
"dados": [
{
"referencia": "193 ou 193_30",
"referencia_data": "2023-01-15 15:26:15",
"ativo": "S",
"idreserva": 12414,
"aprovada": "Sim",
"data_cad": "2021-01-01 00:00:00",
"situacao_data": "2021-01-01 00:00:00",
"situacao_atual": "2021-01-01 00:00:00",
"idsituacao": 3,
"idempreendimento": 3,
"codigointerno_empreendimento": "1",
"empreendimento": "Retiro Teixeira",
"etapa": "Etapa 1",
"bloco": "Bloco E06",
"idunidade": 47,
"unidade": "3",
"regiao": "Sul",
"venda": "Sim",
"idcliente": 30491,
"documento": "04461372197",
"cliente": "Maria Eduarda Soares Bezerra",
"cep_cliente": "49052260",
"idcorretor": 274,
"corretor": "João Santos",
"idimobiliaria": 274,
"imobiliaria": "IMOBILIÁRIA QC",
"motivo_distrato": "Crédito Negado",
"descricao_motivo_distrato": "Desistência por reprovação de crédito",
"valor_contrato": 150000.54,
"data_sincronizacao": "2026-07-58 16:16:22"
}
]
}2️⃣ Confirmar que a unidade voltou a ficar disponível
GET https://{seudominio}.cvcrm.com.br/api/v1/comercial/mapadisponibilidade/42
email: SEU_EMAIL
token: SEU_TOKENFiltra a resposta pelo idunidade do distrato (47) e confirma se o idsituacao é correspondente a situação Disponível do seu workflow. Isso evita reenviar o cliente para uma unidade que já foi revendida entre a leitura do distrato e o processamento.
3️⃣ Recuperar o cliente (reenvio ao funil)
POST https://{seudominio}.cvcrm.com.br/api/v1/comercial/leads
Content-Type: application/json
email: SEU_EMAIL
token: SEU_TOKEN{
"nome": "Ana Beatriz Silva",
"email": "[email protected]",
"telefone": "11987654321",
"origem": "RM",
"idempreendimento": 42,
"permitir_alteracao": true,
"midia": "recuperacao-distrato-47"
}Response — 201 Created
{
"idlead": 18901,
"empreendimentos": [
{
"idempreendimento": 42,
"nome": "Jardins Residencial"
}
],
"corretor": [
{
"idcorretor": 15,
"nome": "José da Silva"
}
]
}Definir uma origem específica para esse processo de remarketing permite segmentar esses leads de recuperação nos relatórios e na fila de distribuição sem criar categoria nova.
4️⃣ Notificar o time comercial
Dispare a notificação via webhook para Make/n8n (ex.: mensagem no grupo de vendas do empreendimento, ou fila prioritária) informando: cliente recuperado, motivo do distrato original e unidade que voltou a ficar disponível. Se ainda não sabe como construir essa notificação automática, acesse o tutorial: Como integrar o CVCRM ao n8n via API.
⚠️ Edge cases e tratamento de erros
| Cenário | Causa | Como tratar |
|---|---|---|
| Unidade já revendida entre o distrato e o processamento | Corretor vendeu a unidade manualmente antes do job rodar | Sempre validar situacao: disponivel (Etapa 2) antes de recuperar o cliente; se vendida, oferecer unidade similar |
| Cliente já é lead ativo em outro empreendimento | Mesmo e-mail/telefone com lead em andamento | permitir_alteracao: true atualiza o lead existente em vez de duplicar |
| Distrato sem e-mail/telefone válido | Cadastro incompleto no CVCRM | Pular recuperação automática; encaminhar para revisão manual |
| Motivo de distrato indica problema de crédito | Reprovação financeira, não desistência voluntária | Segmentar por motivo — não faz sentido recuperar automaticamente clientes reprovados em análise de crédito |
| Job rodando com sobreposição de janela | Duas execuções processam o mesmo distrato | Usar a_partir_referencia (ID) como cursor, não apenas data, para paginação idempotente |
| Rate limit atingido | Alto volume de distratos em polling frequente | Job horário é suficiente; evitar polling em intervalos menores que 15 min |
📡 Monitoramento
Chamadas registradas no CVIO (https://{seudominio}.cvcrm.com.br/cvio) por 30 dias — use para auditar quais distratos geraram recuperação automática e a taxa de conversão em nova venda.
✅ Checklist de Go-Live
- Cursor de paginação (
a_partir_referenciaoua_partir_data_referencia) definido e persistido entre execuções - Regra de segmentação por
motivodo distrato validada com o time comercial (nem todo distrato deve gerar recuperação automática) - Verificação de disponibilidade da unidade antes do reenvio do lead
- Código de origem
RM(ou equivalente) definido para segmentação em relatórios - Canal de notificação ao time comercial testado
- Acesso ao CVIO validado para auditoria de conversão
📚 Referências
- Retorna os distratos (GET v1/cvdw)
- API Mapa de Disponibilidade (GET v1)
- Envio de Leads ao CVCRM via API
- Jornada do cliente: Do lead à reserva
- Integrando o CVCRM com o n8n via API
Updated about 11 hours ago