2
Contatos
Rafael Lopes edited this page 2026-06-01 15:44:21 -03:00
Table of Contents
Contatos e Agenda
Base tecnica:
- 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 |
|---|---|---|
| GET | /contacts |
Lista agenda |
| GET | /contacts/:chatId |
Busca contato por chat/WhatsApp |
| PUT | /contacts/:chatId |
Cria ou atualiza contato |
Campos principais
chat_id: identificador WhatsApp, geralmente5511999999999@c.us.phone: numero WhatsApp.call_sms_phone: numero para ligacao/SMS.email: email do contato.name: nome.company: campo historico usado como etiqueta de identificacao.note: observacao.user_id: usuario que salvou/atualizou.
Code review
O nome tecnico company permaneceu por compatibilidade, mas na interface o conceito virou Etiqueta de identificacao.
O modulo segue:
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.