Импорт данных из Creatio (ex. bpm'online)
Пример решения задачи на базе аналитической low-code платформы Loginom:
- Скачать бесплатно Loginom Community Edition
- Скачать бесплатно пакет, реализующий описанный сценарий
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 необходимо этому пользователю разрешить доступ к объекту для внешних сервисов.
Исходные данные
Имя переменной |
Метка | Примечание |
---|---|---|
Адрес в Creatio | Адрес доступа к CRM-системе без http(s):// | |
Имя пользователя | - | |
Пароль | - | |
Коллекция объектов | Импортируемая коллекция объектов Contact | |
Конфигурация | В рамках одной системы Creatio возможно создавать несколько конфигураций. По умолчанию используется конфигурация №0 | |
Параметр запроса | Необязательные параметры запроса, которые разрешены к использованию в Creatio. В данном примере применен параметр $top=1000, который импортирует первую 1000 объектов коллекции. Полный перечень параметров можно найти в справке |
Исходные данные заданы как набор переменных для сценария для удобства редактирования.
Алгоритм
- Передача запроса на получение коллекции объектов Contact.
- Преобразование JSON-ответа от 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. Имя пользователя и пароль используются те, что заданы в переменных.

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

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

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