Вітаю, так проект бачу я як замовник, в ТЗ включенні основні задачі що потрібно реалізувати одрузу, та задачі на майбетне.
Можливо я не до кінця розумію специфіку роботи цієї системи, готовий розглягути можливість платної консультаціі від людини що мала з цим справу.
Основні компоненти та функціональні вимоги:
1. Веб-платформа з підключенням через WhatsApp Business API:
- Платформа інтегрується із номером WhatsApp Business через API.
- Веб-інтерфейс дозволяє взаємодіяти з клієнтськими повідомленнями та призначати необхідних співробітників на діалоги.
2. Ролі та права доступу користувачів:
- Оператор чату: головний користувач, який бачить усі вхідні повідомлення, розподіляє їх між співробітниками та контролює діалоги.
- Співробітники: користувачі, яким оператор чату призначає діалоги, обмежені у правах, без можливості перенаправлення чатів або перегляду всіх діалогів.
3. Механізм призначення співробітників до діалогів:
- Оператор чату бачить вхідні повідомлення та призначає їх співробітнику, який вестиме діалог з клієнтом.
- Можливість увімкнути або відключати співробітників від конкретного чату.
- Співробітники можуть отримувати повідомлення про призначення, переходити до чату та вести листування.
4. Можливість підключення ІІ в майбутньому:
- Залишити відкритий API-інтерфейс для подальшого додавання ІІ-функціоналу, який дозволить автоматично відповідати на повідомлення клієнтів.
5. Безпека та конфіденційність:
- Сервер для розгортання системи повинен знаходитись у Німеччині та відповідати вимогам захисту персональних даних, таких як шифрування даних у базі та контроль доступу до чату.
- Резервне копіювання даних, щоб забезпечити їх збереження.
6. Базові звіти щодо дій (необов'язкове):
- Поки що аналітика не потрібна, але варто передбачити можливість додавання базових звітів у майбутньому (наприклад, кількість діалогів, статистика з підключення співробітників).
Нефункціональні вимоги:
- Гнучкість для масштабування (можливість додавання нових користувачів та ролі).
- Висока продуктивність: платформа повинна витримувати великий потік повідомлень та запитів.
- Інтуїтивний інтерфейс для оператора чату та співробітників, з можливістю швидкого призначення та управління діалогами.
Якщо ці моменти влаштують, можна переходити до детального опису інтерфейсів та визначення API.
1. Інтерфейс користувача (UI)
Головна панель оператора чату:
- Список вхідних повідомлень: оператор бачить усі поточні активні чати з клієнтами. Кожний чат має відображати ім'я клієнта (якщо є), номер телефону, останнє повідомлення та час його надсилання.
- Призначення співробітників: поряд з кожним вхідним повідомленням – кнопка або меню, що дозволяє вибрати співробітника для підключення до діалогу.
- Фільтри та пошук: можливість фільтрації чатів за статусом (призначено, не призначено) та пошуку за ім'ям або номером клієнта.
- Повідомлення про нові повідомлення: в реальному часі оператору повинні надходити повідомлення про нові повідомлення від клієнтів.
Панель співробітника:
- Список призначених чатів: відображає лише ті чати, до яких співробітник був підключений оператором.
- Чат-інтерфейс: дозволяє надсилати та отримувати повідомлення від клієнта, відображати історію повідомлень та прикріплювати файли (якщо підтримується WhatsApp API).
- Повідомлення про нові призначення: співробітник отримує повідомлення, якщо оператор призначає новий чат.
2. Управління ролями та правами
Інтерфейс адміністратора для налаштування ролей:
- Створення ролей та користувачів: адміністратор може створювати користувачів із певними ролями (оператор, співробітник).
- Налаштування прав: можливість призначати та обмежувати доступ на рівні чату. Наприклад, оператор бачить усі чати, а співробітники лише призначені.
3. API-структура
Основні методи для інтеграції з WhatsApp Business API:
- Отримання повідомлень: дозволяє системі отримувати вхідні повідомлення від клієнтів у реальному часі.
- Надсилання повідомлень: надсилання текстових повідомлень та мультимедіа від співробітників через платформу.
- призначення співробітників на чати: метод для зв'язку між конкретним клієнтським діалогом і співробітником, призначеним оператором.
Методи управління користувачами:
- Створення та оновлення користувачів: додавання нових співробітників та операторів, зміна їх ролей.
- Отримання списку користувачів та ролей: отримання інформації про всіх користувачів системи та їх ролі.
4. Безпека та конфіденційність
- Аутентифікація та авторизація: всі користувачі повинні проходити аутентифікацію з використанням унікальних логінів та паролів. Система має підтримувати захист паролів.
- Шифрування даних: шифрування повідомлень та персональних даних клієнтів, особливо під час зберігання на сервері.
- Логи та контроль доступу: запис дій користувачів для аудиту та дозволу доступу лише до авторизованих ресурсів.