Здравствуйте, так проект вижу я как заказчик, в ТЗ включены основные задачи, которые нужно реализовать сразу, и задачи на будущее.
Возможно, я не до конца понимаю специфику работы этой системы, готов рассмотреть возможность платной консультации от человека, который имел с этим дело.
Основные компоненты и функциональные требования:
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. Безопасность и конфиденциальность
- Аутентификация и авторизация: все пользователи должны проходить аутентификацию с использованием уникальных логинов и паролей. Система должна поддерживать защиту паролей.
- Шифрование данных: шифрование сообщений и персональных данных клиентов, особенно во время хранения на сервере.
- Логи и контроль доступа: запись действий пользователей для аудита и разрешение доступа только к авторизованным ресурсам.