Pular para o conteúdo principal

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.js
  • assets/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 em Pulsechat_Channels, bot\u00e3o no JS.
  • Integra\u00e7\u00f5es Personalizadas: Use Pulsechat_model para opera\u00e7\u00f5es de BD.
dica

O PulseChat depende fortemente dos hooks do Perfex e comportamentos do App_Controller. Sempre adicione uma migra\u00e7\u00e3o para mudan\u00e7as de esquema.