# Roadmap — O Gerente Endoidou (Promoções Alyne)

> Documento único de próximos passos. Atualizado em abril/2026 — F1 (publicação automática + admin web do pipeline) concluída e em produção.
>
> **Marca / domínio principal:** `ogerenteendoidou.com.br` (também nome do canal Telegram de destino)

---

## Estado atual

### Plataformas de afiliado

| Plataforma | Status | Observação |
|---|---|---|
| **Amazon** | ✅ Funcionando | PA-API 5.0 oficial; link afiliado canônico (`/dp/ASIN?tag=...`); texto montado; rodapé com Prime |
| **Mercado Livre** | ✅ Funcionando | API pública + scraping robusto (3 camadas); link afiliado próprio `meli.la` via portal interno; texto montado |
| **Shopee** | ⛔ Congelada | Bloqueada por `action_type 2`; ver `docs/SHOPEE_IMPLEMENTADO.md` |

### Pipeline Telegram (leitura → publicação)

| Etapa | Status |
|---|---|
| 1 — Leitura bruta de canais/grupos | ✅ Concluída (`telegram:read-links`, schedule 15min) |
| 2 — Resolução de URL ML + extração MLB | ✅ Concluída |
| 3 — Scraping de preço + geração de texto | ✅ Concluída |
| 4 — Geração de link afiliado `meli.la` | ✅ Concluída (cookie portal, tag `pechinchinhaboa`) |
| 5 — Publicação no canal + admin web do pipeline | ✅ Concluída — 69+ publicações em produção |

### Backend admin já existente

| Módulo | Estado |
|---|---|
| Auth, usuários, papéis/permissões | ✅ Funcionando |
| Configurações (credenciais Amazon, ML) | ✅ Funcionando |
| Rodapés de afiliado (CRUD) | ✅ Funcionando |
| Gerador manual de links (Amazon / ML) | ✅ Funcionando |
| Dashboard de links gerados | ✅ Funcionando (rudimentar — só `GeneratedLink` manual) |
| Fontes de monitoramento (CRUD web) | ❌ Só via CLI hoje — entra na F1 |
| Canais de destino (CRUD web) | ❌ Tabela nem existe — entra na F1 |
| Ofertas processadas (listagem web) | ❌ Sem tela — entra na F1 |
| Tracking de cliques | ❌ Frente F6 |
| Relatórios de vendas | ❌ Frente F7 |

---

## Frentes concluídas

### ✅ F1 — Etapa 5: publicação automática + admin web do pipeline

**Documento detalhado:** `docs/TELEGRAM_ETAPA_5_PUBLICACAO.md`

**Concluída e em produção.** Pipeline fechado de ponta a ponta: 69+ ofertas publicadas, 7 fontes monitoradas, 2 canais de destino. Schedule automático configurado (toggle no painel). Admin web completo com CRUD de fontes, destinos e listagem de ofertas.

---

## Frentes ativas

### F2 — Link curto `amzn.to` via Playwright (Amazon SiteStripe)

**Documento:** `docs/AMAZON_SITESTRIPE_PLAYWRIGHT.md`

Substitui link canônico `/dp/ASIN?tag=...` pelo curto `amzn.to/xxxx` no `Compre aqui:`. Cosmético, funciona como estava se falhar.

**Risco:** médio — depende do SiteStripe manter UI estável; sessão/captcha podem exigir reconfiguração periódica.

**Pode rodar em paralelo com F6** — são mudanças em áreas distintas.

---

### F6 — Click Tracking (produtos mais clicados)

**Documento detalhado:** `docs/F6_CLICK_TRACKING.md`

Substitui o link direto do `Compre aqui:` por `https://ogerenteendoidou.com.br/r/{hash}`, que conta o clique e redireciona para o link real de afiliado.

**Entregas:**
- Tabelas `tracked_links` + `link_clicks`
- Rota pública `/r/{hash}` com registro via fila (`afterResponse`) para manter redirect < 200ms
- Detecção de bots (TelegramBot, Googlebot etc.) — clique de bot registra mas não conta no ranking
- Tela `/admin/tracking/top` (ranking produtos mais clicados) com filtros por período
- Tela `/admin/tracking/clicks/{link}` (detalhe de um tracked_link)
- Coluna "Cliques" na tela de ofertas da F1
- Comando `tracking:prune --days=90`

**Pré-requisitos de infra:**
- DNS de `ogerenteendoidou.com.br` apontado
- Certificado SSL
- Virtual host servindo o Laravel

**Risco:** baixo-médio — padrão de redirect shortener. Atenção à performance do redirect.

---

### F7 — Conversões / Vendas (produtos mais vendidos)

**Documento detalhado:** `docs/F7_CONVERSOES_VENDAS.md`

Cruza cliques (F6) com vendas reportadas pelas plataformas. Mecanismo principal = **upload de CSV** do painel de afiliados de cada plataforma.

**Entregas:**
- Tabelas `affiliate_sales` + `sales_imports`
- Parsers: `AmazonEarningsCsvParser`, `MercadoLivreAffiliateCsvParser`
- Tela `/admin/sales/import` (upload CSV com validação de hash)
- Tela `/admin/sales/top` (ranking por comissão/receita + CR)
- Tela `/admin/sales/unmatched` (vendas sem clique associado — diagnóstico)
- Comandos `sales:import`, `sales:rematch-tracking`, `sales:prune`

**Mudança necessária em F6:** link Amazon passa a incluir `&ascsubtag={tracked_link.hash}` para casar venda com clique.

**Evolução futura (API):** Mercado Livre tem API de reports para parceiros liberados. Amazon **não tem** API pública de vendas — CSV é o caminho definitivo lá.

**Risco:** médio — formato de CSV muda sem aviso; parsers precisam ser tolerantes.

---

### F3 — Publicação no WhatsApp

**Status: bloqueada por pré-requisito externo.**

Previsto em `docs/SISTEMA_LEITURA_REPOST_AFILIADO.md`. Depende de ter conta **WhatsApp Business API oficial** aprovada pela Meta. Não iniciar implementação técnica antes da conta estar ativa.

---

### F4 — Multi-tenant (venda de acesso)

Refatoração para isolar dados por `user_id` em todas as tabelas do pipeline. Depende de F1 + F6 + F7 estarem estáveis para valer a pena generalizar.

---

### F5 — Retomar Shopee

Congelada. Duas opções detalhadas em `docs/SHOPEE_IMPLEMENTADO.md`: via Playwright (aproveita infra da F2) ou via API oficial liberada por e-mail à Shopee. Só considerar depois que tudo mais estiver maduro.

---

## Prioridade sugerida

```
┌──────────────────────────────────────────────────────────────┐
│  ✅ F1 — Publicação + admin do pipeline  (concluída)         │
│  1. F6 — Click tracking                  (mede o que rodou)  │
│  2. F7 — Conversões/vendas               (fecha o loop $$$)  │
│  3. F2 — amzn.to via Playwright          (cosmético Amazon)  │
│  4. F3 — WhatsApp                        (quando API chegar) │
│  5. F4 — Multi-tenant                    (escala / vendas)   │
│  6. F5 — Shopee                          (só se valer)       │
└──────────────────────────────────────────────────────────────┘
```

**F2 pode rodar em paralelo com F6** — áreas independentes.
**F6** pode iniciar — F1 já está publicando.
**F7 depende de F6** — sem `subtag` no link, não casa venda com clique.

---

## Diagrama do sistema completo (quando F6+F7 estiverem prontas)

```
  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐
  │  Telegram    │    │  Telegram    │    │   Gerador    │
  │  Fonte 1     │    │  Fonte 2     │    │   Manual     │
  └──────┬───────┘    └──────┬───────┘    └──────┬───────┘
         │                   │                   │
         └─────────┬─────────┘                   │
                   ▼                             │
         ┌──────────────────┐                    │
         │  captured_urls   │                    │
         └─────────┬────────┘                    │
                   ▼                             │
         ┌──────────────────┐                    │
         │  Scraping ML/AMZ │                    │
         │  + gerar afiliado│                    │
         └─────────┬────────┘                    │
                   ▼                             ▼
         ┌──────────────────┐         ┌──────────────────┐
         │ processed_offers │         │  GeneratedLink   │
         └─────────┬────────┘         └─────────┬────────┘
                   │                            │
                   └────────────┬───────────────┘
                                ▼
                     ┌────────────────────┐
                     │  tracked_links     │  ← F6 gera hash aqui
                     │  (hash único)      │
                     └──────────┬─────────┘
                                ▼
              ┌─────────────────────────────────┐
              │  Canal Telegram @ogerenteendoidou│  ← F1 publica
              └─────────────────┬───────────────┘
                                ▼
                          Usuário clica
                                │
                                ▼
              ┌──────────────────────────────────┐
              │ ogerenteendoidou.com.br/r/{hash} │  ← F6 conta
              │   → 302 → Amazon / ML            │
              └─────────────────┬────────────────┘
                                ▼
                          Usuário compra
                                │
                                ▼
         Relatório CSV no painel do afiliado
                                │
                                ▼
                    Upload em /admin/sales/import   ← F7 importa
                                │
                                ▼
              ┌──────────────────────────────────┐
              │        affiliate_sales           │
              │  (cruza subtag ↔ tracked_link)   │
              └─────────────────┬────────────────┘
                                ▼
              Relatórios: "mais clicados", "mais vendidos",
              CR, receita, comissão por plataforma/período
```

---

## Índice de documentação

### Amazon
- `docs/AMAZON_AFFILIATE_SETUP.md` — configuração e uso (concluído)
- `docs/AMAZON_SITESTRIPE_PLAYWRIGHT.md` — plano do SiteStripe (F2)

### Mercado Livre
- `docs/MERCADO_LIVRE_IMPLEMENTADO.md` — visão geral (concluído)
- `docs/MERCADO_LIVRE_SCRAPING_DIRETO.md`
- `docs/MERCADO_LIVRE_SCRAPING_FALLBACK.md`
- `docs/MERCADO_LIVRE_VITRINE_AFILIADO.md`
- `docs/MERCADO_LIVRE_LINKS_AFILIADOS.md`
- `docs/MERCADO_LIVRE_URLS_AFILIADO.md`
- `docs/MERCADO_LIVRE_PRODUTO_EXPIRADO.md`
- `docs/MERCADO_LIVRE_MELHORIAS.md`
- `docs/MERCADO_LIVRE_SOLUCAO_API.md`

### Shopee
- `docs/SHOPEE_IMPLEMENTADO.md` — **CONGELADA** com diagnóstico completo

### Telegram (pipeline)
- `docs/TELEGRAM_ETAPA_1_LEITURA_BRUTA.md`
- `docs/TELEGRAM_ETAPA_2_RESOLUCAO_ML.md`
- `docs/TELEGRAM_ETAPA_3_SCRAPING_PRODUTO.md`
- `docs/TELEGRAM_ETAPA_4_LINK_AFILIADO.md`
- `docs/TELEGRAM_ETAPA_5_PUBLICACAO.md` — **F1 (próxima)**

### Tracking e vendas
- `docs/F6_CLICK_TRACKING.md` — F6
- `docs/F7_CONVERSOES_VENDAS.md` — F7

### Sistema
- `docs/SISTEMA_LEITURA_REPOST_AFILIADO.md` — arquitetura geral e multi-tenant
- `docs/MONITORING_SOURCES.md`
- `docs/SISTEMA_CREDENCIAIS_DINAMICAS.md`
- `docs/SISTEMA_DESIGN_UNIFICADO.md`
- `docs/CAMPOS_ESPECIAIS_IMPLEMENTADOS.md`
- `docs/CUPONS_E_PRIME.md`
- `docs/TEXTOS_RODAPE_AFILIADOS.md`
- `docs/EMOJI_PICKER.md`
- `docs/RESUMO_IMPLEMENTACAO_CREDENCIAIS.md`
