diff --git a/Knowledge-Base-e-Agente-Virtual.md b/Knowledge-Base-e-Agente-Virtual.md new file mode 100644 index 0000000..2f5bd61 --- /dev/null +++ b/Knowledge-Base-e-Agente-Virtual.md @@ -0,0 +1,63 @@ +# Knowledge Base e Agente Virtual + +Base tecnica: + +- Controller: `src/modules/admin/knowledge-base.controller.ts` +- Service: `src/modules/admin/knowledge-base.service.ts` +- Prefixo: `/admin/knowledge` + +## Responsabilidade + +Permite configurar o fluxo do Agente Virtual Sothis: + +- arvore visual de decisao; +- nos de pergunta, encerramento e transferencia para agente; +- publicacao de versao; +- fluxo legado de audiencia/intencao; +- palavras-chave de roteamento por area. + +## Endpoints da arvore do bot + +| Metodo | Rota | Descricao | +|---|---|---| +| GET | `/admin/knowledge/bot-flow` | Retorna versao ativa/rascunho da arvore | +| GET | `/admin/knowledge/bot-flow/versions` | Lista versoes | +| POST | `/admin/knowledge/bot-flow/nodes` | Cria no | +| PUT | `/admin/knowledge/bot-flow/nodes/:id` | Atualiza no | +| DELETE | `/admin/knowledge/bot-flow/nodes/:id` | Remove no | +| POST | `/admin/knowledge/bot-flow/publish` | Publica versao | + +## Endpoints de fluxo legado + +| Metodo | Rota | Descricao | +|---|---|---| +| GET | `/admin/knowledge/triage-flow` | Consulta fluxo configuravel | +| PUT | `/admin/knowledge/triage-flow` | Atualiza perguntas/mensagens | +| POST | `/admin/knowledge/triage-flow/audiences` | Cria audiencia | +| PUT | `/admin/knowledge/triage-flow/audiences/:id` | Atualiza audiencia | +| POST | `/admin/knowledge/triage-flow/intents` | Cria intencao | +| PUT | `/admin/knowledge/triage-flow/intents/:id` | Atualiza intencao | + +## Endpoints de keywords + +| Metodo | Rota | Descricao | +|---|---|---| +| GET | `/admin/knowledge/routing-keywords` | Lista palavras-chave | +| POST | `/admin/knowledge/routing-keywords` | Cria keyword | +| PUT | `/admin/knowledge/routing-keywords/:id` | Atualiza keyword | +| DELETE | `/admin/knowledge/routing-keywords/:id` | Remove keyword | + +## Relacao com WhatsApp + +O WhatsApp chama `routeIncomingMessage()` em `whatsapp-assignment.service.ts`. Esse metodo tenta: + +1. fluxo builder publicado; +2. fluxo configuravel legado; +3. deteccao por keyword/area; +4. fallback para suporte. + +## Code review + +- Fluxo builder e fluxo legado coexistem; manter claro qual esta ativo. +- Publicacao de versao deve ser protegida por perfil. +- Textos do bot devem ser revisados para acento e tom.