SQL-шаблоны

В enKod доступны два типа SQL-шаблонов – для сегментации и для динамического контента. Шаблоны для сегментации позволяют провести максимально глубокую фильтрацию базы, используя любые данные о клиентах, которые можно хранить в таблицах. SQL для динамического контента обычно используется для подстановки в письма необходимых товаров или иной персональной информации. enKod поддерживает синтаксис PostgreSQL. Узнать больше о синтаксисе запросов и возможностях SQL вы можете в документации в свободном доступе.

Посмотреть на практическое применение SQL-шаблонов enKod вы можете в кейсе нашего клиента.

SQL для сегментации

Шаблоны данного типа всегда возвращают в ответе список контактов. SQL для сегментации также могут использоваться в условиях сегментов.

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

Введите название SQL шаблона, описание (если необходимо) и само тело запроса.

Увидеть список контактов, подходящих под условия, можно после нажатия кнопки «Выполнить запрос».

Параметры в шаблонах нужны для унификации каких-либо стандартных запросов и позволяют менять тело запроса прямо из создания сегмента.

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

Таблица с участниками будет выглядеть подобным образом

Создаем шаблон для сегментации с параметром

Использовать шаблон в сегменте можно следующим образом

Для корректной работы SQL-шаблона для сегментации тип столбца в ТД должен быть «email», «phone» или «sessionid», а не текст или иной другой. В шаблоне должен быть выбран только один столбец.

SQL для динамического контента

Шаблоны этого типа возвращают поля из таблицы, подходящие под заданные условия. Используются в письмах для персонализации и триггерных механик.

Чтобы создать SQL шаблон для динамического контента перейдите во вкладку ДанныеSQL шаблоныСоздатьSQL для динамического контента

Введите название SQL шаблона, описание (если необходимо) и само тело запроса.

Не используйте символ @ в комментариях в теле SQL запроса.

Увидеть список полей, подходящих под условия, можно после нажатия кнопки «Выполнить запрос».

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

Просмотр SQL-шаблона при создании сегмента

Для удобства в сегменте можно просмотреть само тело SQL-шаблона. Для этого нажмите на соответствующую кнопку после выбора шаблона. Редактировать запрос из сегмента нельзя.

Настройка символа для обращения к параметрам SQL-шаблонов

Для вызова параметра в SQL-шаблоне по умолчанию используется символ @.

Некоторые SQL-запросы могут потребовать использования символа @ для других операций, нежели для обращения к параметру. В таком случае вы можете настроить использование иного символа для работы с параметрами шаблона через Данные ➔ SQL шаблоны ➔ иконка шестеренки, окно “Настройки SQL”.

Доступные символы для обращения к параметрам:

  • @
  • :
  • $

При смене символа:

  • вы сможете использовать его для обращения к параметрам во всех новых SQL-шаблонах;
  • новый символ заменит текущий во всех созданных ранее SQL-шаблонах для сегментации и динамического контента - шаблоны продолжат работать корректно без необходимости внесения в них правок вручную;
  • если обращение к параметру через устаревший символ используется в верстке каких-либо Email-сообщений - он не будет автоматически заменен на новый, и код в этом письме перестанет работать;
  • сегменты, созданные до изменения символа и после будут считаться так же, как и при прежней настройке.

Обратите внимание, что выбранный символ в любом месте шаблона будет расцениваться как обращение к параметру и его нельзя будет использовать ни для чего больше.

Последнее изменение: 2025.08.28 13:00 — Elizaveta Ivannikova