Процедуры на платформе пишутся на DTL (Django Template Language) с набором собственных тегов и фильтров поверх стандартных. Эта статья — короткий справочник по тому, что доступно внутри процедуры: какие переменные есть в контексте узла «по умолчанию», какими тегами пользоваться чаще всего и какие фильтры пригодятся для обработки дат и строк.
Имя и фамилия, как пользователь назвал себя в мессенджере
{{ request.type }}
Тип входящего сообщения: text, picture, video, document, location, contact, postback
{{ request.content }}
Содержимое сообщения — текст, адрес файла и т. п.
{{ request.latitude }} / {{ request.longitude }}
Координаты для сообщений типа location. Для передачи во внешние API используйте фильтр unlocalize, чтобы точка не экранировалась: {{ request.longitude\|unlocalize }}
{{ request.is_telegram_user }}
Является ли переданный контакт телеграм-аккаунтом (тип contact, платформа Telegram)
{{ request.is_own_contact }}
Прислал ли пользователь свой контакт или чужой из телефонной книги
Контекст чат-центра: команда, оператор, автоматическая ли сессия
{{ operator.is_authorized }}
Авторизован ли оператор (только для операторского бота); можно использовать в
{%ifoperator.is_authorized%}
{{ operator.phone_number }}
Номер телефона оператора (только для операторского бота)
{{ get_params }}
GET-параметры, с которыми был запущен узел
{{ http_response }}
Результат HTTP-запроса, сделанного в этом же узле; существует только внутри узла и никуда не сохраняется, в отличие от переменной, в которую вы явно сохраните ответ через save_variable
Проверяет, существует ли такой телефон у других клиентов, и сохраняет результат проверки в переменную
.enable %}
Открывает чат-сессию с командой «Нераспределенные»
{%send_text"Спасибо за обращение! Мы скоро ответим."%}
Отправляет пользователю текстовое сообщение прямо из процедуры
Воронки и формы
Код
Объяснение
{%subscribe_to_funnel"Воронка вебинара"%}
Подписывает пользователя на автоворонку
{%unsubscribe_from_funnel"Воронка вебинара"%}
Отписывает пользователя от воронки
{%enter_input_form"Анкета регистрации"%}
Запускает анкету для пользователя
{%form_leadaslead%}
Получает данные последнего лида формы для сайта и сохраняет в переменную lead
{%form_dataasdata%}
Получает данные последнего лида формы для бота и сохраняет в переменную data
Фильтры
Код
Объяснение
{{ order_date\|date:"d.m.Y" }}
Форматирует дату order_date по шаблону дд.мм.гггг
{{ raw_timestamp\|as_datetime }}
Превращает значение в объект даты, с которым можно дальше работать
{{ start_date\|add_days:7 }}
Прибавляет 7 дней к дате start_date
{{ start_date\|subtract_days:7 }}
Вычитает 7 дней из даты start_date
{{ total_price\|subtract:discount }}
Вычитает значение discount из total_price
{{ long_text\|keep_slash_n }}
Интерпретирует переносы строк (\n) в тексте как реальные переносы — полезно для многострочных сообщений, собранных из внешних данных
{{ request.longitude\|unlocalize }}
Убирает локализацию у координаты, чтобы она не экранировалась при передаче во внешний API (например, в FlexCMS или сторонний REST-сервис)
Важно: это не полный список — DTL поддерживает и стандартные теги/фильтры Django, а на платформе есть ещё кастомные под конкретные интеграции (например, для Mindbox или Usedesk). Приведённый здесь набор — то, что нужно в большинстве процедур.
Получить полную презентацию платформы
Пожалуйста заполните форму, чтобы получить презентацию платформы и, по желанию — индивидуальные рекомендации по её настройке или тарифам.
Мы используем файлы cookie и сервис Яндекс Метрика для сбора данных о пользователе с целью улучшения работы сайта.