56 lines
2 KiB
Markdown
56 lines
2 KiB
Markdown
# Tasks — Spec 012 Abandoned Onboarding → Lead
|
|
|
|
**Spec:** `012-abandoned-onboarding-lead`
|
|
**Última atualização:** 2026-06-10
|
|
|
|
---
|
|
|
|
## Fase A — Ticket no «Criar conta» ✅
|
|
|
|
- [x] **T001** Desk: ticket em `onboarding.started` (não só `account.created`)
|
|
- [x] **T002** Desk: `account.created` → nota no ticket existente (sem duplicar)
|
|
- [x] **T003** Desk: `_backfill_funnel_notes` para `domain.validated` + `dns.applied`
|
|
- [x] **T004** VM112: remover `onboarding.started` de `validate-domain`
|
|
- [x] **T005** VM112: emitir `onboarding.started` em `POST /account/create` com `email`
|
|
- [x] **T006** Scripts `verify-funnel-webhook.sh` — ordem real do funil
|
|
- [x] **T007** Spec 012 + BACKLOG actualizados
|
|
|
|
---
|
|
|
|
## Fase B — Detecção abandono → Lead ✅
|
|
|
|
- [x] **T010** Env `ONBOARD_STALE_HOURS` (default 24)
|
|
- [x] **T011** Worker job: sessões stale → `crm_track=lead` + `lead_detected_at`
|
|
- [x] **T012** `GET /api/v1/crm/leads` — lista tickets lead
|
|
- [x] **T013** UI Desk: painel «Leads abandonados» (grid + view + filtro tickets)
|
|
- [x] **T014** Badge stale/lead na grid sessões liga ao ticket
|
|
|
|
---
|
|
|
|
## Fase C — Outreach
|
|
|
|
- [ ] **T020** `POST /api/v1/crm/leads/{ticket_id}/contact` — log outreach
|
|
- [ ] **T021** `POST /api/v1/crm/leads/{ticket_id}/promote` — promoção manual
|
|
- [ ] **T022** Spec 007: push «lead abandonado» → ops_lead
|
|
- [ ] **T023** Template e-mail recuperação (VM108 Postfix)
|
|
|
|
---
|
|
|
|
## Fase D — CRM externo + Chat
|
|
|
|
- [ ] **T030** Decisão Roger: canal chat (widget / tablet / outro)
|
|
- [ ] **T031** Integração Odoo CRM (lead export idempotente por `ticket_id`)
|
|
- [ ] **T032** Webhook CRM inbound — `lead_converted` / `lead_lost`
|
|
- [ ] **T033** Documentação quickstart operacional
|
|
|
|
---
|
|
|
|
## Verificação
|
|
|
|
```bash
|
|
# Ordem real (domínio → DNS → criar conta)
|
|
bash /opt/ligbox-ops-platform/scripts/verify-funnel-webhook.sh
|
|
|
|
# VM112: onboarding.started só em account/create
|
|
ssh root@10.10.10.112 "grep -n onboarding.started /opt/ibytera-mail-portal/backend/app/routers/onboarding.py"
|
|
```
|