Wymagana jest opracowanie systemu automatyzacji wyszukiwania potencjalnych klientów w Telegramie
Opis projektu
Szukam programisty do stworzenia systemu, który automatycznie znajdzie aktywnych użytkowników w czatach Telegram i utworzy wygodną kolejkę do pracy działu sprzedaży.
Obecnie menedżerowie ręcznie przeglądają około 800 czatów Telegram, szukają użytkowników, którzy niedawno wykazali aktywność, następnie otwierają ich profil i kontaktują się z nimi przez Telegram.
Konieczne jest maksymalne zautomatyzowanie tego procesu.
Interesuje mnie nie tylko napisanie kodu, ale stworzenie niezawodnego systemu, który w przyszłości będzie można rozwijać i modyfikować.
Główne zadanie
System powinien automatycznie:
- śledzić dużą liczbę czatów Telegram;
- zbierać użytkowników, którzy wykazali aktywność w wybranym okresie;
- łączyć całą aktywność jednego użytkownika;
- wykluczać duplikaty;
- tworzyć kolejkę operatorów;
- zapisywać historię obsługi klientów.
Źródło danych
Aby uzyskać informacje, należy użyć Telegram Client API.
Preferowane jest użycie:
- Telethon;
- lub Pyrogram (jeśli programista uzna tę opcję za bardziej odpowiednią).
Użycie Telegram Bot API do odczytu zewnętrznych czatów nie jest odpowiednie.
Praca powinna odbywać się przez autoryzowane konto Telegram (userbot).
Monitorowanie czatów
Konieczne jest zapewnienie pracy z około 800 czatami Telegram.
Administrator powinien mieć możliwość samodzielnego:
- dodawania nowych czatów;
- usuwania czatów;
- tymczasowego wyłączania monitorowania;
- włączania monitorowania z powrotem;
- ładowania listy czatów z pliku;
- przeglądania listy podłączonych czatów.
Konto Telegram powinno być członkiem tych czatów.
Zbieranie aktywności
System powinien zbierać maksymalnie pełny zakres informacji, który technicznie pozwala uzyskać Telegram.
Minimalnie należy rejestrować:
- wiadomości;
- komentarze;
- odpowiedzi na wiadomości;
- inne publicznie dostępne działania użytkownika.
Jeśli Telegram pozwala na uzyskanie informacji o reakcjach użytkowników — pożądane jest wdrożenie tej funkcjonalności.
Jeśli istnieją ograniczenia Telegram, proszę od razu je opisać i zaproponować optymalną opcję realizacji.
Tryby pracy
Konieczne jest wdrożenie dwóch trybów.
1. Zbieranie historii
Administrator wybiera okres.
Na przykład:
- od soboty do poniedziałku.
Po tym system analizuje historię wiadomości za wybrany okres i tworzy listę użytkowników.
2. Automatyczne monitorowanie
Po początkowym uruchomieniu system powinien automatycznie otrzymywać nowe zdarzenia Telegram w czasie rzeczywistym bez ponownej analizy całej historii.
Karta użytkownika
Każdy użytkownik powinien być wyświetlany tylko raz.
Łączenie powinno być realizowane według Telegram ID, a nie według username.
Na karcie użytkownika należy wyświetlać:
- imię;
- nazwisko (jeśli jest);
- username;
- Telegram ID;
- link do profilu;
- liczbę znalezionych aktywności.
Poniżej powinna być wyświetlana cała historia aktywności.
Na przykład:
Czat nr 1
Wiadomość:
„Dzień dobry, szukam dostawcy sprzętu”
Data
Godzina
Czat nr 2
Wiadomość:
„Interesuje mnie cena”
Data
Godzina
Czat nr 3
Komentarz
Data
Godzina
Jeśli użytkownik wykazał aktywność w kilku czatach, operator powinien widzieć wszystkie informacje w jednej karcie.
Wykluczenie duplikatów
Jeśli użytkownik został znaleziony w kilku czatach, powinien być wyświetlany tylko raz.
Cała znaleziona aktywność powinna być automatycznie łączona.
Kolejka operatorów
Po utworzeniu bazy system powinien tworzyć kolejkę użytkowników.
Operator otwiera następną kartę i od razu otrzymuje wszystkie informacje o użytkowniku.
Jeśli jednocześnie pracuje kilku operatorów:
- jeden użytkownik nie powinien jednocześnie trafić do dwóch operatorów;
- karta powinna być automatycznie przypisana do operatora na czas przetwarzania.
Po zakończeniu przetwarzania automatycznie otwiera się następny użytkownik.
Statusy przetwarzania
Po rozmowie operator powinien wybrać jeden ze statusów.
Konieczne jest wdrożenie:
- Wziąłem klienta;
- Niedostępny;
- Nie dodzwoniłem się;
- Odmowa;
- W pracy;
- Oddzwonić;
- Usunąć.
Po wyborze statusu system automatycznie otwiera następnego użytkownika.
Ponowna wydanie
Konieczne jest przewidzenie możliwości ustawienia ponownej wydania przetworzonych użytkowników.
Na przykład:
- nie wydawać ponownie;
- wydawać po 30 dniach;
- po 60 dniach;
- po 90 dniach.
Ustawienia powinny być dostępne dla administratora.
Wyszukiwanie
Potrzebne jest wyszukiwanie po:
- imię;
- username;
- Telegram ID.
Filtrowanie
Pożądane jest wdrożenie filtrowania:
- po statusach;
- po operatorze;
- po okresie;
- po czacie.
Statystyka
Minimalnie chciałbym widzieć:
Po każdym operatorze:
- ile klientów przetworzono;
- ile udanych;
- ile odmów;
- ile nie dodzwoniono;
- ile znajduje się w pracy.
Ogólna statystyka:
- liczba znalezionych użytkowników;
- liczba nowych;
- liczba przetworzonych.
Baza danych
Preferowane PostgreSQL.
Koniczne jest przechowywanie:
- użytkowników;
- aktywności;
- statusów;
- historii przetwarzania;
- kolejki operatorów;
- listy monitorowanych czatów.
Administracja
Pożądane jest posiadanie interfejsu administracyjnego.
Może to być:
- panel webowy;
- lub sekcja administracyjna bota Telegram.
Przez niego powinno być możliwe:
- zarządzanie czatami;
- zarządzanie operatorami;
- uruchamianie zbierania;
- przeglądanie statystyki;
- zmiana podstawowych ustawień.
Skalowanie
Chciałbym, aby architektura od początku przewidywała możliwość dalszego rozwoju.
Na przykład: