SRT Трансформер

Это один из важнейших трансформеров (преобразователей), который определяет правила размещения модулей в вашем письме.

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

Он разделен на 3 раздела:

  • START - Старт часть (начальная) — здесь вы можете определить, какие модули должны быть размещены в самом начале автоматически сгенерированной области.

  • REPEATABLE - Повторяемая часть — здесь вы можете установить правило, какие модули должны использоваться для каждого цикла (круга). Это очень полезно, если вы хотите чередовать разные модули или использовать определенные модули на каждом круге X.

  • TAIL - Хвостовая часть — это место, где вы можете установить правило для отображения конкретного модуля в случае, если в вашем источнике данных недостаточно элементов (товаров), чтобы завершить весь круг из повторяемой области.

Вот краткий пример использования трансформатора SRT. Допустим, вы хотите разместить в самом начале автоматически сгенерированной области письма следующие модули:

  • модуль с большим баннером в зависимости от предпочтений пользователя, затем

  • модуль с большим статическим баннером (независимо от предпочтений пользователя), затем

  • модуль с двумя контейнерами внизу для всех остальных предметов (продуктов), затем

  • модуль с тремя контейнерами в 1 строку на 3 круге повторяющегося раздела с товарами для детей в случае наличия в источнике данных категории «дети», после этого

  • последний модуль должен быть еще и большим баннером на случай, если осталось нечетное количество товаров.

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

Как и на практике, выбранный порядок модулей, вероятно, будет таким же для некоторых других ваших электронных писем; у нас есть возможность работать с правилами SRT с помощью методов REST (например, сохранять/повторно использовать и удалять их). Таким образом, после того, как вы настроили и сохранили свои правила SRT, их можно повторно использовать снова — просто вызовите их по имени и установите несколько параметров конфигурации, необходимых для применения в вашем конкретном шаблоне электронной почты.

Дополнительную информацию о том, как работать с правилами SRT и поддерживаемыми правилами, вы можете найти в описании методов REST API.

Однако пойдем по порядку создания.

Сначала, чтобы начать генерировать письмо с помощью Stripo API, мы распределим подготовку по этапам.

Этап 1: Сохраняем наши элементы: баннеры и карточки товаров в модули.

Я сохранил этот простой баннер как модуль:

И задал модулю уникальный ID: structure_banner_top

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

И задал модулю уникальный ID: empty_structure_3_containers

Теперь подготовим наши карточки товаров.

Карточки товаров должны иметь Smart-свойства, чтобы данные автоматически проставлялись в них.

Как настроить Smart свойства?

Статья https://support.stripo.email/ru/articles/5462454-what-are-the-smart-element-and-how-to-use-them поможет вам в этом.

По сути, нужно установить уникальные переменные для элементов карточки товара:

Затем установить соответствующие уникальные классы для этих элементов в коде:

Сохраняем только один смарт-контейнер как модуль и устанавливаем его ID: product_card

Сохраните другие нужные структуры и модули и установите их ID.

Первый этап ГОТОВ!


Этап 2: Создаем автогенерируемую область в нужном шаблоне для создания электронного письма.

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

Самый простой пункт — последний. По сути, этот шаблон может иметь некоторые статические элементы, такие как верхний и нижний колонтитулы и т. д. Так же он должен иметь, по крайней мере, одну полосу со специальным классом, необходимым для определения места, куда именно будет вставляться контент при вызове метода Generate Email.

Для этого добавьте пустую полосу с одним столбцом и добавьте класс esd-email-gen-area="name_of_area" к тегу td полосы в редакторе кода, где name_of_area — заданное имя.

Пример полосы с областью автогенерации электронной почты, которая называется product-area.

<td class="esd-stripe" align="center" esd-email-gen-area="products-area">

Готово!


Этап 3: Токен JWT для аутентификации всех вызовов REST API

  • Получите токен JWT для аутентификации всех вызовов REST API.

Чтобы сгенерировать токен JWT, перейдите в настройки проекта > прокрутите вниз до раздела «Доступ к REST API» и скопируйте его.

  • REST API информация

Stripo API — это стандартный REST API, который поддерживает базовые операции CRUD и может использоваться сторонними приложениями для автоматизации создания шаблонов писем и планирования их дальнейшего экспорта и рассылки.

Каждый запрос POST ДОЛЖЕН ИМЕТЬ заголовок Content-Type. В настоящее время мы принимаем только контент типа 'application/json'.

Запрос данных передается в API путем отправки объектов JSON в конечные точки API с соответствующими параметрами. Документация для каждого вызова API будет содержать более подробную информацию о параметрах, принимаемых вызовом.

  • API Endpoint

Все URL-адреса API, перечисленные в этой документации, относятся к: https://stripo.email/emailgeneration/v1/

Например, вызов /email доступен по адресу: https://stripo.email/emailgeneration/v1/email

  • Скачиваем Postman

  • Аутентификация

Как только вы получите токен JWT, вам придется использовать его при каждом вызове API. Значение токена всегда должно быть указано в заголовке каждого запроса, как показано в примере ниже:

Stripo-Api-Auth: YOUR_JWT_TOKEN

Давайте проверим, что токен действителен:

Для этого нажмите "+" в левом верхнем углу скриншота и создайте новую коллекцию.

Затем установите метод GET и добавьте /validate к URL-адресу API.

( https://stripo.email/emailgeneration/v1/validate )

Пожалуйста заполните поля Key и Value:

Key

Value

Stripo-Api-Auth:
YOUR_JWT_TOKEN
Content-Type
application/json

Теперь вы можете отправить вызов GET, нажав синюю кнопку «ОТПРАВИТЬ», и если у вас есть ответ «действителен»: true в теле, ваш токен действителен. Статус 200 оk.

Для получения дополнительной информации о кодах состояния, пожалуйста, следуйте здесь.

Мы можем использовать 4 метода для SRT трансформера:

1. Сохраняем новое SRT правило /srt

Этот метод позволяет сохранить новое правило SRT с заданным именем для дальнейшего повторного использования в методе генерации электронной почты.

SrtConfigDto объект

{ name: String, config: JSON }

2. Получить список всех SRT правил /srtnames

Этот метод позволяет получить список всех сохраненных правил SRT для проекта. В ответ будет возвращен массив с именами всех правил SRT.

GetSrtConfigNamesDto объект

[ { name: String } ]

3. Получить конфигурацию для конкретного SRT правила /srt?name={name}

Этот метод позволяет получить конфигурацию для уже сохраненного правила SRT. В параметре GET требуется указать имя нужного.

В результате вы увидите объект SrtConfigDto, описанный в методе Сохранить новое правило SRT.

4. Удалить конкретное SRT правило /srt?name={name}

Этот метод позволяет удалить уже сохраненное правило SRT. В параметре GET требуется указать имя нужного.

В случае успешной обработки запроса вы получите код ответа 200-OK с пустым телом.

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

Этап 4: Используя 1-й метод /srt создаем и сохраненяем правила SRT в Postman

Скачиваем Postman.

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

Это более удобный способ в сравнении с каноническим json, поскольку вы передаете идентификаторы только ваших сохраненных модулей.

В соответствии с Этапом 3 создайте еще одну Новую коллекцию, нажав на значок «+».

Затем установите метод POST и добавьте /srt к URL-адресу API.

( https://stripo.email/emailgeneration/v1/srt )

Пожалуйста, установите те же два ключа на вкладке Headers:

Key

Value

Stripo-Api-Auth:
YOUR_JWT_TOKEN
Content-Type
application/json

Затем переключитесь на вкладку Body, выберите raw тип, и вы готовы создать свое правило SRT.

Описание структуры необходимых параметров для JSON:

Пролистайте ниже для описания каждого следующего поля.

{
start: [
{
id: String
}
],
repeatable: [
{
id: String,
rules: {
enum
}
}
],
tail: [
{
id: String
}
]
}

где:

start, repeatable, tail — это названия разделов, в которых должны быть установлены правила расположения модулей;

id — уникальный ID модуля, сохраненного в библиотеке;

rules — имя условного правила, примененного к конкретному модулю. Список поддерживаемых условных правил можно найти в Приложении.

Можно установить параметр skipValue:true для любого модуля, если вам не нужно применять к нему контент.

Для более подробной информации, пожалуйста, кликните сюда.

Посмотрите наш образец JSON:

// INSERTED DATA
{
"name": "Name of your SRT",
"config": {
"start": [
{
"id": "structure-smart-100"
},
{
"id": "structure-simple-30-30-30",
"content": [
{
"id": "product-card"
},
{
"id": "banner-block",
"skipValue": true
},
{
"id": "product-card"
}
]
}
],
"repeatable": [
{
"id": "structure-smart-100",
"rules": {
"every": 2
}
},
{
"id": "banner2-100",
"skipValue": true,
"rules": {
"only": 4
}
},
{
"id": "structure-simple-50-50",
"content": [
{
"id": "product-card"
},
{
"id": "product-card"
}
],
"rules": {
"start": 2
}
}
],
"tail": [
{
"id": "tail-banner-100",
"skipValue": true
},
{
"choice": [
{
"id": "structure-simple-50-tail",
"content": [
{
"id": "product-card"
},
{
"id": "product-card"
}
],
"rules": {
"records": 2
}
},
{
"id": "structure-smart-100-tail",
"mapping": {
"p_big_image": "p_image"
},
"rules": {
"records": 1
}
}
]
}
]
}
}

Как вы могли видеть из нашего примера JSON, я использовал правила rules.

Правила являются условиями для ваших элементов и отвечают за действие, которое будет применено к определенному элементу, где это правило будет добавлено.

Например:

Правило «every»: 2 означает, что элемент будет отображаться каждый второй круг в повторяемом разделе.

Число «2» также является номером петли.

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

Этап 5: Генерация письма на основе сохраненного правила SRT

Структура запроса:

// QUERY STRUCTURE
{
dataSources: DataSourceDto[],
transformers: TransformerDto[],
composers: ComposerDto[],
templateId: Long,
emailId: Long,
emailName: String,
title: String,
preheader: String
}

Вы передаете необходимые только данные ваших смарт-модулей в источник данных и устанавливаете тип трансформера - srt.

Config - ваше сохраненное srt правило

{
"dataSources":[
{
"name":"Dnepr",
"type":"RAW",
"value":[
{
"p_name":"Smart watch Amazfit GTS 2 mini (Black) Dnepr", "p_image":"https://lgjfwj.stripocdn.email/content/guids/CABINET_68e73c39d0a290d4ae9b44abaab36c1e/images/70911617265374547.png",
"p_price":"$70"
},
{
"p_name":"Apple iPhone 12 Pro Max 128GB Graphite", "p_image":"https://lgjfwj.stripocdn.email/content/guids/CABINET_68e73c39d0a290d4ae9b44abaab36c1e/images/90671617265373265.png",
"p_price":"$1410"
},

{
CONTINE PASSING ALL YOUR NECESSARY DATA FOR SMART MODULES
}

]
}
],
"transformers":[
{
"type":"srt",
"config":{
"name":"Your_saved_SRT_rule"
}
}
],
"composers":[

],
"templateId":"1234567",
"emailName":"Name_for_your_email",
"title": "Your title",
"preheader": "Your preheader"
}

Готово. Ваше письмо будет сгенерировано в плашке Письма.

Если у вас есть какие-либо вопросы, пожалуйста, напишите нам по адресу support@stripo.email

Вы нашли ответ?