Modelo de Domínio

Entidades, relacionamentos, invariantes e agregados do Gestão de Tráfego.


1. Visão de entidades

Usuario
  │
  ├──< Cliente ──< Relatorio ── (snapshot JSON)
  │        │
  │        ├──< Campanha ──< Diagnostico ──< RespostaDiagnostico
  │        │        │             │
  │        │        │             └──< PlanoCampanha ──< ItemPlano
  │        │        ├──< Metrica
  │        │        └──< Lead ──< InteracaoLead
  │        │
  │        └──< Lead
  │
  ├──< Feedback
  ├──< EventoUso
  ├──< AuditLog
  ├──< TokenEmail
  ├──< Usuario2FA
  ├──< WebhookEvento
  └──< FilaJob

2. Entidades

Usuario

TokenEmail

Usuario2FA

Cliente

Canal

Campanha

PerguntaDiagnostico

Diagnostico

RespostaDiagnostico

PlanoCampanha

ItemPlano

Metrica

Relatorio

Lead

InteracaoLead

Feedback

EventoUso

AuditLog

WebhookEvento

FilaJob

AlertaEnviado


3. Agregados

Agregado Raiz Contém
Cliente Cliente (referências para campanhas e leads)
Campanha Campanha (referências para diagnósticos, planos, métricas, leads)
Diagnóstico Diagnostico RespostaDiagnostico
Plano PlanoCampanha ItemPlano
Lead Lead InteracaoLead
Relatório Relatorio (snapshot imutável)

4. Regras transversais

  1. Isolamento por usuário em todas as operações de leitura e escrita.
  2. Upsert idempotente em métricas e fila.
  3. Deduplicação em webhooks por ID externo.
  4. Timestamps de ciclo de vida em lead (ultimo_contato_em, convertido_em, perdido_em).
  5. Snapshot imutável em relatórios; recarregar só quando explicitamente pedido.
  6. Não delete físico em usuários (usa ativo = 0).