Documenta Wizard→Desk→FOSS→OpenPanel→Odoo com contratos, rollback e registo SPEC-REGISTRY antes da implementação das fases de activação. Co-authored-by: Cursor <cursoragent@cursor.com>
5.8 KiB
5.8 KiB
Spec 043 — Sincronização Cliente: Wizard → Desk → FOSS → OpenPanel → Odoo
Criado: 2026-07-01
Solicitado por: Roger
Status: 🚧 Fase 1 em curso — preview UI + API; Fases 2–6 pendentes
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:
- FOSSBilling — cliente + pedido + activação hosting (primeiro destino API)
- OpenPanel — tipo de contrato / plano / domínio hub (via bridge ou módulo FOSS)
- 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 (planeada) | contracts/desk-activate-account-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)
- Wizard não cobra no card empresa — só recolhe e valida (023).
- FOSS recebe primeiro os dados do cliente (create client + order).
- OpenPanel reflecte o tipo de serviço (
plan_name+ metadata mail). - Odoo recebe a empresa para gestão financeira (
res.partner). - Um gerente por domínio:
admin@{domínio}+manager_name/manager_email. - 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