Technical assignment for the development of a CRM system with integration of Telegram and RingCentral for driver synchronization
1. General information
Project: Development of a CRM system for synchronizing communications through Telegram and RingCentral, taking into account each driver.
2. Project goals
Creation of a CRM system for centralized management of communications with drivers, combining interactions through Telegram and RingCentral. The main task of the system is to track and synchronize data for each driver, as well as to register all communications and calls to ensure effective management and analysis.
3. System requirements
3.1. Integration with Telegram
• The system must be able to receive and send messages via Telegram with support for various types of messages (text, voice, files, photos).
• Each driver must be assigned a unique identifier in the system, which is synchronized with their Telegram account.
• Ability to automatically register new drivers upon first interaction via Telegram.
• Storing the history of messages with drivers in Telegram in the CRM for further analysis and reporting.
• Ability to assign tags, statuses, and comments to driver messages.
• Notifications and alerts in the CRM interface upon receiving new messages from drivers.
3.2. Integration with RingCentral
• The CRM must synchronize with RingCentral to register all driver calls, both incoming and outgoing.
• The system must display real-time information about the current call: start time, duration, caller or called number.
• Recording all calls and storing them in the driver's card in the CRM.
• Ability to create tasks and reminders based on call results with the possibility of further tracking.
• Call statuses (answered, missed) must be displayed in the system.
3.3. Driver synchronization
• Each driver in the system is assigned a unique identifier that links data from Telegram and RingCentral.
• The system must automatically update driver contact information when data changes in Telegram or RingCentral.
• A driver can be registered in the system through any of the channels (Telegram or RingCentral), and the CRM must synchronize data between the two systems.
• Maintaining a single driver card with a complete history of interactions (calls, messages, files, tasks).
4. Functional modules
4.1. Driver management module
• Creating, editing, and deleting driver cards.
• Linking contacts from Telegram and RingCentral.
• Searching for drivers (by name, phone number, status).
• Storing all driver data: contact information, call history, message history.
4.2. Communication module
• Displaying all messages and calls with the ability to filter by time, drivers, statuses.
• Maintaining tasks and comments for each driver.
• Automatic updating of call and message statuses.
4.3. Reporting module
• Ability to create reports on calls (incoming, outgoing, duration, missed).
• Reports on messages in Telegram (date, time, status).
• Integration with calendars and planners for tracking tasks related to calls and messages.
5. Technical requirements
• Development language: Python, Node.js, or another suitable for integration with the Telegram and RingCentral APIs.
• Database: MySQL, PostgreSQL, or similar relational databases for storing driver and communication data.
• Interfaces: Web interface for employees with authorization and role functions (administrator, manager).
• API integration:
• Telegram API for sending and receiving messages.
• RingCentral API for managing calls and obtaining call data.
• Hosting: Server or cloud solution supporting the required technologies and performance.
• Security: Data encryption in the database and during transmission via API, protection against unauthorized access.
6. Required API functionality
6.1. Telegram API:
Anton, [19.10.2024 13:27]
• Receiving and sending messages.
• Webhook for tracking new messages.
• Ability to work with groups or channels (if needed).
6.2. RingCentral API:
• Registration of all calls with call data.
• Recording calls and saving them in the CRM.
• Call management (call forwarding, conference call).
7. Interface requirements
• Simple and intuitive interface for operators, with quick access to driver information and their communications.
• Ability to work simultaneously with multiple drivers and communication channels.
• Implementation of filters for quick search through call and message history.