arcadiasuite/docs/archive/ANALISE_CRM_REQUISITOS.md

413 lines
13 KiB
Markdown

# Análise de Requisitos CRM - XOS vs Documento
> **Data:** 29/01/2026
> **Documento Base:** CRM_1769651134584.pdf
---
## Resumo Executivo
| Categoria | Status Geral | Cobertura |
|-----------|--------------|-----------|
| **Estrutura de Dados** | ✅ Implementado | 90% |
| **Live Chat + CRM** | 🟡 Parcial | 50% |
| **Distribuição de Leads** | 🟡 Estrutura | 30% |
| **Carteirização** | 🟡 Estrutura | 40% |
| **Automações Low-Code** | 🟡 Estrutura | 35% |
| **Follow-up Lists** | ⚪ Não impl. | 10% |
| **Disparos em Massa** | 🟡 Estrutura | 25% |
| **Gestão Meta/Templates** | ⚪ Não impl. | 0% |
| **Multi-Conexões API** | ⚪ Não impl. | 0% |
| **API/Webhook** | ⚪ Não impl. | 10% |
| **Controle de Acessos** | 🟡 Parcial | 40% |
| **Aba de Contatos** | ✅ Implementado | 85% |
| **Métricas/Dashboards** | 🟡 Parcial | 45% |
**Cobertura Geral Estimada: ~40%**
---
## Análise Detalhada por Requisito
### 1. Live Chat (WhatsApp API) + CRM
**Requisito:** Chat com lead onde pode conversar, mandar audio, documento, imagens.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Chat em tempo real | 🟡 | Estrutura de conversas e mensagens existe (`xos_conversations`, `xos_messages`) |
| Envio de áudio/doc/imagem | 🟡 | Campo `content_type` e `attachments` no schema |
| Notas internas no chat | ⚪ | Não implementado - precisa campo `is_internal` |
| Mini CRM dentro do chat | 🟡 | Dados do contato vinculados via `contact_id` |
| Troca de etapas do pipeline | ✅ | Pipeline e stages implementados |
| Transferir lead p/ outro membro | 🟡 | Campo `assigned_to` existe, UI não implementada |
| Finalizar lead (ganho/perda) | ✅ | Campos `status`, `won_reason`, `lost_reason` no Deal |
| Informações de contato padrões | ✅ | Nome, email, telefone, tags, etc. |
| Campos personalizados | ✅ | Campo `custom_fields` (JSONB) |
| Rastreamento UTM | ✅ | Campos `source`, `source_details` |
| Filtros avançados | 🟡 | Filtro básico por tipo/status/busca, **falta:** tag, etapa funil, status Meta, sem resposta, data |
| Ordenação múltipla | ⚪ | Apenas por data, falta opções avançadas |
**Cobertura: 50%** - Estrutura existe, falta UI de chat real e filtros avançados.
---
### 2. Distribuição Automática de Leads
**Requisito:** Lead chega e é atribuído automaticamente via fila.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Fila round-robin | ⚪ | Não implementado |
| Distribuição por percentual | ⚪ | Não implementado |
| Configuração de regras | ⚪ | Não implementado |
**O que temos:**
- Campo `assigned_to` em Contacts e Deals
- Estrutura de automações (`xos_automations`) que poderia acionar distribuição
**Cobertura: 30%** - Estrutura permite, lógica não implementada.
---
### 3. Carteirização
**Requisito:** Lead "pertence" a um consultor por X período.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Ownership por período | ⚪ | Não tem campo de expiração |
| Redirecionamento automático | ⚪ | Não implementado |
| Histórico de ownership | ⚪ | Não implementado |
**O que temos:**
- Campo `assigned_to` no contato
- Campo `last_contact_at` para tracking
**Cobertura: 40%** - Precisa adicionar `ownership_expires_at` e lógica.
---
### 4. Automações Low-Code
**Requisito:** Automações no-code/low-code com opções pré-dispostas.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Triggers (mensagem, clique, etc.) | ✅ | Campo `trigger_type` e `trigger_config` |
| Ações (tag, mensagem, distribuir) | ✅ | Campo `actions` (array de ações) |
| Condições | ✅ | Campo `conditions` (array) |
| UI visual de criação | 🟡 | Tela básica criada, não funcional |
| Execução real | ⚪ | Não implementado no backend |
**O que temos:**
```sql
xos_automations (
trigger_type: "contact_created", "deal_stage_changed", "form_submitted"
trigger_config: { ... }
actions: [{ type: "add_tag", config: {...} }, { type: "send_message", config: {...} }]
conditions: [{ field: "...", operator: "...", value: "..." }]
)
```
**Cobertura: 35%** - Schema pronto, execução não implementada.
---
### 5. Listas de Follow-up
**Requisito:** Lista de mensagens automáticas com delays.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Criação de lista | ⚪ | Não existe tabela específica |
| Sequência com delays | ⚪ | Não implementado |
| Saída automática ao responder | ⚪ | Não implementado |
| Integração com automações | ⚪ | Poderia usar `xos_automations` |
**Cobertura: 10%** - Precisa nova tabela `xos_follow_up_sequences`.
---
### 6. Central de Disparos em Massa (WhatsApp API)
**Requisito:** Fluxo para disparos em massa com agendamento.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Campanhas WhatsApp | ✅ | `xos_campaigns` com type "whatsapp" |
| Segmentação de contatos | ✅ | Campo `segment_query` (JSONB) |
| Agendamento | ✅ | Campo `scheduled_at` |
| Estatísticas | ✅ | Campo `stats` (sent, delivered, opened, etc.) |
| Fluxo de automação | 🟡 | Básico, não visual |
| Execução real | ⚪ | Não implementado |
**Cobertura: 25%** - Estrutura completa, execução não implementada.
---
### 7. Gestão de Templates Meta (WhatsApp)
**Requisito:** Criar/gerenciar templates da Meta Business.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Listagem de templates | ⚪ | Não implementado |
| Criação de templates | ⚪ | Não implementado |
| Aprovação Meta | ⚪ | Não implementado |
| Integração API Meta | ⚪ | Não implementado |
**Cobertura: 0%** - Requer integração com Meta Business API.
---
### 8. Múltiplas Conexões de API WhatsApp
**Requisito:** Conectar mais de um número WhatsApp.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Multi-número | ⚪ | Não implementado |
| Gestão de conexões | ⚪ | Não implementado |
| Configuração por equipe | ⚪ | Não implementado |
**O que temos:**
- Sistema WhatsApp via Baileys existe no projeto (pasta `whatsapp/`)
- Falta integração com XOS
**Cobertura: 0%** - Precisa integrar WhatsApp existente ao XOS.
---
### 9. API do CRM + Webhook
**Requisito:** API externa e webhooks para integrações.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| API REST | ✅ | Rotas `/api/xos/*` completas |
| Webhooks de entrada | ⚪ | Não implementado |
| Webhooks de saída | ⚪ | Não implementado |
| Documentação API | ⚪ | Não documentado |
**Cobertura: 10%** - API existe, webhooks não.
---
### 10. Gerenciar Acessos (Hierarquia)
**Requisito:** Diferenciação de acessos por perfil.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Perfis de usuário | ✅ | Tabela `users` com `role` |
| Permissões por recurso | 🟡 | Sistema de roles básico existe |
| Visibilidade filtrada | ⚪ | Não implementado por tenant/equipe |
| Configuração de acessos | ⚪ | Não tem UI |
**O que temos:**
- Multi-tenancy (`tenant_id` em todas tabelas XOS)
- Usuários com roles
**Cobertura: 40%** - Estrutura existe, UI e lógica fina não.
---
### 11. Aba de Contatos
**Requisito:** Listagem com busca, filtros, import/export.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Listagem completa | ✅ | Implementado |
| Busca por nome/email | ✅ | Implementado |
| Filtro por tipo/status | ✅ | Implementado |
| Filtro por tag | ⚪ | Não implementado |
| Detalhes do contato | ✅ | Implementado com relacionamentos |
| Exportação | ⚪ | Não implementado |
| Importação em massa | ⚪ | Não implementado |
**Cobertura: 85%** - Falta import/export e filtro por tags.
---
### 12. Métricas e Dashboards
**Requisito:** Dashboards personalizáveis com KPIs.
| Sub-requisito | Status | Detalhe |
|---------------|--------|---------|
| Dashboard geral | ✅ | XosCentral com stats |
| Métricas de vendas | ✅ | Deals por stage, valor total |
| Métricas de atendimento | 🟡 | Conversas, tempo resposta básico |
| Métricas por vendedor | ⚪ | Não filtrado por usuário |
| Personalização | ⚪ | Layout fixo |
| Filtro de período | ⚪ | Não implementado |
**O que temos:**
```javascript
// Endpoint /api/xos/stats retorna:
{
contacts: { total, leads, customers },
deals: { total, open, won, lost, totalValue },
conversations: { total, open, resolved },
campaigns: { total, active }
}
```
**Cobertura: 45%** - Básico funciona, falta personalização e filtros.
---
## Comparativo com CRMs de Referência
| Recurso | Kommo | Clint | Front CRM | **XOS Atual** |
|---------|-------|-------|-----------|---------------|
| Live Chat WhatsApp | ✅ | ✅ | ✅ | 🟡 |
| Visual limpo | ⚪ | ✅ | ✅ | ✅ |
| Distribuição leads | ✅ | ✅ | ✅ | 🟡 |
| Automações | ✅ | 💰 | ✅ | 🟡 |
| Follow-ups | ✅ | ✅ | ✅ | ⚪ |
| Disparos massa | ✅ | ✅ | ✅ | 🟡 |
| Templates Meta | ✅ | ✅ | ✅ | ⚪ |
| Dashboards custom | ✅ | ✅ | ⚪ | ⚪ |
| API/Webhooks | ✅ | ✅ | ✅ | 🟡 |
| Multi-número | ✅ | ✅ | ✅ | ⚪ |
---
## Plano de Ação Prioritário
### Prioridade 1 (Crítico para Operação)
1. **Integrar WhatsApp ao XOS**
- Conectar sistema Baileys existente
- Criar canal `whatsapp` funcional em `xos_conversations`
- UI de chat real-time
2. **Filtros Avançados no Chat**
- Por tag, etapa, status, data
- Ordenação múltipla
3. **Distribuição Automática de Leads**
- Criar tabela `xos_lead_distribution_rules`
- Implementar lógica round-robin
### Prioridade 2 (Diferencial Competitivo)
4. **Listas de Follow-up**
- Criar tabela `xos_follow_up_sequences`
- Engine de execução com delays
5. **Execução Real de Automações**
- Worker para processar triggers
- Ações reais (enviar mensagem, add tag, etc.)
6. **Carteirização**
- Campo `ownership_expires_at`
- Lógica de redirecionamento
### Prioridade 3 (Escala e Profissionalização)
7. **Gestão de Templates Meta**
- Integração Meta Business API
8. **Multi-Número WhatsApp**
- Tabela de conexões
- Seletor de número por equipe
9. **Dashboards Personalizáveis**
- Widgets configuráveis
- Filtros por período/vendedor
10. **Import/Export de Contatos**
- CSV/Excel upload
- Exportação com filtros
---
## Schema Sugerido para Expansão
```sql
-- Follow-up Sequences
CREATE TABLE xos_follow_up_sequences (
id SERIAL PRIMARY KEY,
tenant_id INTEGER REFERENCES tenants(id),
name VARCHAR(200) NOT NULL,
trigger_event VARCHAR(50), -- 'contact_created', 'deal_created'
is_active BOOLEAN DEFAULT true,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE xos_follow_up_steps (
id SERIAL PRIMARY KEY,
sequence_id INTEGER REFERENCES xos_follow_up_sequences(id),
step_order INTEGER,
delay_hours INTEGER,
action_type VARCHAR(30), -- 'send_template', 'send_message', 'add_tag'
action_config JSONB,
exit_on_reply BOOLEAN DEFAULT true
);
CREATE TABLE xos_follow_up_enrollments (
id SERIAL PRIMARY KEY,
sequence_id INTEGER REFERENCES xos_follow_up_sequences(id),
contact_id INTEGER REFERENCES xos_contacts(id),
current_step INTEGER DEFAULT 0,
status VARCHAR(20) DEFAULT 'active', -- 'active', 'completed', 'exited'
started_at TIMESTAMP DEFAULT NOW(),
next_action_at TIMESTAMP,
exited_at TIMESTAMP
);
-- Lead Distribution
CREATE TABLE xos_distribution_rules (
id SERIAL PRIMARY KEY,
tenant_id INTEGER REFERENCES tenants(id),
name VARCHAR(100),
rule_type VARCHAR(30), -- 'round_robin', 'percentage', 'load_balanced'
config JSONB, -- { users: [{ user_id, percentage }] }
is_active BOOLEAN DEFAULT true
);
-- WhatsApp Connections
CREATE TABLE xos_whatsapp_connections (
id SERIAL PRIMARY KEY,
tenant_id INTEGER REFERENCES tenants(id),
name VARCHAR(100),
phone_number VARCHAR(20),
status VARCHAR(20), -- 'connected', 'disconnected', 'qr_pending'
session_data JSONB,
assigned_teams JSONB, -- array of team IDs
created_at TIMESTAMP DEFAULT NOW()
);
-- Meta Templates
CREATE TABLE xos_whatsapp_templates (
id SERIAL PRIMARY KEY,
tenant_id INTEGER REFERENCES tenants(id),
connection_id INTEGER REFERENCES xos_whatsapp_connections(id),
meta_template_id VARCHAR(100),
name VARCHAR(100),
category VARCHAR(50),
language VARCHAR(10),
status VARCHAR(30), -- 'APPROVED', 'PENDING', 'REJECTED'
components JSONB,
synced_at TIMESTAMP
);
```
---
## Conclusão
O XOS tem uma **base sólida** com ~40% dos requisitos cobertos estruturalmente. Os principais gaps são:
1. **Integração real com WhatsApp** (estrutura existe, execução não)
2. **Listas de Follow-up** (não existe)
3. **Execução de automações** (schema existe, engine não)
4. **Templates Meta** (não existe)
5. **Dashboards personalizáveis** (básico existe)
A boa notícia é que a arquitetura multi-tenant e os schemas JSONB flexíveis facilitam a expansão. Recomendo focar primeiro na integração WhatsApp + Filtros Avançados, que são os requisitos mais críticos para operação comercial diária.