Импорт данных из Creatio (ex. bpm'online)

Пример решения задачи на базе аналитической low-code платформы Loginom:

CRM-система Creatio предлагает широкие возможности интеграции со сторонними программными продуктами. Данный пример описывает импорт данных из Creatio по протоколу Open Data (OData 3), который был выбран как наиболее простой и совместимый с Loginom в силу архитектуры REST и стандарта JSON. Доступ к объектам Creatio по протоколу OData 3 предоставляет веб-сервис EntityDataService.svc. Импорт данных осуществляется с помощью стандартного HTTP-запроса GET.

Системные требования

Платформа Creatio версии 7.15.4.3055 и новее. Если пользователь, от имени которого будут выполняться запросы к сервису EntityDataService.svc, не входит в группу администраторов, то его нужно добавить в группу Доступ к OData в разделе Права доступа на операции. Также для работы с объектами Creatio по протоколу OData необходимо этому пользователю разрешить доступ к объекту для внешних сервисов.

Исходные данные

Имя переменной
Метка Примечание
 Domain Адрес в Creatio Адрес доступа к CRM-системе без http(s)://
 Login Имя пользователя -
 Password Пароль -
 Collection Коллекция объектов Импортируемая коллекция объектов Contact
 Config Конфигурация В рамках одной системы Creatio возможно создавать несколько конфигураций. По умолчанию используется конфигурация №0
 Parameter Параметр запроса Необязательные параметры запроса, которые разрешены к использованию в Creatio. В данном примере применен параметр $top=1000, который импортирует первую 1000 объектов коллекции. Полный перечень параметров можно найти в справке

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

Алгоритм

  1. Передача запроса на получение коллекции объектов Contact.
  2. Преобразование JSON-ответа от Creatio в таблицу.

Сценарий

Сценарий импорта из Creatio
Рисунок 1. Сценарий импорта из Creatio

 Сборка URL

Формирует URL к веб-сервису EntityDataService.svc по маске

https://Domain/Config/ServiceModel/EntityDataService.svc/Collection?Parameter

В сценарии примера можно не задавать параметр запроса, но в случае необходимости параметр в настройке переменных должен начинаться с символа $. Согласно требованиям API Creatio к имени коллекции в строке запроса добавляется слово Collection (т.е. ContactCollection). Итоговый URL выглядит так:

https://demo.creatio.com/0/ServiceModel/EntityDataService.svc/ContactCollection?$top=1000

 Адрес Creatio

Посылает GET-запрос на сформированный URL и производит авторизацию запросов в Creatio. Имя пользователя и пароль используются те, что заданы в переменных.

Авторизация
Рисунок 2. Авторизация

 REST-запрос

Добавляет в запрос заголовок Accept = application/json;odata=verbose, чтобы получать ответ в формате JSON. Тело запроса отсутствует.

Настройка пользовательских заголовков
Рисунок 3. Настройка пользовательских заголовков

 Преобразование JSON в таблицу

Преобразует JSON-ответ формата {key:value} в таблицу с помощью JavaScript. Извлеченная информация из тела ответа содержится в столбцах parent, key, type, value.

 Фильтр строк

Удаляет строки со служебной информацией из столбца parent.

Фильтрация служебной информации
Рисунок 4. Фильтрация служебной информации

 Кросс-таблица

Создает результирующую таблицу со столбцами key и строками value. При этом столбец parent используется как ключевой.

Результирующая таблица
Рисунок 5. Результирующая таблица

Компоненты

Файлы

Скачать

results matching ""

    No results matching ""