Блок API тригер запускає сценарій омніканальної автоматизації, коли дані надходять із зовнішнього джерела - вашого веб-сайту, додатку, CRM або платформи на кшталт Shopify.
Отримані дані можна використовувати для персоналізації ваших імейлів за допомогою динамічного контенту на основі дій клієнта або підписника. Залежно від налаштувань, ви можете використовувати блок API тригера для відправки крапельних розсилок, транзакційних листів або персоналізованих рекомендацій.
Налаштування блоку API тригер
Щоб почати відправляти автоматичні розсилки з динамічним контентом, створіть сценарій з блоком API-тригера в редакторі сценаріїв омніканальної автоматизації та налаштуйте інтеграцію із зовнішнім джерелом.
Створення нового сценарію
Перейдіть до Сценарії та створіть новий сценарій. Виберіть вкладку Тригери на панелі внизу конструктора сценаріїв і перетягніть блок API тригера в робочу область.
Потім створіть решту сценарію, використовуючи доступні блоки та додаючи дизайни листів, щоб створити послідовність імейлів.
Наприклад, ви можете налаштувати послідовність привітань для нових підписників.
Спочатку сценарій надсилає привітального листа. Через три дні підписникам, які не перейшли за посиланням до магазину, надсилається повторний імейл зі знижкою.

Після того, як все налаштовано, запустіть сценарій - інакше дані, отримані через API, не будуть оброблятися.
Налаштування інтеграції із зовнішнім джерелом
Щоб налаштувати інтеграцію із зовнішнім джерелом, таким як веб-сайт, додаток, Webflow або Shopify, вам знадобляться розробники. Вони налаштують API-інтеграцію для надсилання POST-запитів на URL(1), що генеруються блоком API тригера.
Дані, що надсилаються в запитах, повинні бути у форматі JSON.
Кожен запит повинен містити, як мінімум, адресу електронної пошти або номер телефону клієнта (2), оскільки Selzy використовує цю інформацію для ідентифікації одержувачів. Ви також можете додати більше даних, що стосуються вашого сценарію, таких як: ім'я клієнта, промокод, перелік товарів або послуг, загальна сума замовлення тощо.

Приклад запиту:
POST https://api.selzy.com/en/api/triggerBlock/{blockId}
Content-Type: application/json
{
"email": "hello@example.com",
"products": [
{
"name": "Coffee mug",
"link": "https://example.com/link1"
},
{
"name": "Coaster",
"link": "https://example.com/link2"
}
]
}
Відповіді сервера
Якщо запит буде успішно відправлено, ви отримаєте таку відповідь:
{
"success": true
}
Якщо в запиті відсутні адреса електронної пошти та номер телефону, сервер поверне наступну помилку:
{
"error": "Error ID:... Can't define contact",
"code": "invalid_arg"
}
Якщо URL-адреса API тригера містить неправильний ID блоку API тригера, сервер поверне наступну помилку:
{
"error": "Error ID:... Invalid UUID string",
"code": "invalid_arg"
}
Використання отриманих JSON-даних в розсилках
JSON-дані, отримані із зовнішнього джерела, не тільки запускають ваш сценарій, але й дозволяють персоналізувати імейли. Наприклад, ви можете звертатися до клієнтів по імені, перераховувати замовлені ними товари або вказувати дату доставки.
Щоб персоналізувати імейли, обробіть отримані JSON-дані за допомогою Liquid, мови шаблонів, створеної Shopify, а потім вставте код Liquid до конструктора листів Selzy. Тема і тіло листа підтримують динамічний контент.
Обробка JSON-даних за допомогою Liquid
Щоб відображати динамічний контент у ваших листах, код Liquid повинен посилатися на змінні з вхідних API-запитів.
Якщо ви хочете додатково налаштувати динамічний контент, ви можете використовувати фільтри та теги, які контролюють вигляд отриманих даних.
Змінні
Змінні включаються у вхідні API-запити, і їхній формат повністю залежить від налаштувань вашого зовнішнього джерела.
Щоб відобразити отримані дані у листі, візьміть змінні у подвійні фігурні дужки: {{ змінна }}. Перед змінною обов'язково вкажіть унікальний ключ блоку API тригера. Це вказує системі, де знайти дані для вашого імейлу.

Ви можете змінити ключ у налаштуваннях блоку тригера API. Однак, якщо ви змінюєте ключ, не забудьте оновити код Liquid з новим ключем, інакше отримані дані не з'являться в імейлі.
| Приклад API запиту (JSON) | Код Liquid у контенті імейлу | Кінцевий вигляд імейлу |
| {
"email": "hello@example.com", "name": "Оксана" } |
Привіт {{ ApiTrigger1.name }}!
Ваш імейл: {{ ApiTrigger1.email }} |
Привіт Оксанo!
Ваш імейл: hello@example.com |
| Блок API тригера | Редактор імейлів Selzy (режим коду) | Вид у вхідних повідомленнях одержувача |
Фільтри
Фільтри дозволяють форматувати та кастомізувати динамічний контент. Наприклад, фільтр “capitalize” перетворює “андрій” на “Андрій”, якщо ім'я збережено з малої літери.Фільтри застосовуються після змінних і відокремлюються за допомогою вертикальної лінії ( | ).
| Фільтр | Приклад API запиту (JSON) | Код Liquid у контенті імейлу | Кінцевий вигляд імейлу |
| capitalize — Перетворює текст на заголовковий регістр | { "name": "оксана" } | Привіт {{ ApiTrigger1.name | capitalize }}! | Привіт Оксанo! |
| upcase — Перетворює текст на верхній регістр | { "promocode": "solstice2025" } | Отримайте свій промокод: {{ ApiTrigger1.promo | upcase }} | Отримайте свій промокод: SOLSTICE2025 |
| downcase — Перетворює текст на нижній регістр | { "promocode": "SOLSTICE2025" } | Отримайте свій промокод:{{ ApiTrigger1.promo | downcase }} | Отримайте свій промокод: solstice2025 |
| replace —
Знаходить і замінює всі появи заданого тексту в рядку |
{ "social_link": "https://twitter.com/example_user" } |
<a href="{{ social_link | replace: 'twitter.com', 'x.com' }}"> Слідкуйте за нами на {{ "Twitter" | replace: "Twitter", "X" }}! </a> |
Слідкуйте за нами на X! |
| default — Надає запасне значення, якщо змінна порожня. | { "name": "" } | Вітаю {{ ApiTrigger1.name | default: "вас" }}! | Вітаю вас! |
| date — Перетворює дату у потрібний формат | { "delivery_date": "2025-05-01" } | Дата доставки: {{ ApiTrigger1.delivery_date | date: "%B %-d, %Y" }} | Дата доставки: Травень 1, 2025 |
Ви можете комбінувати кілька фільтрів, щоб модифікувати змінну за один крок. Фільтри застосовуються по порядку, зліва направо, тобто кожен фільтр змінює результат попереднього.
| Приклади API запитів (JSON) | Код Liquid у контенті імейлу | Кінцевий вигляд імейлу |
| { "delivery_date": "2025-05-01" } | Дата доставки: {{ ApiTrigger1.delivery_date | date: "%B %-d, %Y" | upcase }} | Дата доставки: Травень 1, 2025 |
Теги
Теги контролюють те, що бачать одержувачі динамічного контенту.
Для більшості повідомлень, пов'язаних з кошиком покупця, вам знадобляться теги 'for' і 'if'.
for
Тег “for” зазвичай використовується для відображення покинутих товарів у кошику, нещодавніх покупок або рекомендованих товарів у листах.
| Приклади API запитів (JSON) | Код Liquid у контенті імейлу | Кінцевий вигляд імейлу |
| {
"customer": { "email": "ursula@example.com", "cart": [ { "name": "Бездротові навушники", "price": 40.00, "link": "https://example.com/products/wireless-headphones" }, { "name": "Смарт-годинник", "price": 25.00, "link": "https://example.com/products/smartwatch" } ] } } |
<p>Привіт {{ ApiTrigger1.customer.email }},</p>
<p>Ось що у вашому кошику:</p> <ul> {% for item in ApiTrigger1.customer.cart %} <li>{{ item.name }} - ${{ item.price }} - <a href="{{ item.link }}">Переглянути товар</a></li> {% endfor %} </ul> |
Привіт ursula@example.com,
Ось що у вашому кошику: — Бездротові навушники - $40.00 - Переглянути товар — Смарт-годинник - $25.00 - Переглянути товар |
if
Тег ‘if’ керує динамічним контентом на основі заданих умов. Його часто використовують для персоналізованих пропозицій, таких як знижки для підписників, безкоштовна доставка або подарунки за замовлення на суму понад певну ціну.
Тег if часто використовується з порівняльними (==, !=, >, <, >=, <=) та логічними (or, and, contains) операторами.
| Приклади API запитів (JSON) | Код Liquid у контенті імейлу | Кінцевий вигляд імейлу |
| {
"customer": { "email": "ursula@example.com", "cart_total": 65.00, "cart": [ { "name": "Бездротові навушники", "price": 40.00, "link": "https://example.com/products/wireless-headphones" }, { "name": "Смарт-годинник", "price": 25.00, "link": "https://example.com/products/smartwatch" } ] } } |
<p>Привіт {{ ApiTrigger1.customer.email }},</p>
{% if ApiTrigger1.customer.cart_total >= 50 %} <p>Чудова новина! Ваше замовлення підлягає <strong>БЕЗКОШТОВНІЙ доставці</strong>.</p> {% else %} <p>Додайте більше товарів до кошика, щоб розблокувати <strong>БЕЗКОШТОВНА доставка</strong> на замовлення понад $50!</p> {% endif %} <p>Ось що у вашому кошику:</p> <ul> {% for item in ApiTrigger1.customer.cart %} <li>{{ item.name }} - ${{ item.price }} - <a href="{{ item.link }}">View Item</a></li> {% endfor %} </ul> |
Привіт ursula@example.com,
Чудова новина! Ваше замовлення підлягає БЕЗКОШТОВНІЙ доставці. Ось що у вашому кошику: — Бездротові навушники - $40.00 - Переглянути товар — Смарт-годинник - $25.00 - Переглянути товар |
Щоб дізнатися більше про Liquid, ознайомтеся з документацією користувача. Ми також рекомендуємо спробувати їхню демонстраційну версію, щоб поекспериментувати з динамічним форматуванням контенту та протестувати код відповідно до вашого сценарію.
Вставка коду Liquid у контент листа
Щоб використати отримані JSON-дані, наведіть курсор на прев'ю листа в блоці Email у вашому сценарії та натисніть кнопку Редагувати.
Коли редактор імейлів відкриється, перейдіть до режиму коду.

Вставте код Liquid у відповідне місце коду листа. Переконайтеся, що ви посилаєтеся на унікальний ключ блоку API тригер, інакше отримані дані не з'являться в листі.

Тестування сценарію з API тригером
Ви можете тестувати сценарії з блоком API тригера, імітуючи запити API за допомогою Postman або подібних інструментів тестування API.Таким чином, ви можете перевірити свій сценарій і попередньо переглянути розсилку так, як її побачать підписники — без використання реальних даних.
Щоб почати тестування, створіть новий запит POST у Postman. Скопіюйте POST URL з блоку API тригера і вставте його в поле запиту. Переконайтеся, що формат запиту встановлений на JSON.
Додайте тіло JSON з необхідними змінними для API тригера. В якості імейлу використовуйте ту електронну пошту, до якої у вас є доступ, щоб ви могли переглянути розсилку. Надішліть запит, щоб перевірити, як реагує сценарій.

Якщо сценарій працює коректно, ви отримаєте імейл на адресу, вказану в запиті.

Помилки
Якщо сценарій омніканальної автоматизації з блоком API-тригера працює некоректно або отримані дані не з'являються в імейлах, почніть з визначення, де сталася помилка — на стороні зовнішнього джерела, в Liquid або в Selzy.
Нижче ви знайдете список найпоширеніших помилок та можливі шляхи їх вирішення.
- Помилки інтеграції. Якщо сценарій в Selzy не отримує дані або отримує їх з помилками, перевірте інтеграцію на стороні зовнішнього джерела і переконайтеся, що:
- Використовується правильна URL-адреса з блоку API тригера.
- POST-запит містить імейл або номер телефону.
- Дані надсилаються у форматі JSON.
Зверніть увагу, що блок API тригера не створює специфічних помилок на стороні Selzy, оскільки він лише отримує дані та запускає сценарії. Якщо все налаштовано правильно, але все одно не працює, ймовірно, вам знадобиться допомога вашого розробника або платформи, з якою ви інтегруєте Selzy.
- Помилки Liquid коду. Якщо отримані дані не відображаються в листах, переконайтеся, що:
- Змінні та ключ блоку API тригера посилаються коректно.
- Немає помилок або зайвих пробілів.
- Кількість фігурних дужок правильна, і фільтри застосовані належним чином
Ви можете використовувати Liquid Playground, щоб перевірити, чи правильно ваш код Liquid виводить дані, а також звернутися до документації користувача, щоб виявити та виправити проблеми форматування.
- Помилки сценарію. Якщо сценарій у Selzy не отримує дані або не надсилає імейли, перевірте налаштування сценарію та переконайтеся, що він активний.
Перейдіть до списку ваших сценаріїв, знайдіть сценарій, який не працює належним чином, і відкрийте сторінку детальної статистики. Там ви знайдете поточний стан сценарію, ключові показники ефективності та помилки.

Якщо в сценарії відсутні блоки або контент, ймовірно, ви не зберегли останні зміни. Поверніться до редактора сценаріїв і оновіть сценарій, натиснувши кнопку Оновити та запустити у верхній частині екрану.
Якщо у вас виникли проблеми з виявленням або виправленням помилок у сценарії, зверніться за допомогою до служби підтримки Selzy.