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.
|
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
|
## Endpoints principais
|
||||||
|
|
||||||
| Metodo | Rota | Perfis | Descricao |
|
| Metodo | Rota | Perfis | Descricao |
|
||||||
|
|||||||
22
Contatos.md
22
Contatos.md
@ -2,14 +2,19 @@
|
|||||||
|
|
||||||
Base tecnica:
|
Base tecnica:
|
||||||
|
|
||||||
- Controller: `src/modules/admin/customer-contacts.controller.ts`
|
- Module: `src/modules/contacts/contacts.module.ts`
|
||||||
- Service: `src/modules/admin/customer-contacts.service.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`
|
- Prefixo: `/contacts`
|
||||||
|
|
||||||
## Responsabilidade
|
## Responsabilidade
|
||||||
|
|
||||||
Gerencia agenda e perfil de contatos usados no chat e na abertura ativa.
|
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
|
## Endpoints
|
||||||
|
|
||||||
| Metodo | Rota | Descricao |
|
| Metodo | Rota | Descricao |
|
||||||
@ -32,3 +37,16 @@ Gerencia agenda e perfil de contatos usados no chat e na abertura ativa.
|
|||||||
## Code review
|
## Code review
|
||||||
|
|
||||||
O nome tecnico `company` permaneceu por compatibilidade, mas na interface o conceito virou `Etiqueta de identificacao`.
|
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`
|
- Controller: `src/modules/whatsapp/whatsapp.controller.ts`
|
||||||
- Service: `src/modules/whatsapp/whatsapp.service.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 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`
|
- Gateway: `src/modules/whatsapp/whatsapp.gateway.ts`
|
||||||
- Prefixo: `/whatsapp`
|
- Prefixo: `/whatsapp`
|
||||||
|
|
||||||
@ -46,6 +50,19 @@ Fila, atribuicao, transferencia, fechamento e triagem do atendimento ficam no mo
|
|||||||
- Envia mensagens e midias.
|
- Envia mensagens e midias.
|
||||||
- Dispara roteamento do bot ao receber mensagem.
|
- Dispara roteamento do bot ao receber mensagem.
|
||||||
- Executa abertura ativa com template.
|
- 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`
|
### `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.
|
- Impede envio quando atendimento ativo aguarda resposta do cliente.
|
||||||
- Roteia conversas por area, fluxo configurado ou arvore do bot.
|
- Roteia conversas por area, fluxo configurado ou arvore do bot.
|
||||||
- Monta observacao de transferencia do Agente Virtual.
|
- 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
|
## Eventos em tempo real
|
||||||
|
|
||||||
@ -65,6 +88,7 @@ O `whatsapp.gateway.ts` usa Socket.IO para notificar o frontend sobre:
|
|||||||
## Code review
|
## Code review
|
||||||
|
|
||||||
- `attendance-assignment.service.ts` concentra regra critica e deve receber testes.
|
- `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.
|
- 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.
|
- `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