# Limite pré-aprovado com manifestação do cliente

## Motivação
Clientes devem ser avisados automaticamente sempre que identificarmos um limite de crédito pré-aprovado vinculado ao CPF. Ao mesmo tempo, o time deseja receber um sinal claro quando o próprio cliente manifestar interesse em utilizar esse limite.

## Escopo inicial
- Detectar limites pré-aprovados vindos de integrações/parceiros ou cálculos internos e registrá-los no CRM.
- Exibir aos clientes autenticados (portal do cliente) um aviso com valor, data de atualização e CTA “Tenho interesse”.
- Registrar a manifestação do cliente, notificar o time responsável e impedir cliques duplicados enquanto o pedido estiver em análise.
- Disponibilizar histórico básico (quando o limite entrou/foi consumido e quem sinalizou interesse).

## Dados e integrações
- **Lead/Cliente**: garantir campos para armazenar `preapproved_limit_amount`, `preapproved_limit_source`, `preapproved_limit_updated_at` e `preapproved_interest_status` (ex.: `pending`, `contacted`, `converted`).
- **Logs**: tabela simples `lead_limit_events` para auditar mudanças de limite e cliques de interesse (valor, origem, usuário/cliente, timestamps).
- **Integrações**: definir serviço (job/scheduler) que consome os limites e popula os campos acima. Registrar falhas e última sincronização.

## Fluxos principais
1. **Importação de limites**
   - Job identifica leads elegíveis, atualiza campos de limite e cria evento de auditoria.
   - Caso o cliente esteja cadastrado no portal, dispara notificação (push/e-mail opcional) e marca mensagem não lida na área do cliente.
2. **Portal do cliente**
   - Card específico exibindo o valor pré-aprovado e explicação resumida.
   - Botão “Tenho interesse” que chama endpoint autenticado `POST /clientes/{lead}/preapproved-interest`.
   - Após confirmação, mostrar estado “Solicitação enviada” e impedir novo envio até que o time trate.
3. **Backoffice**
   - Dashboard de alertas indicando novos interesses (filtros por status/data).
   - Opção de registrar contato realizado para mover `preapproved_interest_status` para `contacted` ou `converted`.

## Notificações e tarefas
- Criar regra na fila de lembretes/tarefas para abrir um follow-up automático ao time quando `preapproved_interest_status = pending`.
- (Opcional) enviar push/e-mail ao cliente confirmando o recebimento do interesse.

## Próximos passos sugeridos
1. Desenhar migration para os campos adicionais e tabela de eventos.
2. Especificar o job/importador de limites (origem dos dados, periodicidade, tratamento de erros).
3. Definir layout da área do cliente e do painel interno (wireframes rápidos).
4. Listar notificações necessárias (push, e-mail, tarefas internas) e owners.
5. Criar endpoints/controllers para registrar e acompanhar o interesse.
