Элементы кампании
Glossary Item Box
Общие сведения
Схемы маркетинговых кампаний в bpm’online marketing моделируются при помощи визуального дизайнера во время создания новой кампании в разделе [Кампании]. Схема кампании состоит из элементов и условий переходов между ними.
При запуске кампании создается так называемая flow-схема выполнения кампании. Элементы преобразуются в цепочку выполнения кампании и для каждого элемента рассчитывается время запуска. При этом flow-схема может значительно отличаться от визуального представления кампании в дизайнере.
Элементы кампании могут быть синхронными и асинхронными.
Синхронные – элементы, которые выполняются друг за другом в порядке, установленном flow-схемой. Переход к следующим элементам выполняется только после отработки такого элемента. При этом поток выполнения блокируется и ожидает завершения операции.
Асинхронные – элементы, выполнение которых требует ожидания завершения работы некоторых внешних систем, ресурсов, асинхронных сервисов, реакции пользователей или внешних систем (например, переход по ссылке из Email-рассылки).
Тип элементов определяет их положение во flow-схеме выполнения кампании. Первыми выполняются элементы [Добавление из группы] и [Выход из группы]. Они определяют наполнение аудитории на текущем шаге. По стрелкам аудитория кампании переходит от выполненного элемента к следующему за ним. Если для перехода заданы условия, то с их учетом выполняется фильтрация аудитории и определяется время выполнения следующего элемента.
Механизм планирования следующего запуска кампании
Планирование следующего запуска кампании выполняется по следующему алгоритму:
1. Расчет времени следующего запуска элемента выполняется в зависимости от выбранного варианта перехода по времени:
- Выбран вариант "В течение дня". Дата и время следующего выполнения данного элемента вычисляется по формуле:
Дата и время выполнения = текущие дата и время + N минут/часов,
где N — значение поля [Количество], указанное пользователем.
- Выбран вариант "Через несколько дней". Следующее выполнение данного элемента планируется по формулам:
Дата = [текущая дата+N дней],
где N - значение поля [Количество], указанное пользователем.
Время выполнения = указанное пользователем время.
- Выбран вариант "Без задержки". Следующее выполнение данного элемента планируется на время ближайшего запуска кампании.
2. По варианту, описанному в п.1, рассчитывается время запуска для каждого элемента схемы кампании.
3. После сравнения всех значений выбирается ближайшее время запуска и устанавливается как время следующего запуска кампании.
4. Формирование списка элементов, которые будут выполнены при следующем запуске. В список попадают все элементы, время запуска которых равно времени следующего запуска кампании (см. п. 2, 3).
Основные классы элементов кампании
JavaScript-классы
Базовым классом схемы элемента является класс ProcessFlowElementSchema. Класс CampaignBaseCommunicationSchema является родительским для всех элементов группы [Коммуникации]. Для элементов группы [Аудитория] родительским классом является CampaignBaseAudienceSchema.
При создании элемента новой группы элементов рекомендуется сначала реализовать базовую схему элемента этой группы, а потом унаследовать каждый элемент от нее.
Каждой схеме соответствует схема страницы редактирования свойств элемента. Базовая схема страницы редактирования – BaseCampaignSchemaElementPage. Каждая новая страница элемента расширяет базовую.
Класс CampaignSchemaManager управляет схемами элементов, доступных в системе. Он наследует основную функциональность класса BaseSchemaManager.
С#-классы
Классы простых элементов
CampaignSchemaElement — базовый класс. От него наследуются все другие элементы.
SequenceFlowElement — базовый класс для элемента [Безусловный переход].
ConditionSequenceFlowElement — базовый класс для элемента [Условный переход].
EmailConditionalTransitionElement — класс элемента перехода по откликам.
AddCampaignParticipantElement — класс элемента добавления аудитории (участников кампании).
ExitFromCampaignElement — класс элемента выхода из аудитории.
MarketingEmailElement — класс элемента Email-рассылки.
Классы исполняемых элементов
CampaignProcessFlowElement — базовый класс. От него наследуются все другие исполняемые элементы.
AddCampaignAudienceElement — класс элемента аудитории.
ExcludeCampaignAudienceElement — класс элемента выхода из аудитории.
BulkEmailCampaignElement — класс элемента Email-рассылки.