Отправить запрос / Send request
Группа действий: Интеграции
Действие отправляет HTTP-запрос для обращения к RESTful веб-сервису
Настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
URL REST-сервиса | URL REST-сервиса | Robin.String | Да | |
Метод | Определяет тип создаваемого запроса. По умолчанию Get. | Robin.String | Нет | |
Тело запроса | Тело отправляемого запроса. Позволяет отправить запрос в виде JSON строки. | Robin.String | Нет | |
Параметры запроса | Параметры строки запроса | Robin.Dictionary | Нет | |
Параметры формы | Параметры HTML формы для метода POST. | Robin.Dictionary | Нет | |
Авторизация | Словарь с параметрами авторизации - Basic или Bearer Token. В случае Basic авторизации словарь должен иметь ключи «user» и «pass», а значения элементов словаря должны содержать логин и пароль пользователя. В случае Bearer Token авторизации словарь должен иметь ключ «token», а значение элемента должно содержать Bearer Token. | Robin.Dictionary | Нет | |
Заголовки запроса | Набор заголовков отправляемого запроса и их значений. Каждый ключ – отдельный заголовок. | Robin.Dictionary | Нет | |
Путь к файлу для отправки методом POST | Путь к файлу, который нужно прикрепить к запросу. | Robin.FilePath | Нет | |
Выбор прокси-сервера | Определяет настройки используемого прокси-сервера. Можно использовать системные настройки прокси, заданные на уровне ОС, либо настроить параметры пользовательского прокси-сервера, либо подключаться без прокси-сервера. По умолчанию используются системные настройки. | Robin.String | Нет | |
Протокол прокси- сервера | Протокол прокси-сервера. Например: http, https | Robin.String | Нет | |
Имя хоста или IP-адрес прокси-сервера | Имя хоста или IP-адрес прокси-сервера | Robin.String | Нет | |
Порт прокси-сервера | Порт прокси-сервера | Robin.String | Нет | |
Логин пользователя для подключения к прокси- серверу | Логин пользователя для подключения к прокси-серверу | Robin.String | Нет | |
Пароль пользователя для подключения к прокси-серверу | Пароль пользователя для подключения к прокси-серверу | Robin.Object | Нет | |
Получить файл | Возможность получить файлы из запроса. Если выбрано значение «true», обязательно должны быть заполнены поля «Путь до папки» и «Имя файла». | Robin.Boolean | true | Нет |
Путь до папки | Путь к папке, в которой нужно сохранить полученный файл. | Robin.FolderPath | C:\doc\img | Нет |
Имя файла | Поле для имени файла с расширением. | Robin.String | Нет | |
Перезаписать | Перезаписать существующий файл. В случае, если значение параметра false, а в указанной папке уже существует файл с таким же именем и расширением, то будет вызвана ошибка. Значение по умолчанию - false. | Robin.Boolean | true | Нет |
Отключить SSL | Отключить SSL. Если значение true, то отключается опция проверки SSL-сертификата. По умолчанию значение false. | Robin.Boolean | true | Нет |
Результаты | ||||
Статус ответа | Числовая переменная, в которую запишется код статуса ответа веб-сервиса. Возвращается всеми методами. | Robin.String | ||
Заголовки ответа | Набор заголовков, получаемых от сервера, и их значения. Возвращается всеми методами. Если в ответе от сервера встречаются повторяющиеся заголовки, их значения собираются в отдельную коллекцию, которая сохраняется в словаре с заголовком в качестве ключа. | Robin.Dictionary | ||
Тело ответа | Строковая переменная, в которую запишется тело ответа веб-сервиса в raw формате. Возвращается всеми методами | Robin.String | ||
Идентификатор | Строковая переменная, в которую запишется идентификатор из заголовка ответа „Id“. Возвращается только методом POST | Robin.String | ||
Location | Заголовок с указателем ресурса объекта. Имеет смысл для статусов 201, 3хх и только для метода POST | Robin.String |
Особые условия использования
Подробнее о REST: https://ru.wikipedia.org/wiki/REST
Пример использования 1
Задача: необходимо отправить rest-запрос на сервис https://dadata.ru/ для получения актуальных данных об организации и разобрать ответ от сервиса.
В решении указано, как верно заполнить параметры для конкретной задачи, а так же рассмотрены остальные параметры.
Решение: воспользоваться действием "Отправить запрос". Весь процесс представлен в схеме робота rest-zapros.robin-source .
- Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
Разберем подробно параметры действия:
Поле "URL REST-сервиса" - это адрес, к которому необходимо подключиться. Подключаться мы будем к сервису dadata. Тело запроса выглядит в одну строчку. Данные формируются в формате JSON.
Поле "Метод" - в нашем случае необходимо указать значение POST.
Поле "Тело запроса" - необходимо указать текст тела запроса.
Если параметры должны быть переданы не в теле, а в URL, то в этом случае параметры запроса необходимо указать сразу в URL. Зависит это от сервиса, т.е как сервис ожидает получить запрос (в теле запроса или в URL).
Поле "Параметры формы" - в данном поле можно заполнить значения для тела запроса. Отличие от поля "Тело запроса" : "Тело запроса"- это строка, "Параметры формы" - словарь. Поле "Параметры формы" используется для метода POST. В словаре указываются в виде ключей названия объектов JSON , название элементов и далее значения по этим элементам.
Поле "Параметры запроса" - нужно на тот случай, если сервис ожидает, что параметры запроса будут переданы через URL, а не через тело запроса.
Поле "Заголовки запроса" - словарь, в котором необходимо указать название заголовков и их ключи. В нашем случае словарь из 3-х записей:
Пример заполнения поля "Заголовки запроса":
Один из заголовков - это заголовок с авторизацией. Его можно указать в поле "Авторизация", но так же ошибкой не будет, если данный заголовок будет указан в поле "Заголовки запросов".
Поле "Путь к файлу для отправки методом POST"- необходимо указать путь до файла с запросом, если он требуется.
Все остальные поля не имеют отношения к смыслу запроса и его формату. Поля начиная с "Выбор прокси-сервера" и заканчивая полем "Пароль пользователя для подключения к прокси-серверу" - это все поля, которые относятся к настройке прокси-сервера, если он необходим.
В поле "Выбор прокси-сервера" необходимо выбрать какой вариант использовать
Если системный прокси-сервер, то будут использоваться настройки сервера, которые установлены в самой вашей системе под которой работает робот.
Если выбрано значение "Без прокси-сервера" , то в этом случае не используются ни системные настройки , ни какие-либо другие.
При выборе значений "Системный прокси-сервер" или "Без прокси-сервера", поля ниже можно не заполнять.
Только если выбрано значение "Пользовательский прокси-сервер" необходимо заполнить поля ниже (выделены на скрине).
Остальные поля связаны с получением файла от сервиса.
Поле "Получить файл" - необходимо проставить чек-бокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чек-бокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
Поле "Перезаписать" необходимо на тот случай, если в данной папке уже содержится файл с таким же названием и расширением.
При запуске робота необходимо нажать на кнопку "Старт" в верхней панели.
В результате робот отработал успешно. Ответ от сервиса разобран роботом. Детально изучить схему робота можно. Для этого нужно сохранить файл и открыть его у себя в студии: rest-zapros.robin-source
Пример использования 2
Задача: отправить GET запрос к сервису https://dadata.ru/api/find-party/ , сохранив результат ответа в файл формата json.
Решение: воспользоваться действием "Отправить запрос".
Реализация:
- Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
- Нажать на кнопку "Старт" в верхней панели.
Результат:
Программный робот отработал успешно.
Сохранен файл формата json с ответом от сервиса.