Техническое задание: Чат-бот для сбора данных и тестирования

Цель проекта

Разработать автоматизированного чат-бота, который проводит пользователя через последовательность шагов: от приветствия до выдачи результата теста и сохранения данных в CRM.

Функциональные требования

1. Логика работы бота

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

2. Технические требования

  • Язык реализации: Python.
  • Бот должен быть реализован на «чистом» Python или с использованием популярных фреймворков (например, aiogram для Telegram).
  • Необходима простая админ-панель для базового управления (просмотр статистики, возможно, редактирование вопросов).
  • Архитектура должна позволять легко изменять вопросы теста и логику подсчета результатов.
  • Код должен быть чистым, документированным и готовым к развертыванию.

3. Нефункциональные требования

  • Удобный и понятный интерфейс общения с ботом.
  • Надежное хранение промежуточных данных пользователя во время прохождения теста.
  • Корректная обработка ошибок и нестандартных действий пользователя.

Ожидаемый результат

Полностью рабочий чат-бот, развернутый на сервере заказчика или предоставленный в виде исходного кода с инструкцией по установке. Бот должен выполнять полный цикл взаимодействия: приветствие → тест → сбор контактов → вывод результата → запись в CRM.