Геймификация (акции с заданиями)
Функционал находится в разработке.
Список методов АПИ для акций с заданиями
С помощью модуля Manzana Loyalty Online можно настроить такую механику акции, при которой участник ПЛ вступает в игру в мобильном приложении и последовательно выполняет задания с возможностью пропуска, получает за них награды и видит прогресс прохождения игры у себя в личном кабинете.
Например, компания проводит акцию «Больше покупок-больше скидка», необходимо в течение месяца каждую неделю покупать определенное количество товаров из разных категорий и получать за выполнение заданий растущую скидку на приобретение товаров премиум коллекции.

Рис. Акция с заданиями
Для настройки акции с заданиями в модуле лояльности предусмотрено 3 ключевых сущности: Коллекции заданий, Задания и Награды за выполнение заданий.
Также предусмотрено специально Правило для акций с заданиями.
Коллекции заданий
Для каждой отдельной акции через интерфейс настраиваются «Коллекции заданий», и к этой сущности привязывается набор заданий с определенной последовательностью выполнения, а также набор наград, которые будут выдаваться за выполнение заданий.
Для того чтобы создать Коллекции заданий, необходимо перейти через раздел меню Правила программы => в Акции с заданиями.
На каждом проекте настраивается своя кампания и партнер.
Параметры настройки Коллекции заданий:
| Поле | Описание | Обязательное поле | Редактирование |
| Наименование | Наименование коллекции заданий (акции с заданиями). Отображается в личном кабинете. | Да | Поле доступно для редактирования, заполняется вручную. |
| Внешний идентификатор | Уникальное текстовое значение. Используется для интеграции записей с внешними системами. | Нет | Поле доступно для редактирования, заполняется вручную |
| Изображение | Параметр передается в ответе на запросы МП и ЛК и используется для отображения картинки. | Нет | Поле доступно для редактирования, заполняется вручную |
| Партнер | Ссылка на партнера в системе. Можно выбрать из выпадающего списка или создать партнера из карточки. | Да | Поле доступно для редактирования, заполняется вручную |
| Дата начала действия | Дата начала действия коллекции заданий. | Да | Поле доступно для редактирования, заполняется вручную |
| Дата окончания действия | Дата окончания действия коллекции заданий. | Да | Поле доступно для редактирования, заполняется вручную |
| Возможность выбора задания контактом | Активация параметра позволяет контакту предоставить возможность акцептовать задания. Возможные значения:
| Да | Параметр доступен для редактирования, активируется вручную |
| Возможность отмены/пропуска задания контактом | Активация параметра позволяет контакту предоставить возможность отменить акцептованное задание или пропустить. Возможные значения:
| Да | Параметр доступен для редактирования, активируется вручную |
| Описание | Обобщенная информация об условиях акции с заданиями. | Нет | Поле доступно для редактирования, заполняется вручную |

Рис. Настроенная Коллекция заданий
Задания
Задания, которые относятся к Коллекции заданий, настраиваются в одноименном подразделе меню: Правила программы => Акции с заданиями => Задания.
Можно выбрать 1 из 3-х вариантов заданий:
- Приобрести товаров на определенную сумму чеков за период.
- Купить определенные товары на определенную сумму или купить требуемое количество товаров за период.
- Совершить покупку с выполнением условий по правилу. Задание считается выполненным, если у контакта имеются все расширенные атрибуты (РА) контакта, связанные с Правилом для акций с заданиями из поля «Правило для РА» в задании.
В Задании прикрепляется награда, которая будет выдаваться за его выполнение.
В каждом Задании из коллекции указывается порядок его выполнения. Порядок выполнения заданий в коллекции можно поменять. Чтобы задание заработало на процессинге, оно должно быть переведено в статус «Активно».
Параметры настройки Задания:
| Поле | Описание | Обязательное поле | Редактирование |
| Общие сведения | |||
| Наименование | Наименование задания. Отображается при поиске, а также в личном кабинете. | Да | Поле доступно для редактирования, заполняется вручную. |
| Внешний идентификатор | Уникальное текстовое значение. Используется для интеграции записей с внешними системами. | Нет | Поле доступно для редактирования, заполняется вручную |
| Изображение | Параметр передается в ответе на запросы МП и ЛК и используется для отображения картинки. | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата начала действия | Дата начала действия задания. | Да | Поле доступно для редактирования, заполняется вручную |
| Дата окончания действия | Дата окончания действия задания. | Да | Поле доступно для редактирования, заполняется вручную |
| Коллекция заданий | Ссылка на коллекцию заданий. Можно выбрать из выпадающего списка или создать из карточки. | Да | Поле доступно для редактирования, заполняется вручную |
| Номер | Числовое значение. Номер задания, задающий порядок выполнения заданий в коллекции. | Да | Поле доступно для редактирования, заполняется вручную |
| Тип задания | Параметр, определяющий тип выполнения задания. Возможные значения:
| Да | Поле доступно для редактирования, заполняется вручную |
| Тип покупки | Параметр, определяющий вариант выполнения задания по выбранному типу. Возможные значения:
| Да | Поле доступно для редактирования, заполняется вручную |
| Описание | Обобщенная информация об условиях выполнения задания. | Нет | Поле доступно для редактирования, заполняется вручную |
| Настройки задания, если в поле Тип покупки выбрано значение «Чеки за период» | |||
| Дата начала периода | Дата начала периода для выполнения задания | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата окончания периода | Дата окончания периода для выполнения задания | Нет | Поле доступно для редактирования, заполняется вручную |
| Сумма чеков от | Сумма чеков, на которую необходимо совершить покупки, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Сумма чеков со скидкой от | Сумма чеков со скидкой, на которую необходимо совершить покупки, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Настройки задания, если в поле Тип покупки выбрано значение «Товары за период» | |||
| Дата начала периода | Дата начала периода для выполнения задания | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата окончания периода | Дата окончания периода для выполнения задания | Нет | Поле доступно для редактирования, заполняется вручную |
| Сумма товаров от | Сумма товаров, которую необходимо потратить на приобретение определенных товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Сумма товаров со скидкой от | Сумма товаров со скидкой, которую необходимо потратить на приобретение определенных товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Количество товаров от | Количество товаров из списка, которое необходимо купить, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип товарной общности | Совокупность элементов товарного каталога, объединенных в списки | Нет | Поле доступно для редактирования, заполняется вручную |
| Список товаров | Список товаров, из которого необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Список подгрупп товаров | Список подгрупп товаров, из которых необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Список групп товаров | Список групп товаров, из которых необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Список подкатегорий товаров | Список подкатегорий товаров, из которых необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Список категорий товаров | Список категорий товаров, из которых необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Список брендов | Список брендов, из которых необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Список производителей | Список производителей, из которых необходимо купить заданное условиями задания количество товаров, чтобы считать задание выполненным | Нет | Поле доступно для редактирования, заполняется вручную |
| Настройки задания, если в поле Тип покупки выбрано значение «Покупка с выполнением условий по правилу» | |||
| Правило для РА | Правило для акций с заданиями с видом начисления «Расширенный атрибут контакта/карты» или Маркетинговый список, по которому контакт добавляется в маркетинговый список или ему создается РА | Нет | Поле доступно для редактирования, заполняется вручную |
| Награды за выполнения задания | |||
| Награда | Ссылка на награду за выполнение задания. Можно выбрать из выпадающего списка или создать из карточки. | Нет | Поле доступно для редактирования, заполняется вручную |
В интерфейсе настроенная карточка Задания выглядит так:

Рис. Настроенная карточка Задания (детализация)
Награды за выполнение заданий
Награды за выполнение заданий, которые относятся к Коллекциям заданий, настраиваются в одноименном подразделе меню: Правила программы => Акции с заданиями => Награды за выполнение заданий.
Возможными вариантами наград могут быть:
- Начисление бонусов
- Выпуск купона
- Акция (предложение), в этом случае для контакта создается расширенный атрибут с ключом из определения в наборе РА контакта, со значением, в зависимости от типа атрибута в этом наборе.
После сохранения заполненной формы Награды, к ней можно прикрепить задание, за которое она дается. Для предоставления награды она должна быть переведена в статус «Активно».
Параметры настройки Награды за выполнение заданий:
| Поле | Описание | Обязательное поле | Редактирование |
| Общие сведения | |||
| Наименование | Наименование награды. Отображается при поиске, а также в личном кабинете. | Да | Поле доступно для редактирования, заполняется вручную. |
| Внешний идентификатор | Уникальное текстовое значение. Используется для интеграции записей с внешними системами. | Нет | Поле доступно для редактирования, заполняется вручную |
| Изображение | Параметр передается в ответе на запросы МП и ЛК и используется для отображения картинки. | Нет | Поле доступно для редактирования, заполняется вручную |
| Коллекция заданий | Ссылка на коллекцию заданий. Можно выбрать из выпадающего списка или создать из карточки. | Да | Поле доступно для редактирования, заполняется вручную |
| Медаль | Визуализация награды в ЛК участника ПЛ. Возможные значения:
| Да | Параметр доступен для редактирования, активируется вручную |
| Название медали | Название медали, которое будет отображаться в ЛК участника ПЛ. | Нет | Поле доступно для редактирования, заполняется вручную |
| Изображение медали | Параметр передается в ответе на запросы МП и ЛК и используется для отображения картинки. | Нет | Поле доступно для редактирования, заполняется вручную |
| Описание медали | Обобщенная информация о медали. | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип награды | Параметр, в котором можно выбрать тип награды за выполнение задания. Возможные значения:
| Нет | Поле доступно для редактирования, заполняется вручную |
| Описание | Обобщенная информация о награде за выполнение задания | Да | Поле доступно для редактирования, заполняется вручную |
| Настройки награды, если в поле Тип награды выбрано значение «Начисление бонусов» | |||
| Значение бонуса | Числовое значение поощрения в виде бонуса. | Нет | Поле доступно для редактирования, заполняется вручную |
| Статусный бонус | Параметр, определяющий, какие бонусы будут начисляться: статусные или нет. Возможные значения:
Значение по умолчанию: Нет. | Нет | Поле доступно для редактирования, активируется вручную |
| Кампания | Ссылка на кампанию, в рамках которой будут начислены бонусы. Можно выбрать из выпадающего списка или создать из карточки. | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип вычисления даты начала действия | Тип вычисления даты начала действия бонусов. Возможные значения:
Если данное поле установлено в значение «Дата начисления», то бонусы начинают своё действие с момента того, как выполнилось задание. «Дата начисления + период неактивности» позволяет установить срок начала действия баллов не в момент выполнения здания, а через некоторый срок, который регламентируется полем «Период неактивности». Значение по умолчанию: Дата начисления. | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата начала действия | Дата начала действия бонусов, начисленных при получении награды. | Нет | Поле доступно для редактирования, заполняется вручную |
| Период неактивности | Период неактивности бонусов. В поле указывается число, которое в зависимости от значения поля «Тип периода неактивности» означает на сколько дней или, например, месяцев откладывается начало действия бонусов. | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип периода неактивности | Параметр определяет единицы измерения числа, указанного в поле «Период неактивности». Возможные значения:
Значение по умолчанию Дни. | Нет | Поле доступно для редактирования, заполняется вручную |
| Округление даты начала действия | Округление даты начала действия бонусов. Возможные значения:
В этом случае, если установить значение поля = Да, то бонус станет активным не в момент, когда он был начислен + период неактивности, а сразу по окончании того периода, на который приходится этот момент (округление зависит от типа периода неактивности). Т.е. округление даты начала действия балла происходит в большую сторону до 00:00 ч следующих суток. Значение по умолчанию: Да | Нет | Поле доступно для редактирования, активируется вручную |
| Тип вычисления даты окончания действия | Тип вычисления даты окончания действия бонусов. Возможные значения: • Дата начала + период действия • Фиксированная дата Если значение поля = «Дата начала + период действия», то дата окончания действия бонусов вычисляется на основании даты начала действия бонусов, к которой добавляется значение поля «Период действия». Само значение этого поля может быть выражено в днях, месяцах, кварталах, годах. | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата окончания действия | Дата окончания действия бонусов. | Нет | Поле доступно для редактирования, заполняется вручную |
| Период действия | Период действия бонусов. В поле указывается число, которое в зависимости от значения поля «Тип периода действия» означает сколько дней или, например, месяцев действуют бонусы. | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип периода действия | Тип периода действия бонусов. Возможные значения: • Дни • Месяцы • Кварталы • Года | Нет | Поле доступно для редактирования, заполняется вручную |
| Округление даты окончания действия | Округление даты окончания действия бонусов. В этом случае если установить значение поля «Да», то бонус перестанет быть активным не в момент, когда он стал активным + период действия, а сразу по окончании того периода, на который приходится этот момент (округление зависит от типа периода действия). Т.е. округление даты окончания действия балла происходит в большую сторону до 00:00 ч следующих суток. | Нет | Поле доступно для редактирования, активируется вручную |
| Настройки награды, если в поле Тип награды выбрано значение «Выпуск купона» | |||
| Период неактивности | Период неактивности купона. В поле указывается число, которое в зависимости от значения поля «Тип периода неактивности» означает на сколько дней или, например, месяцев откладывается начало действия бонусов. | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип периода неактивности | Параметр определяет единицы измерения числа, указанного в поле «Период неактивности». Возможные значения: • Дни • Месяцы • Кварталы • Года Значение по умолчанию Дни. | Нет | Поле доступно для редактирования, заполняется вручную |
| Округление даты начала действия | Округление даты начала действия купона. Возможные значения: • Да • Нет Значение по умолчанию: Да | Нет | Поле доступно для редактирования, активируется вручную |
| Период действия | Период действия купона. В поле указывается число, которое в зависимости от значения поля «Тип периода действия» означает сколько дней или, например, месяцев действует купон. | Нет | Поле доступно для редактирования, заполняется вручную |
| Тип периода действия | Тип периода действия купона. Возможные значения:
| Нет | Поле доступно для редактирования, заполняется вручную |
| Округление даты окончания действия | Округление даты окончания действия купона. Значение по умолчанию: Да | Нет | Поле доступно для редактирования, активируется вручную |
| Выпуск купона | Ссылка на созданный выпуск купонов. | Нет | Поле доступно для редактирования, заполняется вручную |
| Количество купонов | Количество купонов, положенных за выполнение задания в качестве награды. | Нет | Поле доступно для редактирования, заполняется вручную |
| Настройки награды, если в поле Тип награды выбрано значение «Акция (предложение)» | |||
| Дата начала действия | Дата начала действия расширенного атрибута (РА) контакта | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата окончания действия | Дата окончания действия расширенного атрибута (РА) контакта | Нет | Поле доступно для редактирования, заполняется вручную |
| Набор РА контакта | Ссылка на создание набора расширенных атрибутов контакта. Можно выбрать из выпадающего списка или создать из карточки. | Нет | Поле доступно для редактирования, заполняется вручную |
| Задание к награде | |||
| Задание | Добавляется как связанное представление после сохранения заполненной формы Награды. | ||
Настроенная награда в виде купона за выполнение задания:

Рис. Настроенная награда (выпуск купона) за выполнение задания
Для того, чтобы получить скидку 3% по купону необходимо настроить правило начисления Поощрение за купон, связанное с выпуском этого купона.
Правила для акций с заданиями
Правила для акций с заданиями предусмотрены для создания/обновления расширенных атрибутов контакта/карты и для добавления контактов в маркетинговые списки.
Правило содержит поля, соответствующие базовому правилу в секциях Общие сведения (кроме значение в поле Виды начисления), Параметры (Кампания, приоритет, период действия), Целевая аудитория, Фильтры по маркетинговым спискам, по чекам, по времени, по позициям с дополнительными секциями:
- Расширенные атрибуты контакта
- Расширенные атрибуты карты
- Маркетинговые списки для акций с заданиями
В правиле для акции с заданиями предусмотрено только 2 вида начисления:
- Расширенный атрибут контакта/карты (выбрано по умолчанию)
- Маркетинговый список
По кнопке «+Добавление нового элемента» для секции Расширенные атрибуты контакта в правило добавляется расширенный атрибут контакта или создается новый.

Рис. Добавление набора РА контакта в правило для акций с заданиями

Рис. Создание РА контакта для добавления в правило для акции с заданиями
Если с Правилом для акции с заданиями с видом начисления, равным РА контакта/карты, связаны активные наборы РА контакта, то для контакта, в отношении которого применилось правило при обработке чека, создается РА контакта с ключом из определения в наборе РА контакта, со значением, в зависимости от типа атрибута в этом наборе. Либо происходит обновление (если у контакта уже имеется РА с таким ключом) на указанное значение. Тип атрибута в определении РА должен соответствовать типу атрибута в наборе РА.
Аналогично добавляются, создаются и процессятся РА карты.
Для определения количества дней хранения записей расширенных атрибутов, которые связаны с правилами, используется партнерская настройка Loyalty.SystemJob.NumberDaysStorage.EARulesContact. Значение по умолчанию 365.
Правило для акций с заданиями может быть полезно для добавления контактов в маркетинговые списки. В случае, если в правиле поле Вид начисления=Маркетинговые списки и добавлены активные маркетинговые списки, то контакт, в отношении которого применилось правило при обработке чека, добавляется в соответствующий маркетинговый список (если контакт уже имеется в маркетинговом списке, то он остается в списке).
Для определения количества дней хранения контактов в маркетинговых списках, которые обновляются правилами, используется партнерская настройка Loyalty.SystemJob.NumberDaysStorage.ListContact. Значение по умолчанию 365.
Рис. Секция «Маркетинговые списки для акции с заданиями»

Рис. Добавление МС в правило для акций с заданиями
Запуск Акции с заданиями
После того как настроены Коллекции заданий, Задания, Награды за их выполнение и правила начисления для наград, акцию необходимо запустить. Запуск Коллекции заданий осуществляется по кнопке «Запустить».

Для успешного запуска все задания, прикрепленные к коллекции, должны быть в статусе «Активно». Если при попытке запуска не все связанные задания активны, пользователь видит сообщение в интерфейсе лояльности «Внимание! Не все связанные задания активны. Коллекция может быть запущена, если есть хотя бы одно связанное активное задание».

В запущенной коллекции нельзя:
- Деактивировать задания.
- Добавлять новые задания.
- Редактировать существующие задания.
После запуска статус в коллекции меняется на «Запущена».

Рис. Коллекция заданий со связанными Заданиями

Рис. Коллекция заданий со связанными Наградами за выполнение заданий
Помимо запуска акции в карточке коллекции заданий, необходимо включить партнерскую настройку Loyalty.Processing.Gametaskcollection. Если данная настройка установлена в одной из значений 1, у или Y – то функционал считается активным.
Пользователь Manzana Loyalty Online может отслеживать выполнение контактом заданий и получение наград через карточку контакта.
В карточке Контакта отображаются связанные представления «Коллекции заданий», «Задания контакта», «Награды контакта» во вкладке «Правила» после подтаба «Клубы контакта».

В карточке контакта также можно видеть информацию по начисленным бонусам и выданным купонам в качестве наград за выполнение заданий. Во вкладке «Бонусы» в параметре «Источник» начисления проставляется «Выполнение задания» для бонусов, начисленных за выполнение заданий в рамках коллекций. Во вкладке «Купоны» отображается информация по получению и гашению купонов, полученных за выполнение заданий в рамках коллекций с указанием выпуска купонов, по которому они были выпущены. Во вкладке «Выпуски» хранится информация по выпуску купонов, выданных в рамках коллекций заданий.

Рис. Бонусы, начисленные за выполнение задания, в карточке Контакта
Список методов АПИ для акций с заданиями
Для работы и отображения заданий геймификации в Личном кабинете/Мобильном приложении реализованы методы веб-сервиса OData:
- Метод получения всех коллекций - GET GameTaskCollection/GetAll (для всех сервисов: Customer, Manager, Administrator)
- Метод получения коллекции по её идентификатору - GET GameTaskCollection/Get (для всех сервисов: Customer, Manager, Administrator).
- Метод получения всех заданий по коллекции - GET GameTask/GetAllByCollection (для всех сервисов: Customer, Manager, Administrator).
- Метод получения задания по его идентификатору - GET GameTask/Get (для всех сервисов: Customer, Manager, Administrator).
- Метод получения коллекций по контакту - GET GameTaskCollection/GetAllByContact (для всех сервисов: Customer, Manager, Administrator).
- Метод добавления контакта в коллекцию заданий - POST GameTaskCollection/BindContact (для всех сервисов: Customer, Manager, Administrator).
- Метод получения всех заданий по контакту и коллекции - GET GameTask/GetAllByContactAndCollection (для всех сервисов: Customer, Manager, Administrator).
- Метод выбора текущего задания контакта - POST GameTask/BindContact (для всех сервисов: Customer, Manager, Administrator).
- Метод отмены текущего задания контакта - POST GameTask/Cancel (для всех сервисов: Customer, Manager, Administrator). Метод отменяет текущее задание контакта для того, чтобы сделать доступным для выполнения следующее по порядку номеров задание в рамках коллекции.
- Метод получения награды по её идентификатору - GET GameReward/Get (для всех сервисов: Customer, Manager, Administrator).
- Метод получения всех наград по коллекции - GET GameReward/GetAllByCollection (для всех сервисов: Customer, Manager, Administrator).
- Метод получения всех наград по контакту и коллекции - GET GameReward/GetAllByContactAndCollection (для всех сервисов: Customer, Manager, Administrator). Метод возвращает все награды, полученные контактом в рамках указанной коллекции (в случае, если не передана коллекция, то возвращаются полученные контактом награды по всем коллекциям).
- Метод получения всех заданий для получения награды - GET GameTask/GetAllByReward (для всех сервисов: Customer, Manager, Administrator). Метод возвращает все задания, для прохождения которых возможно получение указанной награды.
- Метод получения награды по заданию - GET GameReward/GetAllByGameTask (для всех сервисов: Customer, Manager, Administrator).
Проверка выполнения заданий и начисление наград осуществляется ежедневно ночным джобом.
При проверке выполнения задания учитываются возвраты.