Sync completo da spec 044, contratos, registry e sidebar no vault VM130. Co-authored-by: Cursor <cursoragent@cursor.com>
42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# Spec 044 — Tasks
|
|
|
|
## Documentação
|
|
- [x] Spec índice `spec.md`
|
|
- [x] Contrato `contracts/ticket-field-mapping.md`
|
|
- [x] Contrato `contracts/ticket-sync-api.md`
|
|
- [x] Registo em `SPEC-REGISTRY.md`
|
|
- [x] Ligações cruzadas specs 010/012/024/041/043
|
|
- [x] Sync Obsidian VM130
|
|
|
|
## Fase A — Estado actual (baseline)
|
|
- [x] Portal OB- → Desk via `onboarding.escalated` (VM112)
|
|
- [x] UI Desk mostra `wizard_ticket_id` (OB-) no painel ticket
|
|
- [x] FOSS Support nativo em VM123 (sem bridge)
|
|
- [ ] Inventário endpoints FOSS Support API (Roger validar admin)
|
|
|
|
## Fase B — Desk → FOSS (espelho)
|
|
- [ ] Coluna/payload `foss_ticket_id` em `tickets`
|
|
- [ ] `foss_client.create_support_ticket()` — M2M admin API
|
|
- [ ] Hook pós-criação ticket Desk: se `billing_accounts.external_customer_id` → espelho FOSS
|
|
- [ ] Idempotência: não recriar se `foss_ticket_id` já existe
|
|
- [ ] Unit tests `test_foss_ticket_sync_044.py`
|
|
|
|
## Fase C — FOSS → Desk (webhook)
|
|
- [ ] Endpoint `POST /api/v1/webhooks/foss/support` (auth `FOSS_WEBHOOK_SECRET`)
|
|
- [ ] Plugin/hook FOSS ou cron poll — eventos `ticket.opened`, `ticket.reply`, `ticket.closed`
|
|
- [ ] Upsert nota / status no ticket Desk correlacionado
|
|
- [ ] Log em `webhook_events` source=`vm123-foss`
|
|
|
|
## Fase D — UI Desk
|
|
- [ ] Painel ticket: badge «FOSS #123» + deep-link `financeiro.ligbox.com.br/admin/support`
|
|
- [ ] Serviços IaaS / ficha cliente: «Abrir ticket FOSS» (roles sales_admin, sales_support)
|
|
- [ ] Central Operacional (041): evento `desk_tickets` com `foss_ticket_id`
|
|
|
|
## Fase E — Portal pós-activação
|
|
- [ ] Console `/me/suporte` ou FOSS client area — single entry (decisão Roger)
|
|
- [ ] API Desk `POST /api/v1/support/tickets` → cria Desk + FOSS espelho
|
|
- [ ] Resposta cliente inclui `tracking_url` (portal ou FOSS)
|
|
|
|
## Testes E2E
|
|
- [ ] Roger: OB- onboarding → activar conta → staff responde → cliente vê no FOSS
|
|
- [ ] Roger: cliente abre ticket FOSS → aparece no Desk Chamados
|