Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

HTTP-запрос

Workflow: Node HTTP-запросаCommunity Edition+

Введение

Когда вам нужно взаимодействовать с другой веб-системой, вы можете использовать узел HTTP-запроса. При выполнении этот узел отправляет HTTP-запрос на указанный адрес в соответствии со своей конфигурацией. Он может передавать данные в формате JSON или application/x-www-form-urlencoded для взаимодействия с внешними системами.

Если вы знакомы с такими инструментами для отправки запросов, как Postman, то быстро освоите использование узла HTTP-запроса. В отличие от этих инструментов, все параметры в узле HTTP-запроса могут использовать контекстные переменные из текущего рабочего процесса, что позволяет органично интегрировать их с бизнес-процессами вашей системы.

Установка

Это встроенный плагин, установка не требуется.

Создание узла

В интерфейсе настройки рабочего процесса нажмите кнопку с плюсом («+») в потоке, чтобы добавить узел «HTTP-запрос»:

HTTP-запрос_Добавить

Настройка узла

Узел HTTP-запроса_Настройка

Метод запроса

Доступные методы HTTP-запросов: GET, POST, PUT, PATCH и DELETE.

URL-адрес запроса

URL-адрес HTTP-сервиса, который должен включать часть протокола (http:// или https://). Рекомендуется использовать https://.

Формат данных запроса

Это заголовок Content-Type в запросе. Поддерживаемые форматы см. в разделе «Тело запроса».

Настройка заголовков запроса

Пары «ключ-значение» для секции заголовков запроса. Значения могут использовать переменные из контекста рабочего процесса.

Подсказка

Заголовок запроса Content-Type настраивается через формат данных запроса. Нет необходимости заполнять его здесь, и любое переопределение будет неэффективным.

Параметры запроса

Пары «ключ-значение» для секции параметров запроса (query). Значения могут использовать переменные из контекста рабочего процесса.

Тело запроса

Часть Body (тело) запроса. Поддерживаются различные форматы в зависимости от выбранного Content-Type.

application/json

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

Подсказка

Переменные должны использоваться внутри JSON-строки, например: { "a": "{{$context.data.a}}" }.

application/x-www-form-urlencoded

Формат «ключ-значение». Значения могут использовать переменные из контекста рабочего процесса. При наличии переменных они будут разобраны как строковый шаблон и объединены в итоговое строковое значение.

application/xml

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

multipart/form-data v1.8.0+

Поддерживает пары «ключ-значение» для данных формы. Файлы можно загружать, если тип данных установлен как файловый объект. Файлы могут быть выбраны только через переменные из существующих файловых объектов в контексте, например, результаты запроса к файловой коллекции или связанные данные из ассоциированной файловой коллекции.

Подсказка

При выборе файловых данных убедитесь, что переменная соответствует одному файловому объекту, а не списку файлов (при запросе отношений «один-ко-многим» или «многие-ко-многим» значение поля отношения будет массивом).

Настройки таймаута

Если запрос долго не отвечает, настройки таймаута можно использовать для отмены его выполнения. В случае превышения времени ожидания запрос завершится с ошибкой, и текущий рабочий процесс будет преждевременно прерван.

Игнорировать ошибки

Узел запроса считает успешными стандартные HTTP-статусы в диапазоне от 200 до 299 (включительно), все остальные считаются ошибками. Если выбрана опция «Игнорировать неудачные запросы и продолжить рабочий процесс», то последующие узлы рабочего процесса будут выполняться, даже если запрос завершится с ошибкой.

Использование результата ответа

Результат ответа HTTP-запроса может быть разобран узлом JSON-запрос для использования в последующих узлах.

Начиная с версии v1.0.0-alpha.16, три части результата ответа узла запроса могут использоваться как отдельные переменные:

  • Код состояния ответа
  • Заголовки ответа
  • Данные ответа

Узел HTTP-запроса_Использование результата ответа

Код состояния ответа обычно представляет собой стандартный числовой HTTP-статус, например, 200, 403 и т. д. (предоставляется поставщиком услуги).

Заголовки ответа (Response headers) представлены в формате JSON. Как заголовки, так и данные ответа в формате JSON все еще требуют разбора с помощью узла JSON перед использованием.

Пример

Например, мы можем использовать узел запроса для интеграции с облачной платформой для отправки SMS-уведомлений. Конфигурация для API отправки SMS, например, от Alibaba Cloud, может выглядеть следующим образом (вам потребуется самостоятельно ознакомиться с документацией конкретного API для адаптации параметров):

�Узел HTTP-запроса_Настройка

Когда рабочий процесс активирует выполнение этого узла, он вызовет SMS API Alibaba Cloud с настроенным содержимым. В случае успешного запроса SMS будет отправлено через облачный SMS-сервис.