DOCS: Atualizado dodoumentação pós criação de novo modulo

Rafael Alves Lopes 2026-05-29 17:04:26 -03:00
parent 71c88513c6
commit b38ac11dcd
2 changed files with 40 additions and 21 deletions

@ -10,15 +10,17 @@ Base tecnica:
## Responsabilidade
Sustenta o painel administrativo e parte do painel supervisor:
- opcoes de perfis e areas;
- overview mensal;
- ranking de atendentes;
- auditoria;
- usuarios e acessos;
- areas/especialidades;
- conteudos da IA.
Sustenta o painel administrativo e parte do painel supervisor:
- opcoes de perfis e areas;
- overview mensal;
- ranking de atendentes;
- auditoria;
- usuarios e acessos;
- areas/especialidades;
- conteudos da IA.
O fluxo do agente virtual e a configuracao de triagem ficam no modulo `knowledge-base`, mantendo o prefixo `/admin/knowledge` por compatibilidade.
## Endpoints principais

@ -1,10 +1,14 @@
# 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`
Base tecnica:
- Module: `src/modules/knowledge-base/knowledge-base.module.ts`
- Controller: `src/modules/knowledge-base/knowledge-base.controller.ts`
- Service: `src/modules/knowledge-base/knowledge-base.service.ts`
- Repository: `src/modules/knowledge-base/repositories/knowledge-base.repository.ts`
- Prefixo: `/admin/knowledge`
O modulo fica separado de `admin` porque a responsabilidade principal nao e administracao de usuarios, e sim configuracao do agente virtual. O prefixo HTTP foi mantido para nao quebrar o frontend e as rotas ja documentadas.
## Responsabilidade
@ -47,17 +51,30 @@ Permite configurar o fluxo do Agente Virtual Sothis:
| PUT | `/admin/knowledge/routing-keywords/:id` | Atualiza keyword |
| DELETE | `/admin/knowledge/routing-keywords/:id` | Remove keyword |
## Relacao com WhatsApp
## 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.
4. fallback para suporte.
## Arquitetura interna
```text
Controller -> Service -> Repository -> DatabaseService
```
- Controller: contrato HTTP, roles e documentacao Swagger.
- Service: regra de negocio do bot, validacao da arvore, normalizacao de keywords e montagem da resposta.
- Repository: queries SQL para `bot_flow_*`, `bot_triage_*` e `area_routing_keywords`.
- DatabaseService: acesso ao PostgreSQL.
## 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.
## 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.
- O schema nao e criado em runtime; tabelas e seeds iniciais devem vir das migrations do repositorio de deploy.
- Proximo passo recomendado: formalizar DTOs de criacao/edicao do fluxo.