Переменные

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



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


Переменные модулей


Переменные модулей доступны для использования в полях внутри каждого модуля (за исключением Webhook) по цепочке от родителя к дочерним шагам. Каждый шаг имеет свой номер: 1, 2, 3 и так далее. Обращение к данным модуля идет через переменную вида "s1", где s - сокращенное название от step (шаг), а 1 - номер самого шага.

Использование переменных модулей в APInita

Например на шаге 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 модуля


Для PHP модуля получить значение можно следующим образом:


$s1['body']['status']


Переменные сценария


Использование переменных сценария в APInita Переменные сценария задаются нажатием на кнопку "Переменные сценария" (п.6). Далее использование этих переменных возможно в полях модулей (например в модуле HTTP и полях "Поля запроса"). Длина значения переменных ограничина 100 символами.


Переменная сценария доступна внутри глобальной переменной {{ scenario }} или $scenario для PHP модуля.


Например, если ключ переменной my_var, обращение будет выглядеть так:


{{ scenario.my_var }}


или


{{ scenario["my_var"] }}


или


$scenario["my_var"]


- для PHP модуля. Изменить значение переменной сценария можно либо вручную, либо через модуль PHP следующим способом:


$myVar = $scenario['my_var']; // получаем текущее значение переменной my_var, например ее значение "старое значение" $newMyVarValue = "новое значение"; setVar("my_var", $newMyVarValue); // задаем новое значение переменной


Важный нюанс: новое значение глобальной переменной ($scenario['my_var']) внутри PHP модуля будет действовать только при следующем запуске сценария, поэтому если нужно использовать новое значение после его установки - задайте его через переменную ($newMyVarValue - из примера) и используйте эту переменную.


Переменные подключения


Если в 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 подключения указан в списке подключений и при просмотре подключения.


Доступные теги, фильтры и функции Twig


Список доступных к использованию тегов:


if for set


Список доступных к использованию фильтров:


escape raw replace length date dateLocal date_modify dateUtc 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

Попробуйте бесплатно

Получите при регистрации 14 дней на тестирование системы без привязки платежной карты, 1000 бесплатных транзакций и отсутствие ограничений в функционале:

Нажимая кнопку «Создать сценарий» Вы принимаете условия лицензионного соглашения и даете согласие на обработку своих персональных данных. Если у Вас уже есть аккаунт, войдите в систему. Сайт защищен технологией reCAPTCHA и к нему применяются Google политика конфиденциальности и условия использования.
  • Техподдержка

    Ответим на Ваши вопросы, подскажем по настройкам модулей.

  • Доступные тарифы

    От 850р. в месяц за полный функционал без ограничений.

  • Безопасность

    Сервера расположены на территории РФ, а все подключения дополнительно шифруются.