obsidian-vault/ligbox-ops-platform/specs/043-desk-client-activation-sync/spec.md
Ligbox Obsidian Vault e5564c15b9 Obsidian: Spec 043 mail-bundle + FOSS ligbox-mail-business
Sync contratos, runbooks VM112/VM123, código wizard e VM112.md com deploy validado.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 16:54:41 +00:00

5.9 KiB
Raw Blame History

Spec 043 — Sincronização Cliente: Wizard → Desk → FOSS → OpenPanel → Odoo

Criado: 2026-07-01
Solicitado por: Roger
Status: Implementação completa (Fases 16 código) — aguarda teste E2E Roger na VM122
Prioridade: P0 (orquestração comercial Ligbox)
Sistemas: VM112 Wizard · VM122 Desk · VM123 FOSS/Odoo/OpenPanel


Resumo

Esta spec unifica e documenta o mapeamento de dados desde o card «Dados da empresa e cobrança» no wizard (VM112) até aos três painéis financeiros/hosting na VM123:

  1. FOSSBilling — cliente + pedido + activação hosting (primeiro destino API)
  2. OpenPanel — tipo de contrato / plano / domínio hub (via bridge ou módulo FOSS)
  3. Odoo 16 — empresa (res.partner) e fluxo financeiro

O Desk (VM122) é o orquestrador: recebe company.validated, persiste billing_accounts, e expõe acção staff «Activar conta» que dispara a sequência documentada.

Documento mestre de campos: contracts/activation-field-mapping.md


Specs relacionadas (leitura obrigatória)

Spec Relação
023 Card empresa, company.validated, billing_accounts, estados
024 Stack VM123, FOSS+Odoo+OpenPanel
024 PROVISIONING_CLIENT_CARD Campos card → FOSS → OP (site CMS)
028 Bridge :18087, re-engenharia CE
028 foss-bridge-api Contrato API bridge
035 Bundles mail, manager_name, webhook order-activated
001 Webhooks VM112 → Desk
004 Funil onboarding
027 Quem pode activar conta
039 vm123_foss.*, vm123_openpanel.*, Odoo
040 UI staff Access Control Hub

Arquitectura

┌─────────────────────────────────────────────────────────────────────────┐
│ VM112 — Wizard / Domain Admin (onboard.ligbox.com.br)                    │
│  Card «Dados da empresa e cobrança» + conta admin@{domínio}              │
└───────────────────────────────┬─────────────────────────────────────────┘
                                │ webhook company.validated (+ account.created)
                                ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ VM122 — Ligbox Ops Desk                                                  │
│  billing_accounts · ticket [billing-validation] · UI «Activar conta»     │
└───────────────────────────────┬─────────────────────────────────────────┘
                                │ sequência staff (Spec 043)
          ┌─────────────────────┼─────────────────────┐
          ▼                     ▼                     ▼
   FOSSBilling :8092      Bridge :18087          Odoo :8069
   (cliente+order)        (OpenPanel user)       (res.partner)
          │                     │                     │
          └─────────────────────┴─────────────────────┘
                                │
                                ▼
                    Wizard provision mail-bundle (VM112 Carbonio)

Entregáveis desta spec

Artefacto Path
Mapa de campos contracts/activation-field-mapping.md
API Desk (activate) contracts/desk-activate-account-api.md
API Wizard mail-bundle contracts/mail-bundle-api.md
Tasks implementação tasks.md

Código de referência (VM122)

Módulo Path
Billing store projects/ops-desk/api/app/billing_store.py ou legacy-app/billing_store.py
Webhook ingress projects/ops-desk/api/app/main.py (company.validated)
FOSS client projects/ops-desk/api/app/vm123/foss_client.py
Odoo client projects/ops-desk/api/app/vm123/odoo_client.py
OpenPanel client projects/ops-desk/api/app/vm123/openpanel_client.py
UI ficha cliente projects/ops-desk/frontend/assets/billing-ui.js

Regras de negócio (Roger)

  1. Wizard não cobra no card empresa — só recolhe e valida (023).
  2. FOSS recebe primeiro os dados do cliente (create client + order).
  3. OpenPanel reflecte o tipo de serviço (plan_name + metadata mail).
  4. Odoo recebe a empresa para gestão financeira (res.partner).
  5. Um gerente por domínio: admin@{domínio} + manager_name / manager_email.
  6. Staff activa após revisão OPS — não automático sem RBAC (027).

Roger · Spec 043 · documentação viva — actualizar quando campos wizard ou APIs VM123 mudarem