Для каждого веб-сервиса необходимо настроить вызов необходимых методов. Для одного веб-сервиса можно настроить вызов нескольких методов. Параметры вызова и ответа можно добавить вручную или импортировать из примеров вызова и ответа по кнопке [Быстрая настройка], выбрав формат примера (cURL, RAW or JSON) в выпадающем меню. Также параметры вызова можно добавить из поля [Адрес метода].
Пример
Согласно “http://fixer.io/”, для получения последних актуальных курсов обмена валют можно использовать запрос простого метода GET c таким endpoint: http(s)://data.fixer.io/latest. Необходимо добавить информацию о данном методе на деталь [Методы сервиса] раздела [Веб-сервисы].
На заметку
В рамках одного процесса можно вызывать любое количество методов, используя несколько элементов процесса [Вызвать веб-сервис], с передачей значений параметров между ними.
1.На странице настройки интеграции с веб-сервисом добавьте методы при помощи кнопки [+] детали [Методы сервиса] (Рис. 1).
2.Заполните свойства метода (Рис. 2):
ПОЛЕ | КОММЕНТАРИЙ | ПРИМЕР |
---|---|---|
Имя | Название будет отображаться в поле [Какой сервис вызывать?] области свойств элемента процесса [Вызвать веб-сервис]. | Получить курсы обмена |
Код | Используется разработчиками для взаимодействия с веб-сервисом в программном коде bpm'online. В данном случае, уникальное имя интеграции с веб-сервисом состоит из его названия и префикса “Usr”. | UsrLatest |
Адрес метода | Для определения данного значения используется документация веб-сервиса. Вы можете указать статическое значение либо использовать “Параметры в адресе метода” в качестве “переменных” для формирования динамического адреса метода, который будет зависеть от свойств конкретного элемента процесса [Вызвать веб-сервис]. Например, у веб-сервиса “Fixer” есть две “конечных точки”. “latest” — возвращает последние актуальные курсы валют, и дата в текстовом формате (например, “2000-01-03”) — возвращает курсы валют на эту дату. В данном поле можно указать конкретную конечную точку, например “latest”. Для более гибкой интеграции можно передать конечную точку в качестве параметра адреса метода, указав имя параметра в фигурных скобках. В данном примере мы используем переменную “{endpoint}”. Можно использовать несколько переменных, например: “{parameter1}/{parameter2}”. | {endpoint} |
Тип запроса | Тип HTTP метода, используемый в запросе. Поддерживаются стандартные типы HTTP методов. Тип запроса, как правило, указан в документации веб-сервиса. Например, для получения таких данных, как курс валют, используются запросы типа GET. | GET |
Тип содержимого | Поддерживается тип JSON. | JSON |
Тайм-аут ответа, мс | Время ожидания ответа от веб-сервиса. Если после отправки запроса не было получено ответа, либо был получен код ошибки, то по истечении этого времени bpm’onlne повторит запрос (если еще остались неиспользованные попытки повторного вызова). | 500 |
Полный адрес | Полный адрес генерируется автоматически. Он состоит из URI веб-сервиса и адреса метода в формате “?paramCode1=value1¶mCode2=value2”. Полный адрес отображается для проверки настроек метода. | http://data.fixer.io/api/{endpoint} |
Пример
Структура адреса: "Web service URI" + "Адрес метода" + "?" + "Параметры вызова, разделенные символом &". Например: http://data.fixer.io/latest?base=USD&symbols=GBP.
После этого параметры вызова можно добавить вручную или импортировать из примеров.
Добавление параметров из поля [Адрес метода]
1.В поле [Адрес метода] укажите URL с параметрами и нажмите кнопку быстрой настройки в правой части поля. Тот же результат можно получить, выбрав опцию [По полю “Адрес метода”] в меню кнопки [Быстрая настройка] , расположенной в верхней части окна добавления метода (Рис. 3):
2.Из открывшегося списка параметров выберите те, которые необходимо добавить в вызов, и нажмите [Сохранить] (Рис. 4):
В результате выбранные параметры будут добавлены в вызов. Вы можете изменить настройки параметров (например, установить признак [Обязательный] для параметра “Access_key”), чтобы подготовить их для дальнейшего использования на шаге бизнес-процесса [Вызвать веб-сервис].
Добавление параметров вручную
1.Добавьте параметры вызова, нажав на кнопку [Добавить параметр] на вкладке [Параметры вызова] (Рис. 5).
Доступны следующие типы параметров вызова:
Method address parameter | Use these parameters as “variables” to generate the request method address. Add names of method address parameters, enclosed in curly braces in the [Method address] field of the method, for instance: {parameterName1}/{parameterName2}, etc. On the actual web service call, these “variables” will be replaced with actual components of the method address (specified for corresponding [Call web service] element in the process designer), for instance: http://web.service.uri/parameterValue1/parameterValue2 For this parameter type, the [Required] checkbox is selected and non-editable. |
Body parameter | This type of parameter is used for sending a data of any type (including collections) in the body of request. Подробнее >>> (the parameter is not available for the GET method) |
Query parameter | These parameters will be added to the request after method address and the “?” character. Подробнее >>> |
Header parameter | This type of parameter is used for generating header section of request. Подробнее >>> |
Cookies parameter | Use parameters of this type to pass cookies in your requests. For example, you can pass an authentication cookie, received earlier. Подробнее >>> |
2.Заполните значения параметра. Если в поле [Адрес метода] вы указали переменную {endpoint}, то необходимо добавить параметр с таким же кодом (без фигурных скобок) и типом “Параметр в адресе метода” (Рис. 6).
На заметку
Системные настройки, используемые при настройке параметров метода, привязываются к пакету веб-сервиса. Это упрощает перенос веб-сервиса в другую систему.
На заметку
Если ваш параметр запроса является массивом, то в поле [Тип параметра] выберите “Параметр тела”, а в поле [Тип данных] выберите “Объект”. После этого станут доступны вложенные параметры. Подробнее >>>
3.Добавьте параметр “Базовая валюта” с типом “Параметр запроса” и заполните его свойства (Рис. 7).
Пример
По умолчанию, веб-сервис “Fixer” возвращает курсы валют по отношению к евро. Согласно документации веб-сервиса, в запросах можно использовать параметр “base” для передачи базовой валюты.
Используйте параметры вызова различных типов для генерации запросов в соответствии с документацией каждого конкретного веб-сервиса. В данном случае достаточно установить “Параметр запроса” для передачи значения базовой валюты. Укажите “USD” в качестве значения по умолчанию параметра в поле [Значение по умолчанию]. Можно указать постоянное значение (константу) или передать его из системной настройки. Если поле заполнено, то для параметра автоматически снимается и становится недоступным для редактирования признак [Обязательный].
4.Добавьте параметр “API key”, указав “Параметр запроса” в поле [Тип параметра], для передачи вашего персонального API-ключа. Установите для этого параметра признак “Обязательный” (Рис. 8).
На заметку
Для получения API ключа зарегистрируйтесь на https://fixer.io/.
В результате bpm’online сможет вызывать веб-сервис, используя запросы, автоматически генерируемые бизнес-процессами на основании шаблона:
http://data.fixer.io/api/{endpoint}?access_key={your access key}&base={base currency}
Полный URL-адрес с параметрами генерируется в поле [Полный адрес] в соответствии с добавленными параметрами вызова (Рис. 9).
Значения в фигурных скобках ({endpoint} и {base currency}) будут определяться параметрами элемента процесса [Вызвать веб-сервис], например:
http://data.fixer.io/api/latest?access_key=00000000000000000000000000000000&base=USD
На заметку
При добавлении нового веб-сервиса в мини-карточке можно указать URL с параметрами, которые будут автоматически добавлены в качестве параметров запроса созданного веб-сервиса.
Смотрите далее