Задачи чат-бота: информирование клиентов, сбор информации, ответы на типовые вопросы, приём текстовых заказов. Платформа: Telegram, веб-сайт. Продукт: Бизнес сайт. Техзадание есть. Пожелания и особенности: 1. Введение Цель проекта: Создать систему, которая автоматически обрабатывает входящие сообщения и звонков из чатов (Авито и сайта - заявки а также чат Jivo ), определяет город клиента и отправляет уведомления дежурным инженерам по SMS Основные требования: • Полная автоматизация процесса (без ручного вмешательства). • Минимальная задержка между сообщением клиента и уведомлением инженера • Простое управление базой инженеров. 2. Функциональные требования 2.1. Источники данных • Интеграция с чатом Авито: o Использование API Авито или вебхуков для получения сообщений. o Парсинг данных: текст сообщения, ID клиента, город клиента, когда указано в объявление или заявке. • Интеграция с живым чатом на сайте: o Подключение через API или JS-виджет (например, JivoSite, LiveTex). o Получение: текста сообщения, IP-адреса клиента (для определения города). ( по возможности ) 2.2. Определение города Приоритеты: 1. Из данных Авито (если город указан в объявлении). 2. По IP-адресу (для чата на сайте, используя сервис типа SypexGeo). 3. Запрос у клиента: o Автоматическое сообщение: «Укажите ваш город для связи с инженером». o Парсинг ответа (например, «Ковров» → город = Ковров). 2.3. Работа с инженерами • База данных инженеров: o Формат: PostgreSQL/MySQL или Google Sheets (если нужен простой вариант). o Структура: Город | Телефон | Имя | • Логика выбора инженера: o Поиск в базе по городу → отправка уведомления первому в списке инженер который свободен и сейчас на смене 2.4. Отправка уведомлений • Способы отправки: o SMS: Через API (SMS.ru, SMSC, Twilio). Текст: Новый запрос из чата: [текст из самого чата]. Город: [город]. Текст сообщения клиента + город 2.5. Администрирование • Веб-интерфейс для админа: o Возможности: Добавлять/удалять инженеров. Менять города и телефоны. Смотреть статистику (количество запросов, время ответа). o Технологии: Django Admin или React + REST API. 2.6. Логирование и аналитика • Сохранение истории: o Все сообщения клиентов и инженеров. o Время ответа. • Выгрузка отчетов: CSV/Excel (по запросу). 3. Нефункциональные требования • Производительность: o Обработка сообщения → отправка SMS: <30 секунд. • Безопасность: o Шифрование номеров телефонов в базе. o HTTPS для всех API. • Масштабируемость: o Поддержка 100+ запросов/день. 4. Технологический стек • Backend: Python (Django/FastAPI) или Node.js. • Frontend (админка): React или Django Admin. • База данных: PostgreSQL/MySQL. • СМС-шлюз: SMS.ru, Twilio. • Хостинг: VPS (Selectel, Yandex.Cloud) или облако (AWS). 5. Этапы разработки Этап 1. Прототип (MVP) • Интеграция с 1 источником (Авито). • Отправка SMS через API. • Ручное управление инженерами (Google Sheets). Этап 2. Полная версия • Подключение живого чата. • Автоматическое определение города. • Админ-панель. Этап 3. Тестирование • Проверка на 50+ реальных запросах. • Исправление багов. 6. Критерии приемки 1. Система определяет город в 90%+ случаев. 2. SMS доставляется инженеру в течение 5 минуты. 3. Админка позволяет редактировать базу инженеров.