Documenta liberação formal webmail (company_gate), decisões UX Painel Admin, links Spec 044 tickets FOSS↔Desk, VM112 e chat bruto da sessão Roger. Co-authored-by: Cursor <cursoragent@cursor.com>
119 lines
6.7 KiB
Markdown
119 lines
6.7 KiB
Markdown
# Spec 043 — Sincronização Cliente: Wizard → Desk → FOSS → OpenPanel → Odoo
|
||
|
||
**Criado:** 2026-07-01
|
||
**Solicitado por:** Roger
|
||
**Status:** ✅ **Implementação completa (Fases 1–6 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](./contracts/activation-field-mapping.md)
|
||
**Liberação webmail (gate):** [contracts/webmail-release-gate.md](./contracts/webmail-release-gate.md)
|
||
**Chat bruto:** [CHAT_BRUTO_WEBMAIL_GATE_TICKETS_SPEC043_044_20260701.txt](../../chat-bruto/CHAT_BRUTO_WEBMAIL_GATE_TICKETS_SPEC043_044_20260701.txt)
|
||
|
||
---
|
||
|
||
## Specs relacionadas (leitura obrigatória)
|
||
|
||
| Spec | Relação |
|
||
|------|---------|
|
||
| [023](../023-billing-recurrence-desk-visibility/spec.md) | Card empresa, `company.validated`, `billing_accounts`, estados |
|
||
| [024](../024-openpanel-fossbilling/spec.md) | Stack VM123, FOSS+Odoo+OpenPanel |
|
||
| [024 PROVISIONING_CLIENT_CARD](../024-openpanel-fossbilling/PROVISIONING_CLIENT_CARD.md) | Campos card → FOSS → OP (site CMS) |
|
||
| [028](../028-openpanel-ce-ligbox-reengineering/spec.md) | Bridge `:18087`, re-engenharia CE |
|
||
| [028 foss-bridge-api](../028-openpanel-ce-ligbox-reengineering/contracts/foss-bridge-api.md) | Contrato API bridge |
|
||
| [035](../035-ligbox-mail-bundles-foss-openpanel/spec.md) | Bundles mail, `manager_name`, webhook `order-activated` |
|
||
| [001](../001-webhook-vm112-integration/spec.md) | Webhooks VM112 → Desk |
|
||
| [004](../004-onboard-funnel-events/spec.md) | Funil onboarding |
|
||
| [027](../027-desk-rbac-function-matrix/spec.md) | Quem pode activar conta |
|
||
| [039](../039-ligbox-ops-authorization-catalog/spec.md) | `vm123_foss.*`, `vm123_openpanel.*`, Odoo |
|
||
| [040](../040-desk-design-system-v013/spec.md) | UI staff Access Control Hub |
|
||
| [044](../044-foss-desk-ticket-sync/spec.md) | Sync tickets OB- ↔ Desk ↔ FOSS Support |
|
||
|
||
---
|
||
|
||
## 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](./contracts/activation-field-mapping.md) |
|
||
| **API Desk (activate)** | [contracts/desk-activate-account-api.md](./contracts/desk-activate-account-api.md) |
|
||
| **API Wizard mail-bundle** | [contracts/mail-bundle-api.md](./contracts/mail-bundle-api.md) |
|
||
| **Tasks implementação** | [tasks.md](./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](../023-billing-recurrence-desk-visibility/spec.md)).
|
||
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](../027-desk-rbac-function-matrix/spec.md)).
|
||
7. **Liberação formal webmail** pelo Gerente no Painel `/admin` (`webmail_released_at`) — ver [webmail-release-gate.md](./contracts/webmail-release-gate.md).
|
||
|
||
---
|
||
|
||
## Decisões / Histórico
|
||
|
||
| Data | Decisão |
|
||
|------|---------|
|
||
| 2026-07-01 | FOSS order + mail-bundle VM112 deployados (product_id=3) |
|
||
| 2026-07-01 | Aviso Carbonio login = informativo; acção liberar no Painel Admin (UI pendente) |
|
||
| 2026-07-01 | Spec 044 tickets FOSS↔Desk documentada |
|
||
|
||
---
|
||
|
||
*Roger · Spec 043 · documentação viva — actualizar quando campos wizard ou APIs VM123 mudarem*
|