Сценарий для напоминаниях о вебинарах и мероприятиях
В этой инструкции рассмотрим два базовых сценария автоматизации рассылок для вебинаров:
- простой вариант — с одним письмом;
- расширенный — с несколькими письмами, включая проверку времени регистрации для своевременной и корректной отправки каждого из них.
Отправка одного письма до начала вебинара
Рассмотрим самый простой вариант – отправка одного письма-напоминания за определенное время до начала вебинара. Сценарий будет выглядеть следующим образом:
Шаг 1. Сценарий будет начинаться с блока API-запроса (Начальные блоки → API) – этот запрос необходимо отправлять в enKod с сайта, когда пользователь зарегистрируется на вебинар. Запрос будет содержать поля сценария, в которых будет передана необходимая информация о событии. Тело запроса, как правило, выглядит подобным образом:
{ "email": "[email protected]", "scenarioFields": { "name": "Название вебинара", "date_webinar": "Дата, соответствующая формату из документации" } }
- Передача идентификатора контакта - email (или телефон, если нужно отправлять SMS);
Важно! Контакт обязательно должен быть в базе контактов enKod.
- В параметре name (можно назвать иным удобным вам именем) передается название вебинара, чтобы выводить его в письмо. Аналогичным образом можно добавить любые другие требующиеся параметры (например: спикер, ссылка на вебинар и т.д.);
- В параметре date_webinar (можно назвать иным удобным вам именем) необходимо передавать дату начала вебинара;
Все параметры нужно предварительно создать внутри редактора сценария (как поля сценария) и присвоить им соответствующий тип данных. Эти изменения вносятся в разделе Рассылки → Сценарии → Мастер создания сценария → Поля сценария
Шаг 2. Добавить основной блок «Пауза», в котором контакт будет пребывать до наступления определенного времени (например, пока не останется 1 час до вебинара).
Если в поле с датой вебинара передать прошедшую дату, то контакт мгновенно пройдет блок паузы и перейдёт к отправке письма.
• Если вы не регистрируете пользователей на вебинар уже после его начала, то такого происходить не будет.
• Если же такие кейсы в вашем случае вероятны, то вы можете использовать метод abort() в верстке сообщения для неотправки подобного письма: для этого нужно дополнительно передавать дату регистрации пользователя на вебинар и сравнивать её с датой вебинара – если она позже, то «абортить письмо».
Шаг 3. На этом этапе нужно отправить письмо контакту:
- можно сделать это с помощью блока «Отправка сообщения». В таком случае контакт должен быть предварительно подписан хотя бы на одну группу рассылок по выбранному каналу
- альтернативный вариант - блок «API-запрос», если вам нужно отправлять транзакционное письмо. Для этого требуется создать данное письмо в платформе и передавать в API-запросе поля сценария в качестве сниппетов.
В отправляемом письме нужно будет настроить динамический контент, чтобы поля сценария подставлялись в тело сообщения.
Шаг 4. Финальный этап - блок «Завершение сценария» (или, по необходимости, вы можете настроить продолжение.
Например, если у вас есть вебинары, после проведения которых нужно отправлять пользователю письмо на тему «Как вам вебинар?». Тогда в изначальный API-запрос можно добавить булево поле isAskAfter
, в котором передавать true
, если надо отправлять сопроводительное письмо, и сделать по нему распределение на ветку с отправкой этого письма (с помощью основного блока «Распределение»).
Отправка двух и более писем до начала вебинара
Концепция остаётся той же, только теперь до начала вебинара нужно отправить 3 письма:
- первое – за 24 часа,
- второе – за 1 час,
- третье – за 15 минут.
В этом варианте сценария вебинаров важно учесть кейсы, когда пользователь зарегистрировался позже одного письма, но раньше другого. Например, за 3 часа до начала: в этом случае мы не должны отправлять ему первое письмо, которое уходит за 24 часа. Для этого необходимо:
- в изначальном API-запросе передавать время регистрации пользователя на вебинар,
- после - в каждом отправляемом письме прописать код, который будет проверять, не зарегистрировался ли человек позже того времени, в которое нужно было отправить ему данное письмо. Пример кода для проверки времени:
var difference = TimeParse(scenarioField.date_webinar) - TimeParse(scenarioField.date_registration); if(difference < 3600) Abort();
Это пример кода для неотправки (с помощью метода Abort()
) письма за 1 час (= 3600 секунд). Если это письмо за 2 часа, то укажем 7200, т.к. в 2-х часах 7200 секунд, и по аналогии для остальных промежутков (5 минут – 300, 24 часа – 86400 и т. д.).