Arquitetura e Internos
Vis\u00e3o t\u00e9cnica de alto n\u00edvel da arquitetura do PulseChat: estrutura do m\u00f3dulo, classes principais e fluxos importantes para depura\u00e7\u00e3o ou extens\u00e3o.
1. Ponto de Entrada do M\u00f3dulo
Arquivo: modules/pulsechat/pulsechat.php - Declara metadados, define constantes (PULSECHAT_MODULE_NAME, TABLE_PC_*), registra hooks, adiciona menu de administra\u00e7\u00e3o e hooks do lado do cliente.
2. Controladores
2.1 controllers/Pulsechat.php
Controlador principal: chat(), complete_setup(), endpoints AJAX para contatos, grupos, mensagens, rea\u00e7\u00f5es, busca, an\u00e1lises.
2.2 controllers/Pulsechat_Channels.php
Endpoints omnicanal e IA: CRUD de canais, ai_auto_reply(), ai_suggestions(), ai_rewrite(), ai_spelling(), ai_summary(), ai_sentiment(), ai_translate(), an\u00e1lises.
2.3 Controladores de Webhook
controllers/webhooks/ChannelWebhook.php - Recebe webhooks de provedores externos.
3. Modelos
3.1 models/Pulsechat_model.php
Camada central de acesso a dados: usu\u00e1rios, presen\u00e7a, conversas, mensagens, arquivos, omnicanal, regras de automa\u00e7\u00e3o, logs de IA. Usa db_prefix().
4. Bibliotecas
libraries/PulsechatAI.php- Motor de IA com suporte a OpenAI e Anthropic.libraries/channels/- Adaptadores de canal (WhatsappAdapter,TelegramAdapter,EmailAdapter),ChannelManager,ChannelAdapterInterface.libraries/ContactMatcher.php- Correspond\u00eancia de contatos.
5. Views e Assets
views/admin/chat_view.php- Interface de chat de tr\u00eas pain\u00e9is.views/admin/settings.php- Painel de configura\u00e7\u00f5es.assets/js/pulsechat-full.js,pulsechat-channels.js,pulsechat-analytics.jsassets/css/pulsechat-full.css
6. Migra\u00e7\u00f5es e Instala\u00e7\u00e3o
install.php- Cria tabelas e op\u00e7\u00f5es padr\u00e3o.122_version_122.php- Funda\u00e7\u00e3o Omnicanal.123_version_123.php-pc_realtime_events.124_version_124.php- IA Multi-Provedor.
7. Notas de Extensibilidade
- Novos Tipos de Canal: Implemente
ChannelAdapterInterface. - Novas A\u00e7\u00f5es de IA: Adicione m\u00e9todo em
PulsechatAI, endpoint emPulsechat_Channels, bot\u00e3o no JS. - Integra\u00e7\u00f5es Personalizadas: Use
Pulsechat_modelpara opera\u00e7\u00f5es de BD.
O PulseChat depende fortemente dos hooks do Perfex e comportamentos do App_Controller. Sempre adicione uma migra\u00e7\u00e3o para mudan\u00e7as de esquema.