HTTP запрос
Рабочий процесс: узел HTTP-запросаCommunity Edition+Введение
Когда нужно взаимодействовать с другой веб-системой, можно использовать узел «HTTP запрос». При выполнении этот узел отправляет HTTP запрос на указанный адрес в соответствии с конфигурацией. Он может передавать данные в формате JSON или application/x-www-form-urlencoded для взаимодействия с внешними системами.
Если вы знакомы с инструментами отправки запросов, например Postman, освоить узел «HTTP запрос» будет просто. В отличие от таких инструментов, все параметры в узле «HTTP запрос» могут использовать переменные контекста текущего рабочего процесса, что позволяет органично интегрировать его в бизнес-процессы системы.
Установка
Встроенный плагин, установка не требуется.
Создание узла
В интерфейсе настройки рабочего процесса нажмите кнопку плюса ("+") в потоке, чтобы добавить узел «HTTP запрос»:

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

Метод запроса
Доступные HTTP-методы запроса: GET, POST, PUT, PATCH, DELETE.
URL запроса
URL HTTP-сервиса должен включать протокол (http:// или https://). Рекомендуется использовать https://.
Формат данных запроса
Это Content-Type в заголовке запроса. Поддерживаемые форматы см. в разделе «Тело запроса».
Настройка заголовков запроса
Пары ключ-значение для секции заголовков запроса. Значения могут использовать переменные контекста рабочего процесса.
Заголовок Content-Type настраивается через формат данных запроса. Заполнять его здесь не нужно, переопределение не сработает.
Параметры запроса
Пары ключ-значение для параметров строки запроса. Значения могут использовать переменные контекста рабочего процесса.
Тело запроса
Тело запроса. Поддерживаемые форматы зависят от выбранного Content-Type.
application/json
Поддерживается стандартный JSON-текст. Переменные контекста рабочего процесса можно вставлять кнопкой переменных в правом верхнем углу текстового редактора.
Переменные должны использоваться внутри JSON-строки, например: { "a": "{{$context.data.a}}" }.
application/x-www-form-urlencoded
Формат пар ключ-значение. Значения могут использовать переменные контекста рабочего процесса. При наличии переменных они будут разобраны как строковый шаблон и объединены в итоговое строковое значение.
application/xml
Поддерживается стандартный XML-текст. Переменные контекста рабочего процесса можно вставлять кнопкой переменных в правом верхнем углу текстового редактора.
multipart/form-data (1.8.0+)
Поддерживаются пары ключ-значение для form-data. Файлы можно загружать, когда тип данных задан как файловый объект. Файлы выбираются только через переменные существующих файловых объектов в контексте, например результаты запроса по файловой коллекции или связанные данные из ассоциированной файловой коллекции.
При выборе файловых данных убедитесь, что переменная соответствует одному файловому объекту, а не списку файлов (в запросах «один-ко-многим» или «многие-ко-многим» значение поля связи будет массивом).
Настройки тайм-аута
Когда запрос долго не отвечает, настройка тайм-аута позволяет отменить его выполнение. Если запрос завершился по тайм-ауту, текущий рабочий процесс досрочно завершится со статусом ошибки.
Игнорировать сбои
Узел «HTTP запрос» считает успешными стандартные HTTP-статусы от 200 до 299 включительно, а остальные — ошибочными. Если включена опция «Игнорировать неудачные запросы и продолжить рабочий процесс», последующие узлы рабочего процесса будут выполняться даже при ошибке запроса.
Использование результата ответа
Результат ответа HTTP запроса можно разобрать узлом Вычисление JSON для использования в последующих узлах.
Начиная с версии v1.0.0-alpha.16, три части результата ответа узла «HTTP запрос» можно использовать как отдельные переменные:
- Статус-код ответа
- Заголовки ответа
- Данные ответа

Статус-код ответа обычно представлен стандартным HTTP-кодом в числовом виде, например 200, 403 и т.д. (как возвращает провайдер сервиса).
Заголовки ответа имеют JSON-формат. И заголовки, и JSON-данные ответа перед использованием нужно разобрать через узел «Вычисление JSON».
Пример
Например, узел «HTTP запрос» можно использовать для интеграции с облачной платформой отправки SMS-уведомлений. Конфигурация API облачных SMS может выглядеть так (параметры нужно адаптировать по документации конкретного API):

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

