How carrummobility/frappe-core works
Core is a Frappe app supporting Carrum’s CRM operations, especially lead management, telephony, payment and messaging integrations, and operational reporting. The visible workflow spans lead synchronization, call-session handling and agent performance tracking; separate capabilities include WhatsApp through Chatwoot, Carrum account/configuration APIs, and optional S3 file storage. The README describes the app as a dependency for Frappe CRM and Chatwoot Integration. Source excerpts are partial, so connections between unsampled API routes and services are not inferred.
Main entry points: chatwoot/client.py Chatwoot Client · apihit_service.py API Hit Logging · smartflo/client.py Smartflo Client · callmatic/client.py Callmatic Client
Components 23
CRM Operations
- Lead Service
core/services/crm_lead/lead_service.py - CRM Leads
- Payment API
core/api/carrum_payment.py - Agent Performance
core/services/agent_performance.py - Performance Dashboard
core/services/agent_performance_dashboard.py - Payment Logs
core/platform/doctype/payment_logs/payment_logs.py
Telephony
- Call API
core/api/call.py - Call Service
core/services/call_service.py - Call Sessions
core/platform/doctype/call_session/call_session.py - Smartflo Client
core/integrations/smartflo/client.py - Callmatic Client
core/integrations/callmatic/client.py
Messaging
- WhatsApp Service
core/services/whatsapp/whatsapp_service.py - Chatwoot Client
core/integrations/chatwoot/client.py - Carrum WhatsApp API
core/api/carrum_whatsapp.py
Platform Services
- Carrum Accounts API
core/api/carrum_accounts.py - API Hit Logging
core/services/apihit_service.py - API Hit Logs
core/platform/doctype/api_hit_log/api_hit_log.py - S3 File Storage
core/s3_file_storage.py
Other components
- CRM User
- Call Providers
- Chatwoot
- Carrum APIs
- S3 Object Store
Connections 14
- CRM User → Call API: requests calls
- Lead Service → CRM Leads: reads and writes
- WhatsApp Service → Chatwoot Client: sends messages
- WhatsApp Service → Carrum WhatsApp API: fetches templates
- Chatwoot Client → Carrum Accounts API: loads user config
- Chatwoot Client → Chatwoot: sends and fetches
- Carrum Accounts API → Carrum APIs: requests account data
- Carrum WhatsApp API → Carrum APIs: requests templates
- Callmatic Client → Call Providers: triggers calls
- Smartflo Client → Call Providers: requests telephony
- Callmatic Client → API Hit Logging: logs request
- Smartflo Client → API Hit Logging: logs request
- API Hit Logging → API Hit Logs: records hits
- S3 File Storage → S3 Object Store: reads and writes