Novas atualizações referente ao refactor
parent
ef85a99ea6
commit
af62e3007c
2
Admin.md
2
Admin.md
@ -22,6 +22,8 @@ Sustenta o painel administrativo e parte do painel supervisor:
|
||||
|
||||
O fluxo do agente virtual e a configuracao de triagem ficam no modulo `knowledge-base`, mantendo o prefixo `/admin/knowledge` por compatibilidade.
|
||||
|
||||
A agenda de contatos fica no modulo `contacts`, mantendo o prefixo `/contacts` por compatibilidade.
|
||||
|
||||
## Endpoints principais
|
||||
|
||||
| Metodo | Rota | Perfis | Descricao |
|
||||
|
||||
22
Contatos.md
22
Contatos.md
@ -2,14 +2,19 @@
|
||||
|
||||
Base tecnica:
|
||||
|
||||
- Controller: `src/modules/admin/customer-contacts.controller.ts`
|
||||
- Service: `src/modules/admin/customer-contacts.service.ts`
|
||||
- Module: `src/modules/contacts/contacts.module.ts`
|
||||
- Controller: `src/modules/contacts/contacts.controller.ts`
|
||||
- Service: `src/modules/contacts/contacts.service.ts`
|
||||
- Repository: `src/modules/contacts/repositories/contacts.repository.ts`
|
||||
- DTOs: `src/modules/contacts/dto/contact.dto.ts`
|
||||
- Prefixo: `/contacts`
|
||||
|
||||
## Responsabilidade
|
||||
|
||||
Gerencia agenda e perfil de contatos usados no chat e na abertura ativa.
|
||||
|
||||
O modulo fica separado de `admin` porque contato e um dominio operacional usado por chat, atendimento ativo e canais futuros. O prefixo `/contacts` foi mantido para preservar compatibilidade com o frontend.
|
||||
|
||||
## Endpoints
|
||||
|
||||
| Metodo | Rota | Descricao |
|
||||
@ -32,3 +37,16 @@ Gerencia agenda e perfil de contatos usados no chat e na abertura ativa.
|
||||
## Code review
|
||||
|
||||
O nome tecnico `company` permaneceu por compatibilidade, mas na interface o conceito virou `Etiqueta de identificacao`.
|
||||
|
||||
O modulo segue:
|
||||
|
||||
```text
|
||||
Controller -> Service -> Repository -> DatabaseService
|
||||
```
|
||||
|
||||
- Controller: rotas, Swagger e DTO.
|
||||
- Service: normalizacao de telefone, email e textos.
|
||||
- Repository: SQL da tabela `agenda_contatos`.
|
||||
- DatabaseService: pool PostgreSQL.
|
||||
|
||||
O schema nao e criado em runtime. A tabela `agenda_contatos` deve existir via migrations `010_agenda_contatos.sql` e `023_agenda_contact_channels.sql`.
|
||||
|
||||
24
Whatsapp.md
24
Whatsapp.md
@ -4,7 +4,11 @@ Base tecnica:
|
||||
|
||||
- Controller: `src/modules/whatsapp/whatsapp.controller.ts`
|
||||
- Service: `src/modules/whatsapp/whatsapp.service.ts`
|
||||
- Template Service: `src/modules/whatsapp/whatsapp-template.service.ts`
|
||||
- Template Repository: `src/modules/whatsapp/repositories/whatsapp-template.repository.ts`
|
||||
- Contacts Service: `src/modules/contacts/contacts.service.ts`
|
||||
- Attendance Assignment: `src/modules/attendance/attendance-assignment.service.ts`
|
||||
- Attendance Repository: `src/modules/attendance/repositories/attendance-assignment.repository.ts`
|
||||
- Gateway: `src/modules/whatsapp/whatsapp.gateway.ts`
|
||||
- Prefixo: `/whatsapp`
|
||||
|
||||
@ -46,6 +50,19 @@ Fila, atribuicao, transferencia, fechamento e triagem do atendimento ficam no mo
|
||||
- Envia mensagens e midias.
|
||||
- Dispara roteamento do bot ao receber mensagem.
|
||||
- Executa abertura ativa com template.
|
||||
- Nao cria schema de templates em runtime; `whatsapp_templates` deve existir via migrations.
|
||||
- Usa `ContactsService` para enriquecer chats com nome, telefone, email, etiqueta e observacao.
|
||||
|
||||
### `whatsapp-template.service.ts`
|
||||
|
||||
- Lista, cria, edita, aprova, reprova e remove templates.
|
||||
- Simula aprovacao Meta por tempo para o fluxo de demo.
|
||||
- Mantem regra de negocio de template fora do adaptador WhatsApp.
|
||||
|
||||
### `whatsapp-template.repository.ts`
|
||||
|
||||
- Concentra SQL da tabela `whatsapp_templates`.
|
||||
- Usa migrations como fonte do schema.
|
||||
|
||||
### `attendance-assignment.service.ts`
|
||||
|
||||
@ -53,6 +70,12 @@ Fila, atribuicao, transferencia, fechamento e triagem do atendimento ficam no mo
|
||||
- Impede envio quando atendimento ativo aguarda resposta do cliente.
|
||||
- Roteia conversas por area, fluxo configurado ou arvore do bot.
|
||||
- Monta observacao de transferencia do Agente Virtual.
|
||||
- Nao cria/altera schema em runtime; `whatsapp_chat_atribuicoes` deve ser mantida pelas migrations.
|
||||
|
||||
### `attendance-assignment.repository.ts`
|
||||
|
||||
- Concentra SQL de atribuicao, fila, transferencia, triagem e leitura do fluxo do bot.
|
||||
- Mantem o service focado em regra de negocio e orquestracao.
|
||||
|
||||
## Eventos em tempo real
|
||||
|
||||
@ -65,6 +88,7 @@ O `whatsapp.gateway.ts` usa Socket.IO para notificar o frontend sobre:
|
||||
## Code review
|
||||
|
||||
- `attendance-assignment.service.ts` concentra regra critica e deve receber testes.
|
||||
- `whatsapp.controller.ts` usa DTOs para validar payloads de envio, atendimento, transferencia e templates.
|
||||
- Permissao de agente/admin ainda precisa ser validada no backend.
|
||||
- `whatsapp-web.js` e bom para demo/MVP controlado, mas para producao robusta avaliar WhatsApp Cloud API.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user