1
Whatsapp
Rafael Alves Lopes edited this page 2026-05-27 16:53:40 -03:00
Modulo WhatsApp
Base tecnica:
- Controller:
src/modules/whatsapp/whatsapp.controller.ts - Service:
src/modules/whatsapp/whatsapp.service.ts - Assignment:
src/modules/whatsapp/whatsapp-assignment.service.ts - Gateway:
src/modules/whatsapp/whatsapp.gateway.ts - Prefixo:
/whatsapp
Responsabilidade
Integra com whatsapp-web.js, controla chats, mensagens, midia, templates, abertura ativa, fila, atribuicao, transferencia e triagem do Agente Virtual.
Endpoints
| Metodo | Rota | Descricao |
|---|---|---|
| GET | /whatsapp/status |
Status da sessao WhatsApp |
| GET | /whatsapp/chats |
Lista conversas |
| GET | /whatsapp/messages/:chatId |
Lista mensagens de uma conversa |
| GET | /whatsapp/media/:chatId/:messageId |
Baixa midia de mensagem |
| POST | /whatsapp/send |
Envia texto/midia |
| POST | /whatsapp/start-attendance |
Inicia atendimento ativo por template |
| POST | /whatsapp/assign |
Assume conversa |
| POST | /whatsapp/transfer |
Transfere conversa |
| DELETE | /whatsapp/release/:chatId |
Libera conversa |
| POST | /whatsapp/close |
Fecha atendimento |
| GET | /whatsapp/assignment/:chatId |
Consulta atribuicao |
| GET | /whatsapp/templates |
Lista templates |
| POST | /whatsapp/templates |
Cria template |
| POST | /whatsapp/templates/update/:id |
Atualiza template |
| POST | /whatsapp/templates/approve-admin/:id |
Aprova template pelo admin |
| POST | /whatsapp/templates/reject-admin/:id |
Reprova template pelo admin |
| DELETE | /whatsapp/templates/:id |
Remove template |
Funcoes importantes
whatsapp.service.ts
- Inicializa cliente WhatsApp Web.
- Emite QR/status.
- Lista chats e mensagens.
- Envia mensagens e midias.
- Dispara roteamento do bot ao receber mensagem.
- Executa abertura ativa com template.
whatsapp-assignment.service.ts
- Garante schema complementar em
onModuleInit(). - Controla fila e atribuicao em
whatsapp_chat_atribuicoes. - 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.
Eventos em tempo real
O whatsapp.gateway.ts usa Socket.IO para notificar o frontend sobre:
- novas mensagens;
- atualizacoes de chat;
- status/QR quando aplicavel.
Code review
whatsapp-assignment.service.tsconcentra regra critica e deve receber testes.- Permissao de agente/admin ainda precisa ser validada no backend.
whatsapp-web.jse bom para demo/MVP controlado, mas para producao robusta avaliar WhatsApp Cloud API.