Как загрузить пул промокодов и выдавать их в боте

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

Преимущества

  • Автоматизация. Бот сам выдаёт код из пула — не нужно вручную отправлять коды операторам или клиентам
  • Контроль расхода. Каждый код выдаётся только один раз — исключены дубли и «утечка» промокодов
  • Прозрачная статистика. По каждому коду видно статус (доступен/выдан), кому и в каком чате он был выдан, дату создания
  • Группировка по акциям. Промокоды объединяются в группы — удобно вести несколько акций параллельно, не путая коды между собой

Шаг 1. Создайте группу промокодов

Группа — это «контейнер» для промокодов одной акции. Именно к группе будет обращаться бот при выдаче кода.

  1. Перейдите в раздел «Маркетинг» → «Промокоды»
  2. Нажмите «Создать группу»
  3. Укажите «Название группы» (например, «Летняя акция»)
  4. Нажмите «Создать»

Шаг 2. Добавьте промокоды в группу

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

  1. Нажмите «Создать промокод»
  2. Выберите вкладку:
    • «Вручную» — если у вас уже готов конкретный код. Укажите Группу, сам Код и, при необходимости, Срок действия
    • «Сгенерировать» — система сама сформирует код по заданным параметрам. Укажите Группу, Длину кода (без префикса), при желании — Префикс (например, abs), включите «Добавить цифры» и задайте Срок действия
  3. Нажмите «Создать» (при ручном вводе) или «Сгенерировать»

Совет: чтобы наполнить пул из нескольких кодов, повторите шаг «Сгенерировать» нужное количество раз с одной и той же группой, префиксом и длиной — каждый раз система создаст новый уникальный код. Ручной ввод подойдёт, когда у вас уже есть конкретные коды из внешней системы или согласованные с маркетингом.

Шаг 3. Проверьте список промокодов

Все коды группы отображаются в общем списке с колонками:

  • Код — сам промокод
  • Статус — «Доступен» (ещё не выдан) или «Выдан»
  • Группа — к какой акции относится
  • Чат — кому и через какой чат был выдан код (заполняется автоматически при выдаче)
  • Истекает — срок действия, если задан
  • Создано — дата и время создания

Ненужный код можно удалить через меню «…» рядом с записью.

⚠️ Удаление кода необратимо. Если код уже выдан клиенту — удалять его не стоит, иначе клиент не сможет им воспользоваться.

Шаг 4. Подключите выдачу промокода в сценарии бота

Выдача кода настраивается в узле бота через расширенный режим (DTL-код), в блоке «Действия».

  1. Откройте нужный узел в конструкторе бота
  2. Включите блок «Действия»
  3. Перейдите в «Расширенный режим (DTL-код)»
  4. Пропишите обращение к группе промокодов и логику сохранения результата:
{# обращаемся к группе промокодов "Летняя акция" и забираем 1 промокод #}
{% promocode.issue from_group="Летняя акция" as res %}
{# если нет свободных промокодов, то нужно пометить человека тегом #}
{% if not res %}
{% profile.set_tag "bot_promo_error" %}
{# если есть, то сохраняем промокод #}
{% else %}
{% save_variable "bot_promo" res %}
{% endif %}
  1. Дальше по сценарию используйте переменную bot_promo для отправки кода клиенту, например: Ваш промокод: {{bot_promo}}
  2. Если сработал тег bot_promo_error — направьте пользователя на альтернативный узел (например, «Промокоды закончились, ожидайте новую акцию»)

⚠️ Обязательно предусмотрите ветку на случай, если промокоды в группе закончились — без обработки if not res бот может отправить пустое сообщение вместо кода.

Чек-лист внедрения

  1. Создали группу промокодов под конкретную акцию
  2. Загрузили коды — вручную или генерацией
  3. Проверили статусы в общем списке
  4. Прописали в узле бота DTL-код выдачи (promocode.issue from_group=...)
  5. Обработали случай отсутствия свободных кодов (if not res)
  6. Протестировали сценарий на себе перед запуском на клиентов