Потрібна розробка системи автоматизації пошуку потенційних клієнтів у Telegram
Опис проекту
Шукаю розробника для створення системи, яка буде автоматично знаходити активних користувачів у Telegram-чатах і формувати зручну чергу для роботи відділу продажів.
Зараз менеджери вручну переглядають близько 800 Telegram-чатів, шукають користувачів, які нещодавно проявили активність, потім відкривають їх профіль і зв'язуються з ними через Telegram.
Необхідно максимально автоматизувати цей процес.
Цікавить не просто написання коду, а створення надійної системи, яку в подальшому можна буде розширювати і доопрацьовувати.
Основне завдання
Система повинна автоматично:
- відстежувати велику кількість Telegram-чатів;
- збирати користувачів, які проявили активність за вибраний період;
- об'єднувати всю активність одного користувача;
- виключати дублікати;
- формувати чергу операторів;
- зберігати історію обробки клієнтів.
Джерело даних
Для отримання інформації необхідно використовувати Telegram Client API.
Переважно використовувати:
- Telethon;
- або Pyrogram (якщо розробник вважає цей варіант більш підходящим).
Використання Telegram Bot API для читання сторонніх чатів не підходить.
Робота повинна здійснюватися через авторизований Telegram-акаунт (юзербот).
Моніторинг чатів
Необхідно забезпечити роботу приблизно з 800 Telegram-чатами.
Адміністратор повинен мати можливість самостійно:
- додавати нові чати;
- видаляти чати;
- тимчасово відключати моніторинг;
- включати моніторинг назад;
- завантажувати список чатів з файлу;
- переглядати список підключених чатів.
Telegram-акаунт повинен бути в цих чатах.
Збір активності
Система повинна збирати максимально повний обсяг інформації, який технічно дозволяє отримати Telegram.
Мінімально необхідно фіксувати:
- повідомлення;
- коментарі;
- відповіді на повідомлення;
- інші публічно доступні дії користувача.
Якщо Telegram дозволяє отримувати інформацію про реакції користувачів — бажано реалізувати і цей функціонал.
Якщо існують обмеження Telegram, прошу одразу описати їх і запропонувати оптимальний варіант реалізації.
Режими роботи
Необхідно реалізувати два режими.
1. Збір історії
Адміністратор вибирає період.
Наприклад:
Після цього система аналізує історію повідомлень за вибраний період і формує список користувачів.
2. Автоматичний моніторинг
Після початкового запуску система повинна автоматично отримувати нові події Telegram в режимі реального часу без повторного аналізу всієї історії.
Картка користувача
Кожен користувач повинен відображатися тільки один раз.
Об'єднання бажано виконувати за Telegram ID, а не за username.
В картці користувача необхідно відображати:
- ім'я;
- прізвище (якщо є);
- username;
- Telegram ID;
- посилання на профіль;
- кількість знайдених активностей.
Нижче повинна відображатися вся історія активності.
Наприклад:
Чат №1
Повідомлення:
«Доброго дня, шукаю постачальника обладнання»
Дата
Час
Чат №2
Повідомлення:
«Цікавить вартість»
Дата
Час
Чат №3
Коментар
Дата
Час
Якщо користувач проявив активність одразу в кількох чатах, оператор повинен бачити всю інформацію в одній картці.
Виключення дублів
Якщо користувач знайдений одразу в кількох чатах, він повинен відображатися тільки один раз.
Вся знайдена активність повинна автоматично об'єднуватися.
Черга операторів
Після формування бази система повинна створювати чергу користувачів.
Оператор відкриває наступну картку і одразу отримує всю інформацію по користувачу.
Якщо одночасно працює кілька операторів:
- один користувач не повинен одночасно потрапити двом операторам;
- картка повинна автоматично закріплюватися за оператором на час обробки.
Після завершення обробки автоматично відкривається наступний користувач.
Статуси обробки
Після дзвінка оператор повинен вибрати один з статусів.
Необхідно реалізувати:
- Взяв клієнта;
- Недоступний;
- Не додзвонився;
- Відмова;
- В роботі;
- Перезвон;
- Видалити.
Після вибору статусу система автоматично відкриває наступного користувача.
Повторна видача
Необхідно передбачити можливість налаштування повторної видачі оброблених користувачів.
Наприклад:
- не видавати повторно;
- видавати через 30 днів;
- через 60 днів;
- через 90 днів.
Налаштування повинні бути доступні адміністратору.
Пошук
Необхідний пошук за:
- ім'ям;
- username;
- Telegram ID.
Фільтрація
Бажано реалізувати фільтрацію:
- за статусами;
- за оператором;
- за періодом;
- за чатом.
Статистика
Мінімально хотілося б бачити:
По кожному оператору:
- скільки клієнтів оброблено;
- скільки успішних;
- скільки відмов;
- скільки недозвонів;
- скільки знаходиться в роботі.
Загальна статистика:
- кількість знайдених користувачів;
- кількість нових;
- кількість оброблених.
База даних
Переважно PostgreSQL.
Необхідно зберігати:
- користувачів;
- активності;
- статуси;
- історію обробки;
- чергу операторів;
- список відстежуваних чатів.
Адміністрування
Бажано наявність адміністративного інтерфейсу.
Це може бути:
- веб-панель;
- або адміністративний розділ Telegram-бота.
Через нього повинно бути можливим:
- управляти чатами;
- управляти операторами;
- запускати збір;
- переглядати статистику;
- змінювати основні налаштування.
Масштабування
Хотілося б, щоб архітектура спочатку передбачала можливість подальшого розвитку.
Наприклад:
- підключення кількох Telegr