# Spec 035 — Tasks **Status:** Draft · **Início:** 2026-06-21 --- ## Fase 0 — Catálogo comercial (FOSS + OpenPanel) - [ ] Roger aprovar preços §1.1 — **via Admin Ligbox** (035-C), não FOSS directo - [ ] Criar produtos FOSS: starter, business, enterprise, custom - [ ] Criar planos OpenPanel espelhados (ligbox-mail-*) - [ ] Config options FOSS para bundle custom (seats, mail_gb, files_gb) - [ ] Publicar página vendas /signup com comparativo concorrência - [ ] Documentar em `foss-products.md` IDs reais pós-criação ## Fase 1 — Provisionamento - [ ] Tabela `bundle_entitlements` no wizard VM112 - [ ] Endpoint `POST /api/internal/provision/mail-bundle` — **código pronto** · [mail-bundle-api.md](../043-desk-client-activation-sync/contracts/mail-bundle-api.md) · deploy: [MAIL-BUNDLE-DEPLOY.md](../../deploy/vm112-wizard/MAIL-BUNDLE-DEPLOY.md) - [x] Produto FOSS `ligbox-mail-business` (id=3) — ver [foss-products.md](./foss-products.md) - [ ] Webhook Desk `foss/order-activated` → wizard - [ ] Bridge: metadata JSON no user OpenPanel hub - [ ] Email template FOSS boas-vindas (links OP + Domain Admin) - [ ] Teste E2E: order Business → admin@ + 1 conta teste ## Fase 2 — Ligbox Console `/admin` gerente (PRIORIDADE UX — Roger 2026-06-21) Shell: [ligbox-console-shell.md](./ligbox-console-shell.md) · Detalhe: [domain-manager-console-ui.md](./domain-manager-console-ui.md) - [ ] UX-0: design tokens + AppLayout + login role → `console.ligbox.com.br` - [ ] Traefik: `console.ligbox.com.br` VM123 + 301 onboard/admin - [ ] UX-A1: `/admin` Início — cards resumo (tom banco digital BR) - [ ] UX-A2: `/admin/contas` CRUD inline - [ ] UX-A3: `/admin/files` quotas + toggle Mail NC - [ ] UX-A4: `/admin/certificacao` + `/admin/dominio` **DNS Viewer** (037 dns-viewer.md) - [x] `/admin/dominio` V3 deploy VM123 2026-06-25 (`AdminDominio.jsx`, `DnsViewerPanel.jsx`) - [ ] `/admin/certificacao` EasyDMARC card - [ ] UX-A4b: `/admin/plano` boleto/PIX - [ ] SSO FOSS → `/admin?sso=TOKEN` - [ ] API Desk `/api/v1/domain-console/*` - [x] `GET /api/v1/domain-console/dns/viewer/{domain}` (VM122 2026-06-25) ## Fase 2b — OpenPanel (backend only) - [ ] Bridge metadata JSON no user hub (sem UI gerente) ## Fase C — Admin Ligbox staff (`/comercial` + `/ops`) — depois UX-A Ver: [ligbox-system-admin-ui.md](./ligbox-system-admin-ui.md) · Shell: [ligbox-console-shell.md](./ligbox-console-shell.md) - [ ] UX-B: `/comercial` — fila preços, catálogo, clientes, gateway - [ ] UX-C: `/ops` — Spec 019 chamados no mesmo shell - [ ] RBAC roles comercial/ops (Spec 027) - [ ] Impersonate gerente → `/admin` ## Fase 3 — Self-service utilizador email (Fase B — depois) Ver placeholder: [user-self-service-ui.md](./user-self-service-ui.md) - [ ] Estudo redirects, OOO, assinaturas, calendário por user - [ ] Wireframe `/me` ou `mail.{dom}/settings` - [ ] Decidir Carbonio nativo vs SPA Ligbox ## Fase 3 — Nextcloud + EasyDMARC - [ ] VM116 provisionada (Spec 034 Fase 0) - [ ] Auto-provision NC Files em cada createAccount - [ ] Toggle Mail Nextcloud por domínio no `/admin` (Spec 035 §2.2.1) - [ ] EasyDMARC register domain automático no wizard - [ ] Agent A3 Desk: alertas DMARC fail ## Fase 4 — Gateway pagamento + comercial avançado - [ ] Escolher gateway: ASAAS vs Iugu (Roger) - [ ] Módulo FOSS: boleto bancário (PDF + linha digitável) - [ ] Módulo FOSS: PIX QR Code + copia-e-cola - [ ] Webhook pagamento confirmado → Desk → wizard provision - [ ] Card «Pagamento» no `/admin` — status + link boleto/PIX (embed FOSS API) - [ ] Upgrade/downgrade plano FOSS → update entitlements - [ ] Add-ons: seat extra, storage mail/files - [ ] Odoo subscription mirror (Spec 023 phase 2) ## Documentação - [x] Spec 035 `spec.md` - [x] `tasks.md` - [x] `foss-products.md` (template) - [x] `mockups/domain-manager-sandbox.html` — UI sandbox (Mock + Live create-only) - [x] API Desk `domain_console_sandbox*.py` — create-only produção - [ ] Deploy API sandbox no VM122 + teste cenário real - [ ] Actualizar Spec 034 § comercial → link 035 - [ ] Actualizar `docs/vms/README.md` - [ ] Publicar Spec Hub Portal - [x] Spec 037-DNS-VIEWER `dns-viewer.md` + §5.5 domain-manager actualizado - [x] Implementar `GET /api/v1/dns/viewer/{domain}` (Desk VM122 + proxy Console VM123 2026-06-25)