Перейти к содержимому

Переменные шаблонов

Переменные шаблонов — это механизм подстановки данных из DataPackets в настройки процессоров. Вместо того чтобы задавать фиксированные значения, вы указываете ссылку на поле данных, и система автоматически подставит актуальное значение при обработке каждого пакета.

Это основной способ передачи данных между процессорами в воронке.

Переменная записывается в двойных фигурных скобках:

{{имяПроцессора.имяПоля}}
  • имяПроцессора — имя (alias) процессора, из которого берутся данные.
  • имяПоля — название поля в payload DataPacket этого процессора.

Если нужно обратиться к полям текущего входного пакета (от непосредственного процессора-источника), используйте имя этого процессора:

{{search.companyName}}
{{search.inn}}
{{search.address}}

Здесь search — это имя процессора, который является источником данных для текущего процессора.

Переменные позволяют обращаться к данным не только непосредственного источника, но и любого процессора выше по цепочке. Система автоматически строит цепочечные данные (chain data), собирая информацию от всех предков текущего пакета.

Например, если воронка имеет структуру:

search --> enrichment --> gptFilter

В настройках процессора gptFilter можно обращаться к данным обоих предшественников:

Компания: {{search.companyName}}
ИНН: {{search.inn}}
Выручка: {{enrichment.revenue}}
Количество сотрудников: {{enrichment.employees}}

Если данные в пакете имеют вложенную структуру, используйте точечную нотацию для доступа к вложенным полям:

{{processor.nested.field}}
{{enrichment.finance.revenue}}
{{search.address.city}}

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

В процессорах поиска переменные позволяют формировать динамические запросы на основе данных от предыдущих процессоров:

Поиск: {{search.companyName}} контакты руководитель

При настройке ИИ-процессора переменные подставляют данные в текст промпта:

Проанализируй компанию {{search.companyName}} (ИНН: {{search.inn}}).
Выручка за последний год: {{enrichment.revenue}}.
Определи, подходит ли она как потенциальный клиент.

При настройке интеграции с CRM переменные указывают, какие данные записать в поля CRM-сущности:

Название компании: {{search.companyName}}
ИНН: {{search.inn}}
Телефон: {{enrichment.phone}}

В условиях фильтрации переменные ссылаются на поля для проверки:

{{enrichment.revenue}} IS NOT NULL AND {{search.region}} == "Москва"

В формулах вычисляемых полей переменные предоставляют исходные данные для вычислений:

$concat({{firstName}}, " ", {{lastName}})
$if($gt({{revenue}}, 1000000), "Крупная", "Малая")

При обработке каждого DataPacket система:

  1. Берёт шаблон с переменными из настроек процессора.
  2. Строит полный набор данных цепочки для текущего пакета.
  3. Заменяет каждую переменную на соответствующее значение из данных.
  4. Передаёт результат в логику процессора.

Если переменная ссылается на несуществующее поле или поле с пустым значением, она будет заменена на пустую строку.

При вводе переменных в полях настроек процессора система предлагает автодополнение:

  • Начните вводить {{ — появится список доступных процессоров-источников.
  • После ввода имени процессора и точки — появится список полей, доступных в данных этого процессора.

Список полей формируется на основе схемы данных процессора и реальных данных в уже созданных пакетах.

  • Используйте понятные имена процессоров (alias), чтобы переменные были читаемыми. Например, {{companySearch.inn}} понятнее, чем {{proc1.inn}}.
  • Проверяйте наличие данных перед использованием. Если поле может быть пустым, используйте функцию $default() или $coalesce() для задания значения по умолчанию.
  • При работе с вложенными данными убедитесь, что промежуточные объекты существуют, иначе переменная вернёт пустое значение.