Todas as funcionalidades da aba CPF → CNPJ foram implementadas:
- ✅ Tabela
cpf_clientscriada no banco de dados - ✅ Script de dados mockados (25 registros)
- ✅ APIs backend (listar, calcular potencial, enriquecer)
- ✅ Serviço frontend
CPFClientService - ✅ Componente
CPFToCNPJTabcom tabela, filtros e gráficos - ✅ Componente
CPFClientDetailcom abas detalhadas - ✅ Integração com tabs no
ProspectingDashboard - ✅ Rotas adicionadas no
App.jsx
Ordem de execução:
-
Execute
create_cpf_clients_table.sqlno SQL Editor do Supabase- Cria a tabela
cpf_clientscom todos os campos - Configura índices para performance
- Cria políticas RLS (Row Level Security)
- Cria trigger para
updated_at
- Cria a tabela
-
Execute
create_mock_cpf_clients_data.sql- Insere 25 clientes CPF mockados
- Diferentes perfis (alto, médio, baixo potencial)
- Mix de status (identified, contacted, converted, rejected)
Verificação:
-- Verificar se a tabela foi criada
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name = 'cpf_clients';
-- Verificar se os dados foram inseridos
SELECT COUNT(*) as total,
COUNT(*) FILTER (WHERE status = 'identified') as identified,
COUNT(*) FILTER (WHERE status = 'converted') as converted,
COUNT(*) FILTER (WHERE conversion_potential_score >= 70) as high_potential
FROM public.cpf_clients;
-- Verificar alguns registros
SELECT name, cpf, conversion_potential_score, status, priority
FROM public.cpf_clients
ORDER BY conversion_potential_score DESC
LIMIT 10;-
Acesse o Dashboard de Prospecção
- URL:
/prospecting - Ou clique em "Prospecção" no menu lateral
- URL:
-
Clique na aba "CPF → CNPJ"
- Você deve ver os cards de métricas (Total CPFs, Alto Potencial, Convertidos, Taxa de Conversão)
- Gráfico de distribuição de scores
- Tabela com os clientes CPF
- Testar busca por nome, CPF ou email
- Testar filtro por status (Identificado, Contatado, Convertido, Rejeitado)
- Testar filtro por score (Alto ≥70, Médio 50-69, Baixo <50)
- Testar filtro por prioridade (Alta ≥7, Média 4-6, Baixa <4)
- Verificar se os filtros funcionam em conjunto
- Alternar entre gráfico de barras, linha e pizza
- Verificar se a distribuição de scores está correta
- Validar que os dados do gráfico correspondem aos dados da tabela
-
Ver Detalhes: Clicar em uma linha ou no ícone de olho
- Deve navegar para
/prospecting/cpf/:id - Verificar se todos os dados são exibidos corretamente
- Deve navegar para
-
Marcar como Contatado: Clicar no ícone de check
- Verificar se o status muda para "contacted"
- Verificar se a tabela atualiza
-
Converter para Prospect: Clicar no ícone de target
- Confirmar a conversão
- Verificar se o prospect é criado na tabela
prospects - Verificar se o status do cliente CPF muda para "converted"
- Verificar se aparece na aba "Prospecção CNPJ"
-
Rejeitar: Clicar no ícone de X
- Confirmar a rejeição
- Verificar se o status muda para "rejected"
-
Analisar Selecionados: Selecionar múltiplos clientes e clicar em "Analisar Selecionados"
- Verificar se os scores são recalculados
- Verificar se a tabela atualiza
-
Aba Visão Geral
- Verificar informações pessoais (nome, CPF, email, telefone, endereço)
- Verificar resumo financeiro (volume, frequência, receita estimada)
- Verificar perfil de crédito (score, histórico, produtos bancários)
-
Aba Transações
- Verificar dados transacionais
- Verificar perfil de consumo
-
Aba Atividade Empresarial
- Verificar indicadores de atividade empresarial
- Verificar sinais de mercado
-
Aba Scoring Detalhado
- Verificar breakdown do score por fator
- Testar botão "Recalcular Score"
- Verificar se os valores são atualizados
-
Ações na Página de Detalhes
- Testar "Marcar como Contatado"
- Testar "Converter para Prospect"
- Testar "Rejeitar"
# Testar cálculo de potencial para um cliente
curl -X POST http://localhost:3000/api/cpf-clients/calculate-potential \
-H "Content-Type: application/json" \
-d '{
"client": {
"transaction_volume": 50000,
"transaction_frequency": 30,
"has_business_indicators": true,
"business_activity_score": 85,
"credit_score": 750,
"digital_presence_score": 80,
"social_media_activity": 50,
"banking_products": ["conta_corrente", "cartao_credito", "investimentos"]
}
}'# Testar enriquecimento de clientes CPF
curl -X POST http://localhost:3000/api/cpf-clients/enrich \
-H "Content-Type: application/json" \
-d '{
"clientIds": ["client-id-1", "client-id-2"],
"sourceConfigs": [{
"sourceType": "external_api",
"sourceId": "serasa"
}]
}'- Converter um cliente CPF para prospect
- Verificar se o prospect aparece na aba "Prospecção CNPJ"
- Verificar se os dados foram transferidos corretamente
- Verificar se o score foi preservado
- Verificar se o histórico de conversão está disponível
- Navegar para a aba "CPF → CNPJ"
- Fazer uma pergunta ao avatar sobre clientes CPF
- Verificar se o avatar responde com contexto relevante
- Testar perguntas como:
- "Quantos clientes CPF temos com alto potencial?"
- "Qual o score médio dos clientes CPF?"
- "Quais clientes CPF devo contatar primeiro?"
Execute no Supabase SQL Editor:
-- Verificar distribuição de scores
SELECT
CASE
WHEN conversion_potential_score >= 80 THEN 'Alto (80-100)'
WHEN conversion_potential_score >= 60 THEN 'Médio-Alto (60-79)'
WHEN conversion_potential_score >= 40 THEN 'Médio (40-59)'
ELSE 'Baixo (<40)'
END as faixa_score,
COUNT(*) as quantidade
FROM public.cpf_clients
GROUP BY faixa_score
ORDER BY faixa_score DESC;
-- Verificar distribuição por status
SELECT status, COUNT(*) as quantidade
FROM public.cpf_clients
GROUP BY status
ORDER BY quantidade DESC;
-- Verificar top 10 por potencial
SELECT name, cpf, conversion_potential_score, priority, status, recommended_action
FROM public.cpf_clients
ORDER BY conversion_potential_score DESC, priority DESC
LIMIT 10;- Tabela
cpf_clientscriada e populada - Aba "CPF → CNPJ" aparece no dashboard
- Cards de métricas exibem dados corretos
- Tabela lista todos os clientes CPF
- Filtros funcionam corretamente
- Gráficos exibem dados corretos
- Navegação para detalhes funciona
- Conversão para prospect funciona
- Atualização de status funciona
- Cálculo de potencial funciona
- API
/api/cpf-clientsresponde corretamente - API
/api/cpf-clients/calculate-potentialcalcula scores - API
/api/cpf-clients/enrichenriquece dados - Conversão cria prospect corretamente
- Integração com avatar funciona
- Página carrega sem erros
- Navegação entre tabs funciona
- Filtros são intuitivos
- Ações têm feedback visual
- Mensagens de erro são claras
- Loading states aparecem durante operações
-
Dados Mockados: Os 25 clientes CPF são apenas para desenvolvimento. Em produção, os dados virão de:
- Uploads de planilhas
- Conexões com bancos de dados externos
- Integrações com sistemas do banco
-
Algoritmo de Scoring: O algoritmo atual usa pesos fixos. Em produção, considere:
- Ajustar pesos baseado em dados históricos
- Usar machine learning para otimizar
- Personalizar por segmento de mercado
-
Conversão para Prospect: Quando um cliente CPF é convertido:
- Um novo prospect é criado na tabela
prospects - O status do cliente CPF muda para "converted"
- O histórico de conversão é preservado
- Um novo prospect é criado na tabela
-
Enriquecimento: O enriquecimento pode ser feito com:
- APIs externas (Receita Federal, Serasa, etc.)
- Dados de uploads
- Dados de conexões de banco de dados
-
Importação em Lote
- Upload de planilha com múltiplos CPFs
- Processamento assíncrono
- Validação de dados
-
Análise Preditiva
- Modelo ML para prever probabilidade de conversão
- Recomendações personalizadas de abordagem
- Timeline estimada de conversão
-
Campanhas Automatizadas
- Campanhas baseadas em score
- Segmentação automática
- Acompanhamento de resultados
-
Dashboard Executivo
- Métricas agregadas
- Tendências ao longo do tempo
- Comparação com benchmarks
- Execute
create_cpf_clients_table.sqlprimeiro
- Execute
create_mock_cpf_clients_data.sql - Verifique se há usuário criado no Supabase
- Verifique se o componente
CPFToCNPJTabestá importado - Verifique se as rotas estão configuradas
- Recarregue a página
- Verifique se a API
/api/prospectsestá funcionando - Verifique logs do console do navegador
- Verifique se o usuário está autenticado
Antes de considerar pronto para produção, verifique:
- Todos os testes acima foram executados
- Não há erros no console do navegador
- Dados são exibidos corretamente
- Ações funcionam como esperado
- Performance é aceitável
- Segurança (RLS) está configurada
- Documentação está atualizada
Quando estiver pronto:
-
Commit e Push
git add . git commit -m "feat: Implementar aba CPF → CNPJ com mapeamento de clientes" git push origin develop git checkout main git merge develop git push origin main
-
Verificar Deploy no Vercel
- Aguardar deploy automático
- Testar em produção
- Verificar logs de erro
-
Executar Scripts SQL em Produção
- Executar
create_cpf_clients_table.sqlno Supabase de produção - Executar
create_mock_cpf_clients_data.sql(ou importar dados reais)
- Executar
Boa sorte com os testes! 🎉