# Regras de Triagem de Emails

## Contas IMAP (12)

```yaml
accounts:
  - emanuel@descomplicar.pt
  - it@descomplicar.pt
  - help@descomplicar.pt
  - suporte@descomplicar.pt
  - contabilidade@descomplicar.pt
  - financeiro@descomplicar.pt
  - info@descomplicar.pt
  - rh@descomplicar.pt
  - mkt@descomplicar.pt
  - design@descomplicar.pt
  - news@descomplicar.pt
  - aiktop@descomplicar.pt
```

---

## Regra 1: SPAM (Eliminar)

**Acção**: `imap_delete_email`

### Padrões Subject (case insensitive)
```
- lottery
- winner
- million dollars
- urgent money
- bitcoin investment
- crypto opportunity
- claim your prize
- act now
- limited time offer
- you have been selected
- dear beneficiary
- inheritance
- nigerian prince
```

### Padrões Remetente
```
- *@*.ru (excepto conhecidos)
- *@*.cn (excepto conhecidos)
- no-reply@spam*
- noreply@bulk*
```

### Indicadores técnicos
```
- SPF fail
- DKIM fail
- Muitos caracteres especiais no subject
- Subject todo em MAIÚSCULAS
```

---

## Regra 2: PROMOCIONAIS (Arquivar ou Eliminar)

**Acção padrão**: `imap_move_email` → pasta "Promotions"

**Excepções por conta:**
```yaml
delete_promotions:
  - rh  # Não tem pasta Promotions - apagar directamente
```

> Contas listadas em `delete_promotions`: usar `imap_delete_email` em vez de mover.

### Padrões Subject
```
- newsletter
- promo
- promoção
- desconto
- oferta especial
- black friday
- cyber monday
- novidades
- new arrivals
- sale
- % off
- grátis
- free shipping
```

### Padrões Remetente
```
- *@marketing.*
- *@news.*
- *@promo.*
- *@newsletter.*
- *@campaigns.*
- *@mailchimp.com
- *@sendgrid.net
- *@mailgun.org
```

### Headers
```
- List-Unsubscribe presente
- Precedence: bulk
- X-Campaign-*
```

---

## Regra 3: FACTURAS PAGAS (Reencaminhar)

**Acção**: Registar para reencaminhar para `contabilidade@descomplicar.pt`

### Padrões Subject
```
- factura
- fatura
- invoice
- recibo
- receipt
- pagamento confirmado
- payment confirmed
- pago
- paid
- comprovativo
- ordem de pagamento
```

### Padrões Remetente (serviços conhecidos)
```
- *@hetzner.com
- *@ovh.com
- *@cloudflare.com
- *@github.com
- *@google.com
- *@microsoft.com
- *@adobe.com
- *@figma.com
- *@notion.so
- *@stripe.com
- *@paypal.com
- *@wise.com
- *@revolut.com
- *@n26.com
- *facturacao@*
- *billing@*
- *invoices@*
```

### Anexos
```
- *.pdf com "factura" no nome
- *.pdf com "invoice" no nome
- *.pdf com "recibo" no nome
```

---

## Regra 4: PRIORITÁRIOS (Listar)

**Acção**: Incluir no relatório diário para revisão manual

### Padrões Subject
```
- urgente
- urgent
- importante
- important
- problema
- problem
- erro
- error
- falha
- failure
- down
- offline
- crítico
- critical
```

### Remetentes prioritários
```
# Clientes activos (verificar DeskCRM)
# Parceiros importantes
# Serviços críticos:
- *@cloudflare.com (security alerts)
- *@hetzner.com (server alerts)
- *@github.com (security)
- *@google.com (security)
```

### Indicadores
```
- RE: ou FW: (threads activas)
- Múltiplos destinatários da empresa
- Marcado como importante pelo remetente
```

---

## Excepções (Nunca processar automaticamente)

```yaml
whitelist_senders:
  - *@descomplicar.pt  # Internos
  - *@cliente-importante.pt  # Clientes VIP

whitelist_domains:
  - gov.pt  # Governo
  - tribunais.org.pt  # Tribunais
  - at.gov.pt  # Autoridade Tributária
  - seg-social.pt  # Segurança Social
```

---

## Pastas IMAP Standard

| Pasta | Uso |
|-------|-----|
| INBOX | Emails por processar |
| Promotions | Emails promocionais arquivados |
| Processed | Emails processados pelo /today |
| Important | Emails marcados como prioritários |
| Trash | Eliminados |

---

## Métricas Diárias

Registar em cada execução:
```yaml
metrics:
  date: YYYY-MM-DD
  accounts_processed: 12
  total_emails: X
  spam_deleted: Y
  promotions_archived: Z
  invoices_forwarded: W
  priority_flagged: V
  processing_time: Xs
```

---

---

## Regras de Tickets (DeskCRM)

### Notificações de Sistema → NUNCA auto-fechar

> **REGRA PRIORITÁRIA:** Verificar ANTES dos padrões SPAM. Se um ticket corresponder a esta regra, não pode ser fechado automaticamente.

**Padrões protegidos (subject - case insensitive):**
```regex
Legal Update|Legal Notice|Policy Change|Policy Update|
Deprecation|End of Life|EOL|Breaking Change|
Migration Required|Action Required|Action Needed|
Security Alert|Security Advisory|Security Notice|
API Change|API Update|Terms Update|Terms Change|
Service Disruption|Maintenance Required|
Compliance|GDPR|Data Processing|Data Processor|
Infrastructure Change|Platform Update|transitions to
```

**Condição:** Remetente deve ser fornecedor conhecido (ver lista de remetentes conhecidos abaixo).

**Acção:**
```
→ NÃO fechar
→ Listar no relatório como: "⚠️ REQUER ACÇÃO: #{ID} - {Assunto}"
→ Manter aberto para análise e decisão manual
```

---

### Tickets SPAM → Fechar AUTOMATICAMENTE

> **IMPORTANTE:** Verificar PRIMEIRO se o ticket corresponde à regra de "Notificações de Sistema" acima. Se sim, NÃO fechar.

**Padrões de detecção (subject):**
```regex
Guest Post|SEO services|backlinks|partnership|
link building|dofollow|collaboration opportunity|
Boas Festas|Season's Greetings
```

> **NOTA:** "Action Required", "Termos de Serviço" e notificações legais foram removidos dos padrões SPAM. Podem indicar mudanças reais em serviços que usamos. São tratados pela regra de "Notificações de Sistema" acima.

**⚡ Acção AUTOMÁTICA - Executar SEM intervenção manual:**
```
close_ticket(ticket_id, message="Fechado automaticamente - SPAM detectado")
# Registar: "🗑️ SPAM fechado: #{ID} - {Assunto}"
```

> [!important] SPAM = FECHAR IMEDIATAMENTE
> Não perder tempo a analisar. Fechar automaticamente e seguir em frente.

---

### Tickets de PAGAMENTOS → Contabilidade + Fechar

**Departamentos DeskCRM:**
| ID | Nome | Email |
|----|------|-------|
| 1 | Comercial | info@descomplicar.pt |
| 2 | Suporte | suporte@descomplicar.pt |
| 3 | **Contabilidade** | contabilidade@descomplicar.pt |
| 4 | RH | rh@descomplicar.pt |
| 5 | Design | design@descomplicar.pt |
| 6 | Marketing | mkt@descomplicar.pt |
| 7 | Tecnologia | it@descomplicar.pt |

**Padrões de detecção (subject):**
```regex
payment|pagamento|pago|paid|
invoice|factura|fatura|recibo|
successfully.*(processed|completed)|
subscription.*(renewed|confirmed)|
order.*confirmed|receipt|
account.*funded|has been funded|
Envio de Fatura Eletrónica|
Invoice Payment Confirmation|
Customer Invoice
```

**Remetentes conhecidos (processar SEMPRE):**
```yaml
services:
  # Hosting & Infra
  - "*@elasticemail.com"      # Elastic Email
  - "*@hetzner.com"           # Hetzner
  - "*@hetzner.de"
  - "*@centos-webpanel.com"   # CWP
  - "*@control-webpanel.com"

  # Design & Tools
  - "*@canva.com"             # Canva

  # Telecom PT
  - "*@meo.pt"                # MEO
  - "*@altice.pt"
  - "*@nos.pt"                # NOS (futuro)
  - "*@vodafone.pt"           # Vodafone (futuro)

  # Cloud & SaaS
  - "*@cloudflare.com"
  - "*@github.com"
  - "*@google.com"
  - "*@microsoft.com"
  - "*@adobe.com"
  - "*@figma.com"
  - "*@notion.so"
  - "*@openai.com"
  - "*@email.openai.com"
  - "*@anthropic.com"
  - "*@openrouter.zendesk.com"  # OpenRouter

  # Pagamentos
  - "*@stripe.com"
  - "*@paypal.com"
  - "*@wise.com"
  - "*@revolut.com"
```

**Lógica de processamento:**
```
IF assunto contém padrão de pagamento/factura:
  IF remetente IN remetentes_conhecidos:
    → Contabilidade + Fechar (AUTOMÁTICO)
  ELSE:
    → Avaliar indicadores de spam/phishing
    → LISTAR para revisão manual com recomendação
```

**⚡ Acção AUTOMÁTICA para remetentes CONHECIDOS:**
```
# Executar AMBAS as acções automaticamente, SEM intervenção manual:
1. update_ticket(ticket_id, department=3)  # Mover para Contabilidade
2. close_ticket(ticket_id, message="Fatura processada automaticamente - Contabilidade")
# Registar: "💰 Contabilidade + Fechado: #{ID} - {Assunto}"
```

**Acção para remetentes DESCONHECIDOS:**
```
1. Avaliar indicadores de spam (ver abaixo)
2. LISTAR no relatório com recomendação:
   - [SPAM?] se indicadores presentes
   - [NOVO?] se parece legítimo (possível novo serviço)
3. Aguardar decisão manual
```

### Indicadores de SPAM/PHISHING

**Alta probabilidade de SPAM:**
- Remetente pessoal (gmail, hotmail, yahoo) a enviar "facturas empresariais"
- Domínio suspeito (muitos números, hífens, extensões estranhas)
- Erros ortográficos no assunto ("facktura", "pagamanto")
- Assunto todo em MAIÚSCULAS
- Urgência exagerada ("ÚLTIMO AVISO", "URGENTE", "CONTA SUSPENSA")
- Sem número de factura/referência específico
- Remetente não corresponde à empresa alegada no assunto

**Provavelmente LEGÍTIMO (novo serviço):**
- Domínio empresarial consistente com o assunto
- Formato profissional (número de factura, data, referência)
- Sem urgência exagerada
- Padrão consistente com facturas reais

> [!info] NUNCA eliminar automaticamente remetentes desconhecidos
> Podem ser novos serviços subscritos. Sempre listar para revisão manual.

### Tickets para ELIMINAR (sem valor contabilístico)

**Padrões de assunto:**
```yaml
delete_patterns:
  # Elastic Email - recargas
  - "Your Elastic Email Account was successfully re-charged"
  - "Account re-charged"
  - "Auto-recharge successful"
  - "Credit added to your account"

  # FULL Services - activações
  - "[BOT] Ativação realizada com sucesso"
  - "[BOT] Activation successful"
```

**Acção:**
```
delete_ticket(ticket_id, confirm=true, reason="Notificação automática sem valor")
```

> Estas são notificações de recarga automática, não facturas. Não têm valor para contabilidade.

**Exemplos de assuntos detectados:**
- "Your Elastic Email Payment Was Successfully Processed"
- "Canva - Your invoice is ready"
- "Hetzner - Invoice for January 2025"
- "CentOS WebPanel Pro License Invoice"
- "MEO - Factura disponível"
- "Invoice #12345 - Payment Confirmed"
- "Pagamento confirmado - Factura #123"
- "Your OpenAI API account has been funded"
- "Your OpenRouter, Inc receipt [#1234-5678]"
- "Your receipt from OpenRouter, Inc #1234-5678"
- "Envio de Fatura Eletrónica: FT A/123456789"
- "Invoice Payment Confirmation"
- "Customer Invoice"

---

**Versão**: 1.1.0
**Última actualização**: 2025-01-21
