Создание сценария
Мастер создания сценариев представляет собой визуальную канву для построения логики коммуникаций с контактами через drag-and-drop перетаскивание блоков и соединение их линиями связи.
Канва
Для того чтобы создать сценарий, перейдите в Рассылки ➔ Сценарии. После того, как имя сценария было задано, вы попадете на канву, на которой необходимо размещать блоки.
На канве можно найти различные инструменты, которые могут помочь вам при работе:
- Режимы перемещения по канве/выбора объектов (V)
- Отмена и повтор действия (Ctrl+Z и Ctrl+Shift+Z)
- Масштабирование - с помощью колеса мыши (Ctrl+scroll) или лупы в нижнем меню
- Полноэкранный режим (Ctrl+O)
- Показ/скрытие превью сценария (Ctrl+M)
Кроме инструментов навигации доступно еще несколько полезных функций:
- Скачивание сценария в формате изображения
- Список всех горячих клавиш
Блоки
Настройки блоков находятся справа в сайдбаре. Перетащите блок на канву и откройте настройки двойным кликом.
Для каждого сценария обязательно создать хотя бы один начальный и завершающий блок. Остальные блоки вы можете комбинировать на свое усмотрение и задачи.
Начальный блок - это событие, которое должно произойти, чтобы контакт начал прохождение сценария. Вы можете использовать несколько начальных и финальных блоков внутри одного сценария. Важная настройка начального блока - «Обработка дубликатов». Она регулирует поведение сценария в случае, если один и тот же контакт начинает его, еще не завершив предыдущее прохождение. Будьте внимательны, так как при использовании нескольких начальных блоков эта настройка будет синхронизирована и применена в каждом из них.
Начальные блоки
- подписка - старт сценария при подписке с сайта, по АПИ, через импорт контактов, сегмент, карточку контакта или после разрешения на отправку Mobile Push
- на конкретную группу рассылок - контакт начнет сценарий, когда подпишется на выбранную группу рассылок
- на группу рассылок с учетом сегмента - контакт начнет сценарий, когда подпишется на выбранную группу рассылок и в том случае, если подойдет под условия выбранного сегмента (проверка на сегмент будет происходить в момент подписки на группу, т.е. в момент старта сценария)
- на любую группу рассылок с учетом сегмента - контакт начнет сценарий, когда подпишется на любую из созданных в аккаунте групп рассылок и в том случае, если подойдет под условия выбранного сегмента (проверка на сегмент будет происходить в момент подписки на группу, т.е. в момент старта сценария)
- на Mobile Push - контакт начнет сценарий, когда разрешит отправку Mobile Push в приложении
- сообщение - клик (по любой или указанной ссылке) или открытие выбранного сообщения
- API - получение АПИ-запроса на старт сценария с предварительной проверкой контакта на соответствие условиям выбранного сегмента (выбор сегмента необязателен)
- изменение данных -
- старт при изменении поля данных контакта на любое, отличное от текущего, значение или же на указанное
- старт при изменении email на любое значение, заполненное или пустое (если ранее имевшийся у контакта email был удален)
- расписание - старт по заданному расписанию с обязательной проверкой на соответствие сегменту (контакт начнет сценарий только в том случае, если подойдет под его условия)
- пользовательское событие - старт происходит при получении пользовательского события и при условии, что переданные в событии параметры соответствуют настроенным в блоке ограничениям
Основные блоки
- отправка сообщения - доступные каналы: Емейл, Mobile Push, СМС, WhatsApp. Подробнее о создании сообщений сценариев читайте здесь;
- пауза - ожидание:
- перед наступлением следующего события
- ожидание конкретной даты
- до/после даты в выбранном поле сценария
- до/после даты в выбранном поле данных;
- распределение:
- по сегментам - контакт пойдет по пути того сегмента, под условия которого он подходит. Если контакт удовлетворяет условиям нескольких сегментов - он перейдет по ветке первого подходящего
- по полям сценария - контакты пойдут по той ветке, которой удовлетворяет их значение в поле сценария. Если контакт подойдет под условия сразу нескольких веток - он перейдет по первой подходящей
- поровну - контакты будут делиться на равные группы по числу настроенных веток
- по долям - контакты будут делиться в настраиваемом вами соотношении по задаваемому количеству групп (веток сценария).;
- изменение данных - значение выбранного поля данных контакта, проходящего через блок, будет изменено. Если поле будет выбрано, но новое значение не задано, то при прохождении блока значение в этом поле затрется на пустоту;
- API-запрос - укажите эндпоинт, тип запроса, заголовки, задайте параметры и тело (можно использовать динамический контент)
Завершающий блок
- первый вариант настройки не совершает никаких действий с контактами
- переподписать на группы рассылок - при завершении сценария контакт можно отписать от групп рассылок и подписать на группы рассылок. Нельзя выбрать одну и ту же группу в отписке и подписке.
- удалить контакт - при завершении сценария контакт будет удален, восстановить его можно в разделе удаленных.
Если в вашем сценарии предусмотрен завершающий блок удаления контакта или отписки от всех групп рассылок сразу после блока с отправкой сообщения, то мы рекомендуем поставить между этими двумя блоками небольшую паузу. Почтовики не всегда мгновенно обрабатывают запросы на отправку сообщений, поэтому может случиться такое, что контакт будет удален или отписан от групп раньше, чем сообщение будет ему отправлено.
Создание контакта при старте сценария
По умолчанию запрос на старт сценария сработает только для контакта, который уже есть в базе (аналогичным образом удаленный контакт не будет восстановлен и не начнет сценарий). Настойка в начальном блоке “API-запрос” позволит передать в сценарий в том числе новый контакт не из базы (он будет создан, если не был найден, а сценарий для него запущен).
Особенности работы настройки создания контактов:
- если чекбокс активен, то новые и удаленные контакты будут автоматически созданы/восстановлены и начнут сценарий, для этого не потребуется отдельным запросом предварительно создавать контакты;
- чекбокс настраивается для каждого API блока отдельно, поэтому в одном сценарии может быть несколько начальных API блоков, как с активной настройкой на создание, так и с неактивной.
Обратите внимание: если для существующего (или удаленного контакта) будет передан новый, ранее не существующий у него идентификатор - он не будет добавлен этому контакту. Если вам нужна логика объединения, воспользуйтесь любым API-запросом на создание контакта, предусматривающим параметр method (например), до запроса на запуск сценария с этим контактом
Правила создания новых контактов через начальный блок API
При активной настройке создания любой передаваемый API-запросом контакт в первую очередь проверяется на существование в базе вашего аккаунта. Если контакт не был в ней найден, то далее происходит проверка на его наличие среди удаленных, если и там не было обнаружено совпадений - в enKod создается новый контакт, а сценарий с ним запускается.
Глобально идентификаторы необходимы для поиска контакта или создания нового:
- если это новый контакт - ему создаются все переданные идентификаторы;
- если в базе будет найден хотя бы один из переданных идентификаторов - запустится сценарий для этого существующего контакта, но другие переданные идентификаторы ему не записываются.
Контакт не существует (и не является удаленным)
- передан только емейл; его нет в базе - создается контакт с емейлом, с этим контактом запускается сценарий;
- передан только телефон; его нет в базе - создается контакт с телефоном, с этим контактом запускается сценарий;
- переданы и емейл, и телефон; обоих идентификаторов нет в базе - создается контакт с емейлом и телефоном, с этим контактом запускается сценарий.
Контакт в списке удаленных
Если передан удаленный контакт - он восстанавливается, а сценарий с ним - запускается. Правила восстановления:
- передан только емейл, он есть в удаленных - контакт будет восстановлен, с этим контактом будет запущен сценарий;
- передан только телефон, он есть в удаленных - контакт будет восстановлен, с этим контактом будет запущен сценарий;
- переданы емейл и телефон:
- емейл есть в удаленных, телефон не существует в базе или в удаленных - контакт с емейлом будет восстановлен, телефон ему добавлен не будет. Сценарий с контактом будет запущен;
- телефон есть в удаленных, емейл не существует - контакт с телефоном будет восстановлен, емейл ему добавлен не будет. Сценарий с контактом будет запущен;
- оба идентификатора есть в удаленных у разных контактов - восстанавливается контакт с емейлом, с этим контактом будет запущен сценарий. Контакт с телефоном восстановлен не будет, телефон останется за удаленным контактом и не будет добавлен к контакту с емейлом.
Хотя бы один идентификатор контакта есть в базе или в списке удаленных
- Передан контакт с емейлом и телефоном, при этом емейл есть в базе у контакта А, а телефон есть в удаленных у контакта B - запускаем сценарий для контакта А (с емейлом), контакт с телефоном не восстанавливается.
- Передан контакт с емейлом и телефоном, при этом телефон есть в базе у контакта А, а емейл есть в удаленных у контакта B - запускаем сценарий для контакта А (с телефоном), контакт с емейлом не восстанавливается.