Блоки в редакторе сценариев
Сценарий состоит из цепочки блоков, которые последовательно запускаются в фоновом режиме. Какие блоки есть в сценариях:
Что такое сценарий и как его создать
События
Событие — это действие, которое система может отследить. События наступают в результате действий подписчика: если он открыл письмо, кликнул по ссылке или достиг целевой страницы на сайте. Сценарий реагирует на События: они могут запускать его или быть одним из шагов.
Стартовые события
Каждый сценарий начинается со Стартового события, которое запускает в работу всю цепочку: как только подписчик его выполнит, он попадёт в сценарий. В редакторе сценариев этот блок появляется автоматически, его нельзя удалить или заменить другим:

Какие бывают Стартовые события:
- Без стартового события,
- Подписчик открыл email,
- Telegram-сообщение доставлено,
- Email доставлен,
- Смена сегмента,
- Изменение данных подписчика,
- Клик по ссылке,
- Подтверждение подписки,
- Подписчик добавлен неподтверждённым,
- Подписчик добавлен подтверждённым,
- Добавление в список при импорте,
- Открытие целевой страницы,
- Подтверждение формы,
- Заполнение формы,
- Отписка от всего,
- Отписка от отправителя,
- Пользовательское событие.
Не все Стартовые события могут быть обычными шагами в сценарии. Например, События Подписчик добавлен неподтверждённым и Подписчик добавлен подтверждённым можно найти только в блоке Стартового события:

Виды Событий в сценариях
Без стартового события (описание в API) — подписчик станет участником сценария, если его туда добавят принудительно. Например, с помощью блока Сценария Перейти в другой сценарий или через действие Добавить участников:

Подписчик открыл email (описание в API) — подписчик открыл транзакционное письмо, отправленное по любому или указанному шаблону.

Здесь есть две группы шаблонов: можно указать, что сценарий будет реагировать на открытие письма, отправленного в текущем сценарии; либо на открытие письма, отправленного в другом автоматическом сценарии. При выборе шаблона вы увидите его превью.
Некоторые почтовые клиенты не сообщают системе об открытии письма. Чтобы статистика оставалась корректной, каждый клик по ссылке в письме автоматически засчитывается ещё и как открытие — иначе возможна ситуация, когда у письма есть несколько кликов, но нет открытий.
Если хотите отслеживать интерес к письму, не ставьте в сценарии блок Подписчик открыл email перед блоком Клик по ссылке, а ориентируйтесь на событие клика.
С помощью этого События можно отслеживать открытие указанного письма в других сценариях — для этого проставьте галочку в чекбоксе.
Если Событие Подписчик открыл email указано Стартовым, в качестве шаблона можно выбрать только письмо, отправленное в другом сценарии.
Email доставлен — сработает, когда письмо, отправленное по указанному шаблону, будет успешно доставлено.

Чтобы Событие сработало, необходимо проставить галочку у пункта После доставки запускать событие «Email доставлен» для сценариев в дополнительных настройках шаблона:

Telegram-сообщение доставлено — это событие сработает, когда Telegram-выпуск будет успешно доставлен.

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

Здесь можно указать:
- какой сегмент покинул подписчик,
- к какому сегменту присоединился подписчик,
- какой сегмент покинул и к какому сегменту присоединился подписчик в результате изменения данных.
Если подписчик попал под условия сегмента не по причине изменения данных, событие Смена сегмента не сработает.
Изменение данных подписчика (описание в API) — событие сработает, когда изменятся указанные данные подписчика. При этом неважно, как изменились данные — главное, что они отличаются от предыдущих.

Чтобы отслеживать изменение точного значения данных, необходимо включить соответствующий свитчер:

- Было до изменения — Событие сработает, если указанное значение данных изменилось на любое.
- Стало после изменения — сработает, если любое значение данных изменилось на указанное.
- Было до и стало после — сработает, если значение данных, указанное «до», изменились на значение, указанное «после».
Например, при указании таких условий:
Город → Стало после изменения → равно → Москва
Событие сработает, если значение поля Город в анкете подписчика изменится на Москва. При этом неважно, какое значение поля было «до».
Клик по ссылке (описание в API) — событие наступит, когда подписчик кликнет по указанной ссылке в сообщении, ранее отправленном в этом сценарии.

Если это Событие добавлено в качестве Стартового, то оно отреагирует на клик по указанной ссылке в массовой рассылке, отправленной обычным способом, — после этого подписчик попадет в сценарий. При необходимости можно указать, чтобы событие отслеживало клики по любым ссылкам.
Для отслеживания кликов по группе ссылок можно указать маску для URL, используя спецсимволы:
| Спецсимвол | Описание | Пример |
|---|---|---|
| * | Заменяет любое количество символов | Если нужно отследить клики по всем ссылкам, URL-адрес которых начинается с https://example.com/blog/ (включая указанную страницу), укажите маску для ссылки в формате https://example.com/blog/* |
| ? | Заменяет один любой символ | Если нужно отследить клики по всем ссылкам, URL-адрес которых начинается с https://example.com/blog/20ХХ (где XX — это любые символы), укажите маску в формате https://example.com/blog/20?? |
Подтверждение подписки (описание в API) — произойдёт, когда пользователь подтвердит свою подписку через письмо подтверждения (Double Opt-In).

Неподтверждённым адресам можно отправлять только письма подтверждения.
Подписчик добавлен неподтверждённым (описание в API) — наступит, когда пользователь попадёт в базу контактов без согласия на рассылку — например, через импорт. Пользователей с неподтверждённым статусом можно, например, добавлять в списки, или менять их данные.

Это Событие можно добавить в сценарий только как Стартовое.
Подписчик добавлен подтверждённым (описание в API) — сработает, когда подписчика добавят в базу контактов уже подтверждённым (с согласием на рассылку).

Событие Подписчик добавлен подтверждённым можно указать только в блоке Стартовое событие — например, в сценарии приветственной цепочки.
Как настроить приветственную серию писем: пошаговая инструкция
Добавление в список при импорте — сработает при импорте подписчика в указанный список, когда:
- подписчик добавляется впервые через «Добавление подписчика» или форму подписки;
- либо через «Добавление подписчика» или форму подписки приходят новые данные уже добавленного подписчика.

Событие Добавление в список при импорте можно указать только в качестве Стартового. Оно сработает, если в дополнительных настройках импорта будет включена галочка «Учитывать изменение данных для запуска триггеров»:
Открытие целевой страницы (описание в API) — Событие произойдёт, если подписчик посетит страницу сайта, на которой размещен код универсального счётчика. С помощью такого счётчика можно отслеживать посетителей сайта и путь подписчиков, которые перешли на сайт из email-рассылок.

Подтверждение формы (описание в API) — событие сработает, когда пользователь перейдёт по ссылке из письма-подтверждения, подтвердив тем самым заполнение формы подписки на сайте.

Заполнение формы (описание в API) — произойдёт, если посетитель сайта заполнит указанную форму и отправит свои данные в систему.

Отписка от всего (описание в API) — наступит, когда подписчик отпишется от всех рассылок кликом по ссылке «Отписаться» внутри письма.

После наступления События подписчик попадёт в стоп-лист Отписались от всех рассылок и больше не будет получать письма.
Отписка от отправителя (описание в API) — подписчик отписался от одного из отправителей (любого или конкретного). Чтобы подключить отписку от отправителя, .

Пользовательское событие — сработает, когда в Sendsay поступит информация о действии клиента на сайте или в приложении: например, клик по кнопке или оформление заказа.

Чтобы настроить событие:
Введите тип события — значение поля
typeиз JSON-тела события, которое ваша система передаёт в Sendsay.При необходимости добавьте условия по данным события — тогда участники перейдут на следующий шаг, только если данные, переданные вместе с событием, соответствуют указанным условиям. Чтобы выбирать поля из выпадающего списка, опишите их в словарях. Если полей в словарях нет, укажите ключ поля вручную — его можно посмотреть в JSON-теле события.
Как настроить блок Событий
Если нужно отследить одно из нескольких Событий, в блок можно добавить несколько Событий, которые будут работать по логике ИЛИ. Тогда подписчик перейдёт к следующему шагу сценария при наступлении одного из вариантов:
Чтобы отследить одно из нескольких Событий:
- Добавьте нужный блок События.
- В этом же блоке нажмите кнопку «Добавить» и выберите другой вариант Со бытия.
- Если необходимо, добавьте ещё одно или несколько Событий, повторив пункт 2.
Если нужно добавить последовательное наступление Событий, добавьте два блока подряд с помощью кнопки плюса +, указав в каждом нужное Событие. Это может понадобиться, например, когда нужно отреагировать каким-то действием на то, что подписчик открыл два письма:
Таким образом события будут отслеживаться последовательно, а не параллельно: подписчик сначала должен открыть первое письмо, а затем — второе, иначе он «застрянет» на первом событии.
Разветвления Событий в сценарии
Сценарий может идти не последовательно, а с разветвлением вариантов Событий. Например, если необходимо разбить базу на списки, можно отправить письмо-опрос с несколькими вариантами ответов и несколькими ссылками. В зависимости от того, по какой ссылке кликнет подписчик, он попадёт в тот или иной список:
Запасной вариант
Чтобы участники сценария не «застревали» на полпути, существует запасной вариант. Например, если подписчик не совершил никаких действий, то сможет пройти дальше по сценарию спустя указанное в запасном варианте время. Его можно настроить:
Запасной вариант можно отключить с помощью переключателя:

Дополнительные варианты Событий
Чтобы разветвить сценарий, существуют дополнительные варианты Событий, которые работают по логике ИЛИ. То есть сработать может только один вариант: Событие в основном блоке или в любом из дополнительных. Так, при наступлении указанного в варианте События, подписчик начнёт двигаться по ветке именно этого варианта.
Если в сценарий добавить два одинаковых варианта Событий, приоритет будет у того, что расположен левее в основном блоке цепочки. Например, здесь подписчики будут попадать в список «Активные»:
Чтобы создать в сценарии несколько веток в зависимости от действий подписчика:
- Добавьте блок с нужным Событием.
- Справа от блока нажмите кнопку плюса
+и добавьте ещё один блок, ука зав другое Событие. - Под каждым блоком Событий нажмите кнопку плюса
+и разместите блоки необходимых действий.
Действия
Блок Действий позволяет настроить последовательное выполнение действий системы в автоматических сценариях. Например, отправить email, добавить участника сценария в список или изменить данные подписчика.

Какие бывают Действия:
- Отправить подписчику email,
- Отправить email подтверждения,
- Добавить в список,
- Изменить данные подписчика,
- Исключить из списка,
- Вызвать Webhook,
- Отправить SMS,
- Отправить Web Push уведомление,
- Отправить сообщение в Telegram,
- Отправить Mobile Push уведомление.
Если в сценарии нужно выполнить несколько действий подряд, их можно добавить в одном блоке с помощью кнопки «Добавить», — тогда каждое Действие сработает по очереди. Например, можно сначала исключить подписчиков из одного списка, а затем добавить в другой:

Для всех действий, связанных с отправкой сообщений (например, Отправить подписчику email или Отправить SMS), доступна статистика по выпускам. Чтобы её посмотреть, наведите курсор на метрики в блоке действия.
Виды Действий в сценариях
Отправить подписчику email (описание в API) — система отправит письмо участнику сценария по указанному шаблону:

В шаблоне должны быть заполнены поля Адрес отправителя и Тема письма, иначе письмо не отправится.
Отправить email подтверждения (описание в API) — система отправит участнику сценария в статусе «Неподтверждённый» выбранное письмо подтверждения. Если подтверждение не требуется, шаг будет игнорирован.

В шаблоне письма должна быть указана специальная ссылка, при клике на которую пользователь подтвердит свою подписку на рассылку.
Активация через письмо подтверждения
Добавить в список (описание в API) — подписчик будет добавлен в указанный список, если его там ещё нет.

Изменить данные подписчика (описание в API) — данные подписчика изменятся на указанные. Здесь есть два формата изменения данных:
-
Изменить значение поля анкеты — при выборе этого действия изменятся данные выбранного поля в анкете.

Если указанное поле в анкете уже заполнено, можно оставить текущее значение, заменить его на новое или объединить оба значения. В случае, когда указанное поле в анкете не заполнено, система может оставить его пустым или заполнить новым значением.
Например, в анкетах участников сценария необходимо заполнить город проживания, когда у некоторых подписчиков это поле уже заполнено. Тогда нужно выбрать такие настройки блока Действий:

-
Изменить данные по ключу — при выборе этого действия изменится значение указанного поля по ключу данных.

Чтобы обновить значение поля:
-
Введите или выберите нужный ключ.
-
Выберите один из режимов изменения данных:
- Замена (set) — полностью заменяет текущее значение новым. Используйте, когда нужно просто задать конкретное значение, не задумываясь о том, что было раньше.
- Обновление (update) — изменяет значение, если оно уже существует. Это безопасный способ обновить данные, не создавая новые записи случайно.
- Вставка (insert) — добавляет значение, только если его ещё не было. Полезно для заполнения нов ых данных без риска перезаписать существующие.
- Слияние (merge) — объединяет данные в виде «ключ-значение». Используйте, если вы хотите дополнить объект новыми полями или обновить существующие.
- Слияние-обновление (merge_update) — обновляет только те поля, которые уже есть. Позволяет аккуратно вносить изменения, не добавляя лишнего.
- Слияние-вставка (merge_insert) — добавляет только новые поля, не трогая существующие. Это способ дополнить объект без риска потерять текущие данные.
- Добавление в конец массива (push) — используйте, если нужно добавить новые элементы к списку.
- Добавление в начало массива (unshift) — работает как push, но добавляет элементы в начало списка — полезно для приоритетных или новых данных.
- Удаление (delete) — полностью удаляет указанные данные. Используйте этот режим, если информация больше не актуальна.
Обратите внимание, что для разных типов данных могут быть доступны разные режимы изменения.
-
Выберите источник нового значения:
-
Установить новое значение вручную — введите новое значение в открывшееся поле.
-
Подставлять новое зн ачение из другого ключа — помогает перенести значение из одного ключа в другой с учётом выбранного режима. Укажите ключ, значение которого нужно скопировать.
-
Подставлять новое значение из данных, получаемых в ответе на вебхук — копирует данные из ответа на действие Вызвать Webhook.
ВажноЧтобы опция работала, действие Вызвать Webhook должно быть добавлено отдельным шагом выше в сценарии.
Укажите ключ JSON из ответа или нажмите «Сохранить весь ответ целиком» — тогда данные запишутся в анкету в том виде, в котором они приходят в ответе. Чтобы узнать нужный ключ, отправьте тестовый запрос из блока Вызвать Webhook.
-
-
Сохраните действие.
-
Исключить из списка (описание в API) — система исключит участника сценария из выбранного списка, если он в него входит.

Вызвать Webhook (описание в API) — используется для отправки данных в сторонний сервис, — например, в CRM-систему. С помощью этого Действия можно отследить изменения статусов писем и получать уведомления о Событиях в реальном времени. Например, когда подписчик открыл email, перешёл по ссылке, заполнил форму или отписался от рассылки.

Здесь можно выбрать вариант отправки HTTP-запроса — методом GET или методом POST. Когда участник сценария окажется на шаге Вызвать Webhook, сервер Sendsay отправит HTTP-запрос на указанный вами URL-адрес. После этого данные отправятся на этот URL-адрес в указанном формате. Если необходимо передать данные участника сценария, нужно указать в URL-адресе команду подстановки ProScript.
При необходимости вы можете указать заголовок запроса и задать его значение: например, так можно передавать ключ авторизации. Заголовков может быть несколько.
Прежде чем использовать данные ответа в сценарии, вы можете отправить тестовый запрос и посмотреть, что приходит от внешнего сервиса. Для этого укажите URL-адрес, при необходимости — подписчика, и нажмите «Протестировать запрос».
Если указанного вручную адреса или идентификатора подписчика нет в базе, запрос не отправится — появится ошибка.
Ключи из ответа пригодятся, чтобы сохранить данные в Sendsay действием Изменить данные подписчика и использовать их для ветвления сценария в разделении Совпадение данных подписчика.
Как передавать данные о событиях в рассылках
Отправить SMS (описание в API) — система о тправит смс-сообщение по указанному шаблону на его телефонный номер.

Чтобы участники сценария получали смс, необходимо, чтобы у них был контакт типа телефон. Если контакт не указан, сообщение не отправится, а подписчик перейдёт на следующий шаг сценария.
Отправить смс-сообщение участнику сценария можно только в том случае, если у вас подключена такая опция за дополнительную плату.
Отправить Web Push уведомление (описание в API) — система отправит в браузер подписчика веб-пуш по выбранному шаблону.

Чтобы участники сценария получали веб-пуши, необходимо, чтобы у них был контакт типа веб-пуш— числовой идентификатор, который присваивается посетителю сайта после подписки на пуш-рассылку. Если такого контакта нет, сообщение не отправится, а подписчик перейдёт на следующий шаг сценария.
Отправить веб-пуш участникам сценария можно, если у вас подключена и настроена такая опция.