Описание блоков (группа "Общие")

Группа блоков “Общие” содержит базовые блоки, которые являются обязательными или участвуют в большинстве сценариев, их 6:

Группа блоков Общие

Блок “Начало”

Обязательный блок, без которого сценарий не запустится. При создании нового сценария он появляется автоматически. Если вы его случайно удалили, то установите заново: кликните на иконку блока слева или перетяните из панели в редактор. Блок “Начало” в сценарии может быть только один.

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

Блок Начало

Сценарий может не запуститься для контакта в двух случаях:

  • если на него запускалось определенное событие (например, подписался ранее на курс и уже получил обучающую цепочку);
  • он уже состоит в определенной группе (например, рассылкой нам нужно охватить новичков и не запускать на активных покупателей).

Нужное условие выбирается радиокнопкой. Выбрать можно один из видов проверки.

Завершить сценарий по событию

Завершение сценария для контакта по событию

В выпадающем списке “Выход по событию” выбирается событие, которое послужит основанием для завершения сценария.

Поиск событий производится по ключу – уникальному параметру, который есть у каждого события (его указывают в поле “Ключ” при создании события, чаще всего в этом параметре передается емейл или ID контакта). Переменная называется ${eventKey} – это универсальное название переменной для ключа события – и по умолчанию прописана в блоке. При запуске сценария проверяется выбранное событие: если событие было найдено, то сценарий на этом заканчивается.

Ключ уникальности

Важно!

Ключ события (email, ID контакта и т.д.) должен совпадать в событии, которое запустило сценарий, и событии, которое должно завершить сценарий.

Завершить сценария по вхождению в группу

Завершить сценарий, если контакт входит в группу

С помощью выпадающего списка в поле “Группа” нужно выбрать группу и, если в результате проверки система нашла, что контакт входит в нее, то сценарий для него не запустится. Человек может быть идентифицирован системой при указании одного из параметров:

  • номера телефона;
  • email;
  • ID контакта в eSputnik.

Блок “Конец”

Блок “Конец” – второй обязательный элемент, без которого сценарий не сработает. Может быть использован несколько раз. Блок означает окончание сценария. Все пути (ветки) сценария обязательно должны заканчиваться блоком “Конец”.

Блок Конец

Блок “Подождать”

Блок используется, чтобы отсрочить на заданное время следующее действие или отправку письма. Это, по сути, пауза, после которой сценарий продолжится.

Ставится перед блоком, где нужна задержка:

Блок Подождать в сценарии

Например: после подтверждения подписки стартует сценарий с welcome-серией. Человек перешел по ссылке “Подтвердить подписку” → система отправит первое письмо из цепочки → после этого выдержит паузу в 1 день и отправит второе письмо. На этом сценарий закончится.

Пример сценария с таймером

Для настройки блока “Подождать” справа задаются 3 параметра:

  • подождать
  • отправить
  • время отправки

Настройки блока

Вы может прописать все условия или несколько, но для работы блока необходимо указать минимум один параметр.

Параметр “Подождать”

Параметр Подождать

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

Важно!

Если вы выбираете подождать 1/2/3 дня – это значит, что сценарий пойдет дальше через 24/48/72 часа соответственно с момента срабатывания сценария. Если клиент подписался на вашу рассылку в 07:00, то первое письмо он получит в 07:00 следующего дня.

Параметр “Отправить”

Параметр Отправить

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

Важно!

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

Параметр “Время отправки”

Параметр Время отправки

Работает по принципу параметра “Отправить”. Если вы выставили время отправки на 8:45, а сценарий запустился в 15:00, то клиент получит письмо в 8:45 на следующий день.

Обратите внимание на логику работы данного блока. Например, вы скомбинировали параметры так:

  • подождать 1 день;
  • отправить в понедельник;
  • время отправки – 8:45.

Сценарий запустился в воскресенье в 15:00. Система ждет 1 день (24 часа). Наступает понедельник. Время окончания работы параметра “Подождать 1 день” в нашем примере – 15:00 в понедельник.
Система проверяет параметр “Отправить”. У нас выбран понедельник, сегодня понедельник – пока все хорошо.
Система проверяет параметр “Время отправки”. Условиями задано 8:45, а сейчас 15:00. Условия не сработали. Это значит, что клиент получит письмо не в этот понедельник, а только в следующий в 8:45.

Выставляйте параметры внимательно!

Рассылки в точно заданное время

Блок “Запуск по дате”

Блок используется для отправки сообщения за N дней/часов/минут до даты и времени, которые вы передаете в событии.

Настройка блока Запуск по дате

В параметре “За” указываем, за сколько до события нужно отправить сообщение: за 1 час, 3 дня, 10 минут и т. п.

В параметре “Перед датой” доступна возможность вытянуть необходимую дату из переданного события, ниже вставляем то же название, каким этот параметр прописан в самом событии. Например: ${date}.

Важно! Нужно точно передать время и дату. Допускаются два формата:

1) по времени UTC: 2011-12-03T10:15:30;

2) по времени UTC с корректировкой по таймзоне: 2011-12-03T10:15:30+02:00.

+02:00 в данном случае – это корректировка времени для событий в Украине, так как время в Киеве на 2 часа опережает время по UTC зимой.

Блок “Задача”

Цель этого блока – решить одну из задач.

  • подтвердить контакт;
  • создать контакт;
  • обязательный email;
  • создать промокод;
  • обновить контакт;
  • получить заказ;
  • запустить событие;
  • получить контакт;
  • получить промокод.

Выбор задачи для блока

Выбрать нужную задачу можно из выпадающего списка или через поиск.

Подтвердить контакт

Цель задачи – подтвердить email-адрес подписчика и сделать его активным в системе, чтобы ему приходили письма.

Например: когда человек заполняет форму подписки, контакт попадает в eSputnik с неподтвержденным email и ему на почту приходит уведомление с просьбой подтвердить подписку. Пока он не перейдет по ссылке подтверждения, контакт не будет получать рассылки. Когда человек подтверждает подписку, запускается сценарий, срабатывает задача “Подтвердить контакт” и он становится в системе активным.

Вот так выглядит подтверждения контакта:

Блок для подтверждения контакта

У задачи 2 параметра:

  • email – в этом поле по умолчанию используется переменная ${EmailAddress}, поэтому вы можете оставить это поле пустым. Вы меняете ее, только если создаете свою переменную, в которой содержится email.
  • contact_id – если вы хотите подтвердить контакт не по email, а по его ID в системе, то необходимо прописать название переменной, в которой содержится ID контакта. По умолчанию в системе она называется ${ContactId}.

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

Создать контакт

Создать контакт

Задача используется для создания контакта в системе. Если профиль с таким email-адресом уже есть, он будет обновлен. Если нет, будет создан новый контакт.

Важно!

Блок нужен только для специфических задач, когда данные передаются по API методом /v1/event и лишь часть данных нужно записать при создании контакта. Например, вы передали событие методом v1/event для контакта, которого нет в системе. С помощью этого блока вы сможете создать контакт. Для всех остальных методов этот блок не нужен.

У задачи есть  параметры:

  • Contact's email – обязательное поле для задачи, если нужно создать контакт по email. По умолчанию там уже прописана переменная ${email}. Если у вас в событии другое название переменной, надо вписать в поле именно его.
  • Phone – обязательное поле для задачи, если нужно создать контакт по по номеру телефона. По умолчанию там уже прописана переменная ${phoneNumber}. Если у вас в событии другое название переменной, надо вписать в поле именно его.
  • JSON – в этом поле прописывается строка или ставится переменная, содержащая строку в формате JSON, с данными для заполнения полей контакта (телефон, имя, фамилия, город, дополнительные поля). Если его не прописать, то запишется лишь емейл. При необходимости зафиксировать имя, фамилию, дату рождения и т.д., поле нужно заполнить обязательно.

Пример данных для поля json:

{"firstname":"...","lastname":"...","sms":"...","town":"...","profileInputs":

[{"profileInputId":10001,"value":"..."}]}

Где: 

  • profileInputs – массив дополнительных полей;
  • profileInputId – ID дополнительного поля;
  • value – значение дополнительного поля;
  • confirmed – статус email-адреса контакта (подтвержден/не подтвержден).

Важно!

Если вы хотите создать контакт неподтвержденным, то в тело запроса нужно добавить параметр "confirmed":false.

В этом случае поле json будет иметь такую структуру:

{"firstname":"...","lastname":"...","sms":"...","town":"...","profileInputs":

[{"profileInputId":10001,"value":"..."}],"confirmed":false}

Если нужно создать контакт с некоторым значением поля типа дата, тогда используйте формат вида: "DD/MM/YYYY":

{"profileInputs": [{"profileInputId":10001,"value":"11/06/2011"}]}

Если нужно создать контакт с некоторым значением поля типа дата со временем, тогда используйте формат вида: "DD/MM/YYYY HH:mm":

{"profileInputs": [{"profileInputId":10001,"value":"11/06/2011 16:42"}]}

Обновить контакт

Задача используется для обновления информации о контакте в системе, работает по принципу задачи “Создать контакт”. Единственная разница: если контакт уже есть в системе, то он обновится, а если нет – система его не продублирует, а просто пропустит.

Задача актуальна, когда нужно обновить данные контакта из события, переданного по API методом /v1/event, или если надо в сценарии задавать фиксированное значение дополнительного поля.

Задача Обновить контакт

У задачи есть 2 параметра:

  • email – обязательное поле для задачи. По умолчанию там уже прописана переменная ${email}. Если у вас в событии другое название переменной, необходимо вписать в поле именно это название. В наших системных событиях переменная называется EmailAddress. Системные события – это те, что генерируются внутри самой системы (клик по кнопке в письме, запуск регулярного сценария на группу, форма подписки, реактивация с помощью RFM-анализа). Для них в поле надо вписать ${EmailAddress}.
  • json – в этом поле прописывается строка или ставится переменная, содержащая строку в формате JSON, с данными для заполнения полей контакта (телефон, имя, фамилия, город, дополнительные поля). Формат данных такой же, как и для задачи “Создать контакт”, но параметр confirmed игнорируется.

Обязательный email

Цель задачи – отправить письмо контакту, несмотря на его статус в системе. То есть вы сможете отправить письмо на любой email (подтвержденный, неподтвержденный, отписавшийся, с пометкой “жаловался на спам”), кроме контактов из черного списка.

Важно!

Используйте этот блок исключительно при необходимости, так как он игнорирует статус контакта и возможны жалобы на спам, что потом плохо сказывается на репутации отправителя. Данный блок нужен только для отправки новому (еще неподтвержденному) подписчику письма с кнопкой подтверждения подписки, оповещений о заказе, смене тарифного плана. Во всех остальных случаях для отправки письма используйте блок Email из раздела “Действия”.

Блок Обязательный email

У блока есть 4 параметра:

  • email – поле для ввода параметра из события, в котором передается email-адрес получателя. По умолчанию в это поле ставится стандартный параметр из системных событий eSputnik – ${EmailAddress}. При использовании блока “Обязательный email” в поле email указывается название переменной из события.
  • message – обязательное поле. Выберите заранее созданное письмо, которое должно отправиться.
  • contact_id – идентификатор контакта в системе eSputnik. Может использоваться для идентификации получателя вместо email-адреса.
  • JSON – произвольные данные в формате JSON, которые передаются в письмо. Если в параметре события вы передаете строку с такими данными, то в поле JSON надо вставить название этого параметра.
    Например, вы передаете данные о заказе и необходимо в письме вывести список заказанных товаров. В этом случае в событии вы передаете данные о товарах в виде строки:

{

"name": "items",

"value": "{\"array\":[{\"name\":\"Сухая детская молочная смесь HiPP Combiotic 2, 750 г\",\"price\":\"341.00\",\"url\":\"https://site.com/catalog/suhaya-detskaya-molochnaya-smes-hipp-combiotic-2-750-g\",\"imageUrl\":\"https://site.com/uploads/product/big/20161122/20161122_7zvb.jpg\"},{\"name\":\"Молочная органическая овсяная каша с яблоком HiPP \\\"Спокойной ночи\\\", 250 г\",\"price\":\"78.00\",\"url\":\"https://site.com/catalog/molochnaya-organicheskaya-ovsyanaya-kasha-s-yablokom-hipp-spokojnoj-nochi-250-g\",\"imageUrl\":\"https://site.com/uploads/product/big/23112013/2125.jpg\"}]}"

}

В нашем примере параметр называется items. Соответственно, в поле JSON прописываем ${items}.

Получить заказ

Цель задачи – вытянуть данные из заказа и передать их в письмо. Задача актуальна, только если вы передаете данные о заказах в eSputnik методом API. Подробнее про работу с заказами.

Задача Получить заказ

Задача может использоваться в сценариях уведомления клиента о заказе, доставке и т.д. То есть везде, где необходимы данные о заказе. Блок применяется только в сценариях, где события передаются метод v1/orders.

Задача работает так:

  • в систему поступают данные о заказе;
  • данный блок вытягивает все данные, которые передаются с заказом;
  • полученные данные передаются в письмо, где они прописаны в виде переменных.

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

Запустить событие

Цель задачи – запустить какое-либо событие из сценария. Например, чтобы из одного сценария инициировать старт другого. Для использования задачи предварительно нужно создать тип события, которое мы планируем запустить.

Задача Запустить событие

У задачи есть 3 параметра:

  • eventTypeId – обязательное поле. В нем необходимо выбрать тип запускаемого события.

Параметр eventTypeId

  • keyValue – ключ события, которое мы хотим запустить. Например, здесь может быть переменная, содержащая email. Если поле не заполнено, будет использоваться ключ из события, которое запустило текущий сценарий.
  • params – массив параметров, которые мы хотим передать в запускаемое событие. Если поле не заполнено, будут переданы параметры из события, запустившего текущий сценарий. Формат параметров такой:
    [{"name":"paramName,"value":"значение параметра"}]

Создать промокод

Цель задачи – создать (сгенерировать) промокод и передать его в письмо, которое идет следующим в цепочке. Если вы выбрали метод формирования промокодов через сценарий, промокод сгенерирует система eSputnik и передаст данные в письмо. Параметры будут зашифрованы по вашему ключу алгоритмом, а при вводе такого промокода на сайте его расшифрует обратный алгоритм. Подробнее.

Задача Создать промокод

У задачи 4 параметра:

  • days – указывается количество дней до окончания действия промокода. Система их добавит к текущему числу и полученную дату окончания действия зашифрует в промокод.
  • type – тип промокода. У вас может быть 32 типа промокодов, которые вы задаете сами. Например: промокод за подписку – присвоен type 0, ко дню рождения – type 1, реактивация – type 3 и т.д. В переменной указывается число от 0 до 31, которое соответствует нужному типу.
  • discount – размер скидки. Используется для генерации промокода, когда скидка дается в процентах от суммы заказа. Это всегда двузначное число, поэтому скидки до 10% нужно дополнить нулем впереди. Например, указать 05 для подстановки в письмо 5% дисконта.
  • key – ключ шифрования. Можно не менять и оставить по умолчанию.

Важно!

Все параметры обязательны для заполнения.

За этим блоком в сценарии ставится блок отправки сообщения (Email, SMS, Viber и др.). В письме на месте промокода надо использовать переменную $!data.get('promocode').

Пример переменной в письме

Получить промокод

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

Задача Получить промокод

У задачи 3 параметра (все обязательные):

  • days – количество дней от текущей даты, в течение которых промокод еще должен быть действующим;
  • type – заданный вами для сегментации тип промокода;
  • discount – размер скидки от 01 до 99.

По ним система будет отбирать промокоды из загруженной базы. Принцип работы рассмотрим на примере. В параметрах укажем следующие данные: days – 10, type – newyear, discount – 25.

Это значит, что сценарий вытянет из базы промокод со скидкой 25%, который находится в группе newyear, и срок действия которого не меньше 10 дней. Если данному критерию соответствуют несколько промокодов, система сама выберет один из них.

За блоком "Получить промокод" в сценарии ставится блок отправки сообщения (Email, Viber, Push или SMS). В письме на место, где должен быть промокод, надо вписать переменную $!data.get('promocode').

Получить контакт

Цель задачи – получить данные о контакте и передать их в письмо или для блока “Условие”. Например, мы хотим каждый раз запускать отправку письма-уведомления с контактными данными, когда в базе появляется новый подписчик. Второй вариант – мы хотим после регистрации прислать клиенту его регистрационные данные.

Задача Получить контакт

Задача работает следующим образом:

  1. В системе создается (регистрируется) событие, которое содержит данные о контакте;
  2. Блок вытягивает все имеющиеся данные по контакту, которые хранятся в базе;
  3. Полученные данные передаются в письмо.

У блока есть 4 параметра:

  • ContactId – ID контакта в системе eSputnik.
  • EmailAddress – email-адрес контакта.
  • Phone – номер телефона контакта.
  • MobPushToken – мобильный токен контакта.

Параметры EmailAddress, ContactId, Phone и MobPushToken используются для выбора способа идентификации контакта. Одно из этих полей должно быть обязательно заполнено соответствующими данными.

Например, если вы хотите идентифицировать человека не по email, а по его ID в системе, прописываете название переменной, в которой содержится ID контакта. По умолчанию в системе она называется ${ContactId}.

В письме можно использовать такие переменные:

  • $!data.get('firstName') – имя;
  • $!data.get('lastName') – фамилия;
  • $!data.get('email') – email-адрес;
  • $!data.get('sms') – номер телефона;
  • $!data.get('contactKey') – ключ контакта;
  • $!data.get('id') – ID контакта в системе;
  • $!data.get('createdDate') – дата создания;
  • $!data.get('updatedDate') – дата последнего изменения контакта;
  • $!data.get('confirmed') – статус email-адреса контакта (true – подтвержден, false – не подтвержден);
  • $!data.get('fields').get('12345') – дополнительные поля. Вместо “12345” нужно подставить ID дополнительного поля.

Блок “Условие”

Цель блока – проверить, соблюдаются определенные условия сценария или нет. В зависимости от этого дальнейший ход сценария разделяется на две ветки:

  • если “Да”, сценарий выполняет одно действие;
  • если “Нет” – другое.

Блок имеет один вход (блок “Начало”) и 2 выхода (“Конец”): для ветки “Да” и для ветки “Нет”.

У блока “Условие” есть 5 задач:

  • Проверить событие;
  • Переменная соответствует регулярному выражению;
  • Контакт подтвержден;
  • Контакт существует;
  • Пользователь залогинился (служебная задача и в практических целях не используется).

Задачи блока Условие

По умолчанию стоит зада “Проверить событие”, другую задачу можно выбрать из выпадающего списка или через поиск.

Проверить событие

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

Задача Проверить событие

У задачи есть 2 параметра:

  • key – какой ключ события искать. Например, в качестве ключей проверяемых событий используется email-адрес. Таким образом, в этом поле должен быть параметр, содержащий email-адрес. Это параметр из события, запустившего текущий сценарий. Если он называется EmailAddress, то в поле надо написать ${EmailAddress}.
  • type – тип событий, которые проверять. Обязательное поле, без него сценарий не будет работать.

Переменная соответствует регулярному выражению

Цель задачи – проверить определенную переменную из события или полученные другими блоками данные и в зависимости от этого скорректировать дальнейший ход сценария.

Например, мы можем проверить, кто наш пользователь: мужчина или женщина, и отправить им разные сообщения.

Задача Переменная соответствует регулярному выражению

У задачи есть 2 параметра:

  • name – название переменной, которую необходимо проверить. Это может быть параметр из события. Заметьте, что в данное поле название параметра записывается без ${}. Если же мы проверяем данные, полученные другими блоками сценария(например, блок “Получить контакт”), то надо вписать в поле системную переменную smartMessageJson.
  • pattern – регулярное выражение, на соответствие с которым проверяем данные. Например: хотим проверить, что параметр address из события содержит текст “Киев”. В этом случае в pattern прописываем .*Киев.*

Пример работы и полной настройки такого блока.

Контакт подтвержден

Цель задачи – проверить, подтвержден ли емейл контакта, и в зависимости от этого скорректировать дальнейший ход сценария.

Задача Контакт подтвержден

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

В этом случае:

  1. Контакт появляется в базе eSputnik, но находится в статусе неподтвержденного;
  2. Человеку отправляется письмо с просьбой подтвердить регистрацию;
  3. Задача проверяет подтвердил человек регистрацию или нет;
  4. Если подтвердил, сценарий идет по ветке “Да” и отправляется приветственное письмо;
  5. Если еще не подтвердил регистрацию, сценарий идет по ветке “Нет”.

У задачи есть 2 параметра:

  • EmailAddress – email-адрес контакта.
  • ContactId – ID контакта в системе.

По умолчанию система проверят, подтвержден контакт или нет, по email: там уже прописана служебная переменная EmailAddress, и если в событии переменная, содержащая email, так и прописана, можно ничего не менять. Если переменная в событии называется по-другому, тогда нужно добавить в формате ${название переменной из события}. Например, ${MailAddress}.

Если вы хотите, чтобы идентификация проходила по ID контакта, необходимо в поле ContactId вписать переменную ${ContactId}.

В любом случае должен быть указан один из параметров.

Контакт существует

Цель задачи – проверить, существует контакт или нет, и в зависимости от этого скорректировать дальнейший ход сценария. Работает аналогично задаче “Контакт подтвержден”.

Задача Контакт существует

У данной задачи есть 2 параметра, как и в задаче “Контакт подтвержден”:

  • EmailAddress – email-адрес контакта.
  • ContactId – ID контакта в системе.

По умолчанию система проверяет, существует контакт или нет, по email. Если вы хотите, чтобы идентификация была по ID контакта, необходимо в поле ContactId вписать переменную ${ContactId}.

Протестируйте на реальных рассылках

Читать дальше

Часть 2. Описание блоков (группа Действия)

Часть 3. Описание блоков (группа Условия)

Остались вопросы?
Специалисты обязательно ответят и помогут решить вашу проблему!
Обратный звонок
Оставьте заявку – и наш специалист свяжется с вами в рабочее время.
Отправить заявку
Консультация в чате
Готовы к вашим вопросам!
Написать в чат
Электронная почта
Напишите в службу поддержки eSputnik.
Отправить email