Попробуйте бесплатно
При регистрации Вы получаете:
- бесплатно 14 дней и 1.000 запусков сценариев;
- доступ к готовым API (Telegram, Битрикс24, Cloud Payments и другие);
- автоматизацию без программирования — настройте интеграцию за 5 минут.
В APInita у сценария есть несколько типов переменных:
APInita использует шаблонизатор Twig, поэтому Вы можете использовать некоторые доступные функции и фильтры для преобразования данных внутри полей модулей.
Переменные модулей доступны для использования в полях внутри каждого модуля (за исключением Webhook) по цепочке от родителя к дочерним шагам. Каждый шаг имеет свой номер: 1, 2, 3 и так далее. Обращение к данным модуля идет через переменную вида "s1", где s - сокращенное название от step (шаг), а 1 - номер самого шага.
Например на шаге 6 модуля HTTP мы хотим использовать в "Полях запроса" значение "status": "ok" из 1-го шага, для этого мы пишем ключ (например: my_key) и указываем следующее значение:
{{ s1.body.status }} // выведет значение "ok"
Таким образом, запрос шага 6 будет содержать в себе поле вида: my_key=ok
Похожим образом мы можем обратиться к любому другому шагу и элементу данных модуля. Пример для шага 1, обращение к заголовку:
{{ s1.headers.date }} // Thu, 07 Dec 2023 07:05:02 GMT
Обращение к шагу 5:
{{ s5.body }} // 1 или 0, ответ от IF модуля
Для JS модуля получить значение можно следующим образом:
s1['body']['status']
Переменные сценария задаются нажатием на кнопку "Переменные сценария" (п.6). Далее использование этих переменных возможно в полях модулей (например в модуле HTTP и полях "Поля запроса"). Длина значения переменных ограничена 100 символами.
Переменная сценария доступна внутри глобальной переменной {{ scenario }} или scenario для JS модуля.
Например, если ключ переменной my_var, обращение будет выглядеть так:
{{ scenario.my_var }} или {{ scenario["my_var"] }}
или для JS модуля:
scenario["my_var"]
Если в HTTP-модуле указано подключение и его тип "Custom", Вы можете использовать глобальную переменную "connection" для доступа к переменным подключения:
{{ connection.body.my_key }} // получаем значение переменной my_key указанной в теле подключения
{{ connection.header.my_header }} // получаем значение переменной my_header указанной в заголовке подключения
Использовать данные переменные можно как в полях/заголовках запроса, так например и в самом URL-е запроса.
Аналогичным образом доступна глобальная переменная "connections" (s на конце), но уже для всех модулей. Обратиться к данным подключений типа "Custom" можно следующим образом:
{{ connections[5].body.my_key }} // получаем значение переменной my_key подключения с ID = 5
{{ connections[2].header.my_header }} // получаем значение переменной my_header подключения с ID = 2
ID подключения указан в списке подключений и при просмотре подключения.
Список доступных к использованию тегов:
if
for
set
Список доступных к использованию фильтров:
escape
raw
replace
length
date
date_local
date_scenario
date_modify
upper
lower
title
join
hash_hmac
hash
md5
json_decode
json_encode
split
last
first
Список доступных к использованию функций:
random
base64
Примеры использования:
{{ s1.body.status|upper }} // преобразует "ok" в "OK"
{% for key, value in s1.headers %} // запуск цикла по всем элементам массива
{{ key }}: {{ value }} // выведет каждый элемент массива s1.body в формате: "date: Thu, 07 Dec 2023 07:05:02 GMT"
{% endfor %} // конец цикла
{{ random() }} // выведет случайное число, например 15386094