obsidian-vault/ligbox-ops-platform/specs/044-foss-desk-ticket-sync/tasks.md
Ligbox Obsidian Vault 4e65555abb Obsidian: Spec 044 FOSS-Desk ticket sync + links cruzados
Sync completo da spec 044, contratos, registry e sidebar no vault VM130.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 17:40:05 +00:00

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