Начало работы с low-code интеграцией веб-сервисов

Продукты
Все продукты

Creatio поддерживает интеграцию с пользовательскими REST-сервисами с помощью инструментов low-code. На основе бизнес-логики пользователя Creatio сгенерирует и отправит запрос веб-сервису, получит ответ и предоставит необходимые данные. Данные, полученные от веб-сервиса, можно использовать для создания или обновления записей в базе данных Creatio, а также для реализации пользовательской бизнес-логики или автоматизации.

Как работает интеграция Creatio с веб-сервисами 

Основные параметры подключения к веб-сервису настраиваются в разделе Веб-сервисы рабочего места Студия. Здесь вы можете настроить параметры интеграции с веб-сервисом, в том числе:

  • Как Creatio подключается к веб-сервису и аутентифицируется в нем.

  • Как Creatio формирует запросы к веб-сервису.

  • Как Creatio читает ответ от веб-сервиса.

На заметку. Сложность настройки во многом зависит от того, насколько хорошо реализован конкретный веб-сервис и документация к нему. Наиболее распространенные варианты интеграции с веб-сервисами не требуют специальных навыков разработки.

Общая процедура настройки интеграции с веб-сервисом:

  1. Изучение документации по REST-сервисам, которые необходимы для выполнения конкретной бизнес-задачи. Необходимо выработать полное понимание того, как вызывается используемый веб-сервис.

  2. Для каждого из необходимых веб-сервисов:

    1. Настройка свойств веб-сервиса, включая URI в разделе Веб-сервисы.

    2. Добавление HTTP-методов, которые сможет вызывать Creatio, и их параметров.

  3. Реализация вызова веб-сервисов в рамках выполнения бизнес-процессов.

    Пример. Необходимо реализовать автоматическое обновление курсов обмена валют в справочнике Валюты, используя курсы, полученные от веб-сервиса “Fixer” (http://fixer.io).

    Для реализации данного примера необходимо настроить интеграцию с веб-сервисом Fixer для получения обновленных курсов обмена валют по отношению к базовой валюте и реализовать вызов веб-сервиса и обновление данных в справочнике Валюты в рамках бизнес-процесса.

    Настройка интеграции с веб-сервисом рассмотрена в последующих главах на примере REST-сервиса “Fixer”.

Изучение документации веб-сервиса 

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

Например, согласно http://fixer.io/, для вызова веб-сервиса “Fixer” можно использовать такие запросы типа GET:

  • https://data.fixer.io/latest — для получения последних актуальных курсов обмена валют.

  • https://data.fixer.io/2000-01-03 — для получения курсов валют на конкретную дату (в данном конкретном случае — на 3 января 2000 г.).

В запросах можно использовать такие параметры:

  • access_key – передает в запросе ваш API ключ для аутентификации на http://data.fixer.io/api/. Для получения бесплатного API ключа зарегистрируйтесь на http://fixer.io/. Обязательный параметр.

  • base — для указания базовой валюты, в отношении которой будут рассчитаны курсы валют в ответе от сервиса. Например, для получения курсов обмена по отношению к доллару США, используется следующий запрос: https://data.fixer.io/latest?base=USD. Если параметр “base” не был передан в запросе, то будут возвращены курсы обмена валют по отношению к евро.

  • symbols — для указания валют, курсы обмена которых следует вернуть. Например, для получения курсов обмена доллара США и британского фунта используется следующий запрос: https://data.fixer.io/latest?symbols=USD,GBP. Если параметр “symbols” не был передан в запросе, то будут возвращены курсы обмена всех валют, поддерживаемых веб-сервисом.

Вне зависимости от метода и параметров, используемых в запросе, веб-сервис возвращает ответы в одинаковой структуре:

{"success":true,"timestamp":1521527348,"base":"EUR","date":"2018-02-22","rates":{"AUD":1.5699,"BGN":1.9558,...,"ZAR":14.384}}

Каждый ответ содержит 3 параметра:

  • success – указывает, был ли запрос успешным.

  • timestamp – объект, содержащий стандартную для UNIX отметку времени, которая указывает на время сбора данных, используемых в работе веб-сервиса.

  • base — указывает базовую валюту, по отношению к которой были посчитаны курсы обмена валют. Например, "base":"EUR" в ответе указывает на то, что курсы валют были рассчитаны по отношению к евро.

  • Date — содержит дату актуальности возвращенных курсов. Например, "date":"2018-02-22" в ответе указывает на то, что курсы валют были рассчитаны на 22 февраля 2018 года.

  • Rates — содержит массив вложенных параметров, каждый из которых содержит курс обмена определенной валюты по отношению к базовой валюте. Например, "rates":{"GBP":0.88343,"USD":1.2276} в ответе указывает на то, что сервисом были возвращены курсы обмена британского фунта ("GBP":0.88343) и доллара США ("USD":1.2276).

Таким образом, для интеграции с веб-сервисом в Creatio необходимо выполнить настройки отправки запросов и обработки ответов.