models.py- файл с моделями базы данных (создание структуры БД).populate_db.py- скрипт для заполнения базы данных случайными данными с использованием Faker.bot_database.db- файл базы данных SQLite с созданными таблицами и данными.README.md- данный файл с описанием проекта и инструкциями.
-
Контакты (Contacts)
- Информация о клиентах.
-
Сегменты (Segments)
- Группы контактов для таргетированной рассылки.
-
Источники контактов (ContactSources)
- Определяет, откуда поступил контакт (CRM, ручная загрузка и т.д.).
-
Мессенджеры (Messengers)
- Подключенные мессенджеры для коммуникации.
-
Сценарии бота (BotScripts)
- Сценарии продаж, по которым обучен бот.
-
Переписки (Conversations)
- История общения между ботом и клиентами.
-
Сообщения (Messages)
- Отдельные сообщения в рамках переписки.
-
Задачи (Tasks)
- Задачи, создаваемые при выявлении интереса.
-
Интеграции (Integrations)
- Интеграции с CRM системами и мессенджерами.
-
Пользователи (Users)
- Менеджеры, которым назначаются задачи.
id(PK)name- Имя контактаphone- Телефонemail- Электронная почтаsource_id(FK) - Ссылка на источник контактаsegment_id(FK) - Ссылка на сегментcreated_atupdated_at
id(PK)name- Название сегментаdescription- Описаниеcreated_atupdated_at
id(PK)name- Название источника (например, "Ручная загрузка", "AmoCRM")integration_id(FK) - Ссылка на интеграцию (если применимо)created_atupdated_at
id(PK)name- Название мессенджера (например, "ChatApp", "Umnico")integration_id(FK) - Ссылка на интеграциюis_active- Статус активностиcreated_atupdated_at
id(PK)name- Название сценарияcontent- Содержание сценарияcreated_atupdated_at
id(PK)contact_id(FK) - Ссылка на контактmessenger_id(FK) - Через какой мессенджер идет перепискаscript_id(FK) - Используемый сценарийstatus- Статус переписки (активна, завершена)started_atended_at
id(PK)conversation_id(FK) - Ссылка на перепискуsender- Отправитель (бот или клиент)message_text- Текст сообщенияtimestampis_ai_generated- Флаг ИИ-сгенерированного сообщения
id(PK)contact_id(FK) - Ссылка на контактuser_id(FK) - Ссылка на менеджераcrm_id(FK) - Ссылка на CRM системуdescription- Описание задачиstatus- Статус задачиcreated_atupdated_at
id(PK)name- Название интеграцииtype- Тип (CRM, мессенджер)settings- Настройки подключенияis_activecreated_atupdated_at
id(PK)name- Имя пользователяemailrole- Роль (менеджер, администратор)created_atupdated_at
- Contacts имеет связь многие-к-одному с Segments и ContactSources.
- Conversations связана с Contacts, Messengers и BotScripts.
- Messages связана многие-к-одному с Conversations.
- Tasks связана с Contacts, Users и Integrations.
- Integrations используются в ContactSources и Messengers.
-
Универсальность схемы:
- Контакты могут поступать из разных источников благодаря таблице ContactSources.
- Мессенджеры хранятся в отдельной таблице, что позволяет легко добавлять новые.
-
Обработка контактов:
- Contacts содержит базовую информацию о клиентах.
- Segments позволяют группировать контакты для таргетированных кампаний.
-
Переписка с клиентами:
- Conversations отслеживает каждую сессию общения.
- Messages хранит историю сообщений, включая флаг
is_ai_generatedдля ИИ-сообщений.
-
Интеграции с CRM и мессенджерами:
- Таблица Integrations управляет настройками для внешних систем.
-
Создание задач для менеджеров:
- При выявлении интереса у клиента создается Task, которая может быть передана в CRM через интеграцию.