Техническое задание: Чат-бот для сбора данных и тестирования
Цель проекта
Разработать автоматизированного чат-бота, который проводит пользователя через последовательность шагов: от приветствия до выдачи результата теста и сохранения данных в CRM.
Функциональные требования
1. Логика работы бота
- Шаг 1: Приветствие. Короткое приветствие и объяснение предстоящего теста. Сбор данных на этом этапе не производится.
- Шаг 2: Тестирование. Последовательный вывод 10 вопросов теста для определения архетипа (по методологии Кирби).
- Шаг 3: Запрос контакта. После завершения теста бот сообщает: «Я посчитал результат, сейчас покажу. Оставь контакт, чтобы сохранить его и получить расширенные рекомендации».
- Шаг 4: Сбор данных. Запрос и сохранение имени пользователя и контактных данных (телефон, email или другой мессенджер).
- Шаг 5: Выдача результата.
- Краткий вывод результата теста непосредственно в чате с ботом.
- Опциональная возможность отправить пользователю расширенную расшифровку результата.
- Шаг 6: Интеграция с CRM. Автоматическая запись всех собранных данных (ответы на тест, имя, контакт, результат) в указанную CRM-систему.
2. Технические требования
- Язык реализации: Python.
- Бот должен быть реализован на «чистом» Python или с использованием популярных фреймворков (например, aiogram для Telegram).
- Необходима простая админ-панель для базового управления (просмотр статистики, возможно, редактирование вопросов).
- Архитектура должна позволять легко изменять вопросы теста и логику подсчета результатов.
- Код должен быть чистым, документированным и готовым к развертыванию.
3. Нефункциональные требования
- Удобный и понятный интерфейс общения с ботом.
- Надежное хранение промежуточных данных пользователя во время прохождения теста.
- Корректная обработка ошибок и нестандартных действий пользователя.
Ожидаемый результат
Полностью рабочий чат-бот, развернутый на сервере заказчика или предоставленный в виде исходного кода с инструкцией по установке. Бот должен выполнять полный цикл взаимодействия: приветствие → тест → сбор контактов → вывод результата → запись в CRM.