Loyalty

  1. Домой
  2. Документация
  3. Loyalty
  4. Инструкция пользователя
  5. Промокоды

Промокоды

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

По нажатию на [Добавить] открывается страница пула промокодов, в которой необходимо заполнить [Название]. После чего возможно добавить необходимые промокоды через деталь Промокоды.

  • Параметр [Можно гасить многократно] указывает на то, что данный пул промокодов можно применять множество раз.
  • Параметр [Возможность генерации] устанавливается для автоматического генерирования промокодов
    *Если признак [Возможность генерации] отключен, в кампаниях\достижениях данный пул выбрать невозможно.
Настройки пула промокодов

Внимание! Промокоды являются лицензируемым объектом. При превышении числа активных контактов в системе, создание и редактирование записей будет ограничено.

Для использования пула в ходе кампании заполните поля [Маска кода] и [Максимальное количество промокодов]. Поле [Маска кода] содержит шаблон для генерации новых персональных промокодов.
В поле [Количество возможнных вариантов промокода] будет выведено количество возможных комбинаций.

Настройки пула для генерации промокодов

При некорректно заполненной маске кода будет выведено соответствующее уведомление

Уведомление о некорректном заполнении маски промокодов

Внимание! Промокод в рамках одного пула является уникальным, поэтому шаблон должен соответствовать такому количеству промокодов, которое значительно превышает количество возможных участников кампании. В противном случае кампания завершится на этапе генерации с ошибкой.

Внимание! Данная проверка предотвращает запуск генерации по шаблону, не способному сформировать необходимое количество промокодов. Для предотвращения ошибок в ходе выполнения кампании, значение [Максимальное количество промокодов] должно быть рассчитано корректно. Методика расчета описана ниже.

Формирование Маски кода

Для генерации промокода используется библиотека Fare. Шаблон, принимаемый библиотекой, соответствует стандарту регулярных выражений языка Java. Точная логика разбора выражения и ограничения библиотеки описаны в документации.

Синтаксис регулярных выражений достаточно подробно описан в следующей статье в разделе [Синтаксис регулярных выражений].

Для формирования промокодов мы рекомендуем использовать следующие метасимволы:

  • Метасимволы для группировки символов
МетасимволНазначение
[абв]любой из перечисленных (а,б, или в)
[a-z]диапазон (латинские символы от a до z с учетом регистра)
[a-zA-Z]слияние диапазонов (латинские символы от a до z без учета регистра)
  • Метасимволы для обозначения количества символов. Всегда следует после символа или группы символов.
МетасимволНазначение
?один или отсутствует
*ноль или более раз
+один или более раз
{n}n раз
{n,}n раз и более
{n,m}не менее n раз и не более m раз

Примеры масок

МаскаПример кодаОписание
WELCOME[0-9]{8}WELCOME50183332слово и 8 случайных цифр
SORRY[0-9A-Z]{4}SORRY6LWZслово и 4 случайные цифры или заглавные латинские буквы
.{8}XW1;=X%08 случайных символов
[А-Я]{4}[а-я]{4}ТПЫЦуаяп4 заглавные буквы и 4 строчные
\D{3}\d{2}!Vp823 не цифры и 2 цифры

Расчет Максимального количества промокодов

Для расчета количества промокодов которое способен предоставить шаблон, необходимо вычислить сумму размещений без повторения группировок символов в регулярном выражении.

Размещение группировки A вычисляется по следующей формуле:

A = n^k,

где n — количество символов в группировке, k — количество повторений символа.

Полная формула для вычисления максимального количества промокодов N принимает следующий вид:

N = A1 + A2 + … + Ai + … + An,

где Ai — размещение без повторений для i-ой группировки, i ∈ [1,n], n — количество группировок в регулярном выражении.

Пример расчета

Рассмотрим расчет для шаблона «WELCOME[0-9]TEXT[a-z0-9]{4}PROMO[а-я]{3}». Данный шаблон содержит 3 группировки символов «[0-9]», «[a-z0-9]{4}» и «[а-я]{3}». Данные группировки включают следующее количество символов:

Группировкаnk
[0-9]101
[a-z0-9]{4}26+104
[а-я]{3}333

Подставим значение в формулу.

N = 10^1 + 36^4 + 33^3 = 1 715 563

Мы выяснили что по данному шаблону можно сгенерировать 1 715 563 промокода. Если возможная аудитория кампании превышает или близка к данному значению, то количество повторений символа в группировке необходимо увеличить.

Пример маски кода для генерации промокодов
Материал был полезен? Да 3 Нет 1