diff --git a/projetos/newwhats.clube67.com/ativacao-whatsapp.md b/projetos/newwhats.clube67.com/ativacao-whatsapp.md index 657b546..1831177 100644 --- a/projetos/newwhats.clube67.com/ativacao-whatsapp.md +++ b/projetos/newwhats.clube67.com/ativacao-whatsapp.md @@ -41,11 +41,25 @@ e **idempotente** (re-rodar não duplica): - Qualquer passo novo do trajeto deve ser refletido nos dois lados (ver regra de registro bidirecional em [integracao-satelites.md](integracao-satelites.md)). -## Pendência / implementação -- [ ] Endpoint de provisionamento (`POST /api/instances/provision`) que encapsula os - passos 1–7 de forma idempotente, com resposta de "trajeto". -- [ ] Detecção Business no `connect` gravando `isBusiness`. -- [ ] Setor + Secretária default automáticos. -- [ ] Registro de webhook automatizado a partir do pair. -- [ ] Gatilho de `sync-knowledge` no fim do trajeto. +## Implementado (28/jun/2026) +`POST /api/instances/provision` (auth, escopo tenant). Body: +`{ name, engine?, webhookUrl?, sector?, connect? }`. **Idempotente** (re-rodar não +duplica). Devolve `{ instance, trajeto[] }` com cada passo visível: +- `instancia` (criada/existente) — upsert por unique `[tenantId, name]`. +- `engine` (definida/mantida) — **`baileys7` (API estável) por padrão** ao criar. +- `setor` (criado/existente) — `ensureSector`, default "Atendimento". +- `webhook` (configurado/inalterado/omitido). +- `conexao` (iniciada/pulada) — se `connect:true`, emite QR via Socket.IO. +- `business` (pendente) — detectada ao conectar. +- `secretaria` / `conhecimento` (pendentes) — passos de plugin/satélite. + +> Validado em dev: 1ª chamada → 201 (cria, engine baileys7, setor); 2ª → 200 +> ("existente", sem duplicar). Artefatos de teste removidos. + +## Pendência restante +- [ ] Detecção Business no `connect` gravando `isBusiness` (passo `business`). +- [ ] Secretária default automática (via plugin `secretaria`). +- [ ] Registro de webhook automatizado a partir do pair (preencher `webhookUrl`). +- [ ] Gatilho de `sync-knowledge` no fim do trajeto (satélite). +- [ ] UI de onboarding consumindo `/provision` + exibindo o trajeto. diff --git a/projetos/newwhats.clube67.com/tarefas.md b/projetos/newwhats.clube67.com/tarefas.md index 337a10b..060dcee 100644 --- a/projetos/newwhats.clube67.com/tarefas.md +++ b/projetos/newwhats.clube67.com/tarefas.md @@ -38,10 +38,12 @@ - [ ] Política de retenção (arquivar/descartar áudio após transcrição salva). ## Ativação do WhatsApp (trajeto inteligente) -- [ ] Transformar `POST /` + `POST /:id/connect` em um **trajeto guiado e idempotente** - que cria e configura a conta no motor automaticamente (instância, pair/tenant, - setor + secretária default, webhook, engine, detecção Business). Ver - [ativacao-whatsapp.md](ativacao-whatsapp.md). O satélite orquestra como braço do motor. +- [x] `POST /api/instances/provision` — trajeto guiado e **idempotente** (instância + + engine `baileys7` + setor default + webhook/connect opcionais), devolve o + `trajeto[]` visível. Ver [ativacao-whatsapp.md](ativacao-whatsapp.md). +- [ ] Detecção Business no connect (grava `isBusiness`). +- [ ] Secretária default automática (plugin) + webhook a partir do pair. +- [ ] Gatilho de `sync-knowledge` no fim do trajeto + UI de onboarding. ## Inbox / Secretária (já entregue nesta frente) - [x] Transcrição/descrição no motor (Gemini) → `messages.transcription`.