Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Пользователям iconПользователям
Разработчикам iconРазработчикам
Администраторам iconАдминистраторам
Русский
  • Русский
  • English
Войти
    Документация пользователяС чего начатьFAQТермины
      Обновления платформыarrow
    • v2026.1.76v2025.4.75v2025.4.74v2025.3.73v2025.2.72v2025.1.71v2024.4.70v2024.3.69v2024.2.68.2v2024.1.68
      Хранение и сбор данныхarrow
    • Ресурсы подписокРабота с базами данныхПрофиль подписчикаИмпорт профилей клиентов и обновление данныхИмпорт данных по расписаниюАвтоматизация сбора данных о профилеМассовое обновление профилей клиентовDouble opt-in подпискаСтоп-спискиСвязи между профилямиЭкспорт истории профилейЭкспорт профилейАвтоматическое создание статического сегмента при импортеКак открыть CSV-файлМатчингТипы полей в базе данныхГлобальные контрольные группыМенеджер подписок
      Каналы коммуникацииarrow
      • Email-каналarrow
      • Рекомендации по взаимодействию с ISPНастройка собственного from-доменаНастройка и использование постмастеровБыстрый старт
        Push-каналarrow
        • Mobile Pusharrow
        • Настройка и подключение
            Интеграция приложения с Altcraftarrow
          • Провайдеры: структура push сообщенияОбработка и добавление подпискиРегистрация событий
          Web Pusharrow
        • Предварительные настройки
            Настройка для различных браузеровarrow
          • Apple SafariMozilla ServicesFirebase Cloud Messaging
          Подключение Web Push на сайтПередача данных в платформуМетоды Web Push SDK
            Миграция и перенос подписокarrow
          • Перенос push-подписок из стороннего сервисаКак перенести push-подписки, настроенные для SafariМиграция с OneSignal
      SMS-канал
        Создание рассылки с нуляarrow
      • EmailSMSWeb PushMobile PushWhatsAppViber™Руководство: SMS-рассылка через VK NotifyMAX BotMAX GroupNotifyTelegram BotTelegram Group
      Схема работы каналов коммуникацииРуководство: SMS-рассылка через УТШРуководство: push-рассылка через сервис от "Согласие"
      Сегментацияarrow
    • Статические сегментыДинамические сегментыОбновляемые сегменты
        Условия сегментацииarrow
      • Сегментация по данным профиляСегментация по взаимодействиям с сущностямиСегментация по активности в каналах коммуникацииСегментация по внешним даннымСегментация по внешним SQL-таблицамСегментация по структуре профиля
      Лучшее время отправки (BST)Логические операторы "И" и "ИЛИ"Рекомендации по работе с сегментами
      Шаблоны сообщенийarrow
      • Работа с шаблонами сообщенийarrow
      • Работа в редактореEmail-шаблонSMS-шаблонPush-шаблонMAX-шаблонTelegram-шаблонWhatsApp-шаблонViber™-шаблонNotify-шаблон
        Визуальный редактор для email-шаблонаarrow
      • Интерфейс редактораДобавление элементовЭлементы и их настройкиПользовательские блокиСтили элементаСтруктура элементов
      Блочный редактор для email-шаблонаФрагменты шаблоновИзображения в сообщенияхПерсонализация контента в сообщенияхФормирование таблиц на основе элементов массива
        Переменные и функции Altcraftarrow
      • Использование логических выражений в сообщенияхИспользование циклов в сообщенияхИспользование переменных маркета в сообщенияхИспользование функционала JSONPath
        Динамический контент сообщенийarrow
      • Использование API-контента в сообщенияхИспользование HTML-контента в сообщенияхИспользование JSON-контента в сообщенияхИспользование контента из SQL базы данных в сообщениях
      Импорт и экспорт шаблона сообщенияЭкспорт шаблона из PixcraftИмпорт шаблона из стороннего сервиса
      Рассылкиarrow
    • Календарь рассылокБроадкаст рассылкаРегулярная рассылкаТриггерная рассылкаМультивариантный тест (A/B/n)Тестирование расылокРасписание рассылокРазмещения
      Кампанииarrow
    • Работа с КампаниямиЛокальные контрольные группы (ЛКГ)Ошибка нарушения стратификации при достижении лимитаРасширение аудитории в кампанииРазметка аудитории в кампаниях
      Сценарии автоматизацииarrow
    • Работа со Сценариями автоматизацииУзлы сценарияКлассические сценарии автоматизации маркетингаПриветственный сценарий: пошаговая настройкаАвтоматическое оповещение менеджера через сценарийСценарий брошенной корзины
      Маркетarrow
    • Настройки маркета
        Продуктыarrow
      • Создание продукта вручнуюИмпорт продукта из файлаИмпорт по расписаниюСегменты продуктов и SKUПодготовка YML-файла
      ЗаказыПеременные маркета в шаблонахРуководство: как отправить письмо подтверждения заказа
      Лояльностьarrow
    • Создание и настройка программы лояльностиИнтеграция лояльности с внешними системамиБыстрый стартБазовые кейсы использования программы лояльностиСегменты заказовПромокоды
      Веб-слойarrow
      • Формыarrow
      • Создание формыКонструктор формыОформление формыДействия при активации формыАналитика данныхСвязывание данных канала и формыУсловная постраничная логика в формах и опросахNPS-тестирование
        Пикселиarrow
      • Целевые действия клиентов и скоринг
        Попапыarrow
      • Создание и публикация попапаНастройка попапа в редакторе кодаУправление попапами вручную через скриптАналитика попаповРуководство: попап для подписки на pushБазовые кейсы размещения попапа через Менеджер теговКейс: Создание попапа с виджетом "Колесо фортуны"
        Менеджер теговarrow
      • Настройка и установка Менеджера теговТипы триггеровТипы переменныхСвязывание пикселя и Менеджера тегов
      Отчеты и аналитикаarrow
    • Отчет по каналамОтчёт по трафику
        Сводный отчётarrow
      • Все показатели сводного отчета
      Когортный отчётВремя жизниВоронка конверсииЦелиПрирост аудиторииКарта кликов (Email)Отчет по программам лояльностиОтчёт о возвратахОтчёт о недоставкахОтчет по глобальным контрольным группам
      Интеграцииarrow
    • Синхронизация статических сегментовMAXЯндекс.Аудитории™Аудитории Google AdsFacebook Ads Manager™Область видимости интеграцииWhatsAppViber™Tilda™Yandex AppMetrica™Lpgenerator™VK Реклама™Передаваемые при синхронизации данные
        Интеграция сторонних сервисов с Altcraft через Albatoarrow
      • Подключение Altcraft к AlbatoЗапуск приветственного сценария через AlbatoПередача данных о событииОтправка триггерной рассылкиРегистрация событийИмпорт данных из Google Sheets через AlbatoПередача данных из Altcraft
      Notify
        Захват событийarrow
      • Захват событий AltcraftТипы событий для захватаСтруктуры сообщений захвата событийОтправить JSON-запрос батчемОтправить сообщение в очередь RabbitMQОтправить сообщение в exchange RabbitMQОтправить сообщение в Kafka brokerПредварительное тестирование события
      Настройкиarrow
    • Настройки аккаунтаНастройки атрибутовПоисковые теги: создание и применениеПользовательские ссылкиВиртуальные сендерыПолитики отправки
        Пользователи и разграничение доступаarrow
      • Двухфакторная аутентификация (2FA)
        Подключенияarrow
      • Подключение к Facebook AdsПодключение к Google AdsПодключение к Яндекс.Аудиториям™Подключение к 360dialogПодключение к EdnaПодключение к Devino TelecomПодключение к SMS TrafficПодключение к VK Рекламе™Подключение к MTS OmniChannelПодключение через OAuth2Подключение через Basic AuthenticationПодключение через Token AuthenticationПодключение через Custom AuthenticationПодключение к MAXПодключение к NotifyПодключение к Rapporto
      Журнал аудита
      API-запросы: с чего начатьarrow
    • Импорт и обновление профиляЗапуск триггерной рассылкиОтправка профиля клиента в сценарий
    Архив документацииБиблиотека email-маркетолога
  • Шаблоны сообщений
  • Динамический контент сообщений
  • Использование API-контента в сообщениях

Использование API-контента в сообщениях

При отправке сообщений с помощью API Call триггера, начиная с версии 1.1, возможно передавать данные для сообщения вместе с API-запросом.

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

Пример того, как может выглядеть объект для apicontent:

{
"product_id": 11,
"product_name": "Графический дизайн: курс для начинающих",
"product_price": 1000
}

Способы передачи API-контента в платформу​

Через API-запрос​

Данные в переменную apicontent можно передать, запустив триггерную рассылку или сценарий с помощью API-запроса. В запросе необходимые данные передаются в поле content. Ниже приведен список запросов, в которых доступно поле content:

  • Запуск триггерной рассылки
  • Импорт профиля + Отправка триггера
  • Массовая отправка триггера
  • Массовый импорт профилей + отправка триггера
  • Отправить профиль клиента в сценарий
  • Одновременный импорт и запуск профиля в сценарий
  • Массовый импорт и запуск профилей в сценарий

Далее эти данные можно подставить в шаблон с помощью переменной apicontent:

подсказка

Предпросмотр сообщения с apicontent доступен только после настройки раздела "Настроить API-контент". Для этого перейдите в раздел предпросмотра и вставьте объект, содержащий apicontent, в редактор. Нажмите на галочку, чтобы применить изменения.

Через элемент "API Запрос" в сценарии​

В элементе сценария "API Запрос" вы можете получить данные из внешнего источника с помощью запроса и сохранить http-ответ в переменную apicontent. Информация из запроса в дальнейшем может использоваться в сценарии.

О том, как настроить элемент "API Запрос", можно прочитать здесь.

Выберите тип запроса и вставьте ссылку на сервис, который будет возвращать JSON-объект:

Нажмите на переключатель "Сохранить http-ответ в поле apicontent" и введите название поля, в которое будут записаны данные из внешнего источника:

После этого вы сможете использовать данные из apicontent в других элементах сценария. Например, вы можете добавить в цепочку элемент "Email-рассылка" и выбрать шаблон с переменной apicontent.

Обратите внимание, что в данном случае данные записываются в поле products, поэтому путь к данным в шаблоне немного изменится:

подсказка

Предпросмотр сообщения с apicontent доступен только после настройки раздела "Настроить API-контент". Для этого перейдите в раздел предпросмотра и вставьте объект, содержащий apicontent, в редактор. Нажмите на галочку, чтобы применить изменения.

Использование цикла в шаблоне с apicontent​

В переменную apicontent можно передавать JSON-объект, содержащий массив. Пример:

{
"products": [
{
"product_id": 11,
"product_name": "Графический дизайн: курс для начинающих",
"product_price": 1000
},
{
"product_id": 12,
"product_name": "Веб-дизайн: продвинутый курс",
"product_price": 2000
}
]
}

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

{for $index $el = apicontent.products}
<div>
<p>Курс: {$el.product_name}</p>
<p>Стоимость: {$el.product_price}</p>
</div>
{else}
if empty array
{end}

Этот код подставит в письмо следующие данные:

подсказка

Если вы регулярно используете один и тот же JSON-объект в переменной, то вы можете сохранить его как пресет и в дальнешем выбирать этот пресет в окне предпросмотра:

Отмена отправки сообщения, если нет поля​

Вы можете настроить отмену отправки сообщения, если в объекте apicontent определенное поле отсутствует или содержит пустое значения. Для этого добавьте проверку на наличие поля и используйте переменную {cancel}:

{if apicontent.field_2}
field_2 не пустое
{else}
{cancel}
{end}

При таком условии рассылка не отправит письмо, если apicontent будет содержать один из следующих объектов:

{
"field_1": "example"
}
{
"field_1": "example",
"field_2": "" / или 0, null, false
}

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

Пример использования

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

{
"user_id": 123,
"course_id": "abcadefg",
"course_name": "Графический дизайн: курс для начинающих",
"course_status": "completed"
}

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

{if apicontent.course_status}
<div>
<span>Вы интересовались курсом {apicontent.course_name}.</span>
<span>Возможно, вам понравятся эти курсы: <список курсов></span>
</div>
{else}
{cancel}
{end}
Последнее обновление 12 мар. 2026 г.
Предыдущая страница
Динамический контент сообщений
Следующая страница
Использование HTML-контента в сообщениях
  • Способы передачи API-контента в платформу
    • Через API-запрос
    • Через элемент "API Запрос" в сценарии
  • Использование цикла в шаблоне с apicontent
  • Отмена отправки сообщения, если нет поля
© 2015 - 2026 Altcraft. Все права защищены.