Документация
Выполнение HTTP запросов в сценариях
В сценариях есть возможность выполнить HTTP запрос, для этого необходимо использовать команду Fetch request.
Для запроса можно указать URL, метод, заголовки и тело запроса. В URL, заголовках и теле запроса можно использовать переменные из текущего контекста выполнения сценария, это позволит использовать данные из таблиц в своих запросах. Также, при необходимости, таким способом можно добавить в запрос ключ авторизации на стороннем ресурсе, храня его в зашифрованной таблице.
Запрос отправляется через сервер XSDB для обхода ограничений браузера.
Данные запросов и ответов не сохраняются, за исключением следующих случаев:
  • Запрос содержит некорректный протокол
  • Попытка обратиться к непубличным ресурсам
При возникновении таких случаев в журналах будет сохранен адрес запроса. Заголовки и тело запроса не будут сохранены.
Если запрос выполнен успешно или завершился с ошибкой сети при обращении к внешнему ресурсу, его данные так же не сохраняются.
В случае возникновения ошибки при выполнении запроса, сценарий добавит сообщение об ошибке в результат сценария.
Кэширование
В рамках исполнения сценария одинаковые запросы будут отправлены лишь один раз, независимо от метода. Запросы будут сравниваться с уже вычисленными значениями переменных, если они используются.
Также можно настроить кэширование запроса на устройстве на определенное время. В таком случае, при повторном запуске сценария, ответ на запрос будет отдан из кэша.
Повторные попытки
Для запроса можно настроить количество повторных попыток, если запрос завершился с ошибкой. Рекомендуется между попытками также настроить и задержку в несколько секунд.
Лимиты
  • Сервер обрабатывает лишь один запрос для одного аккаунта одновременно. Пока выполняется один запрос, другие будут ожидать его выполнения.
  • Максимальный размер ответа 5MB.
  • Максимальное время ожидания ответа 15 сек.
Запись результата
Для записи результата в переменные пользователем определяется схема Переменная = Путь к данным.
Путь к данным оформляется в JSPATH и работает с ответом в формате JSON.
Все типы данных будут изначально сохранены как строки. Сложные типы данных будут переданы как json-строки.
Если для переменной ожидается весь результат (пример пути — .), то данные будут сохранены независимо от формата ответа. А для остальных путей (пример пути — .automobiles{.maker === "Honda" && .year > 2009}.model) будет ожидаться только JSON, и в случае его отсутствия будет ошибка запроса.

📌 Следующий шаг: JSPATH →
📌 Также может быть полезно: Команды | Сценарии