Интеграция с Dynamics 365/CRM с использованием Scribe Online (2 часть: Настройка интеграции)

          Добавим новую интеграцию нажав на “+” на вкладке “SOLUTIONS” и выбрав “Integration” из выпадающего списка:

 

 

Основные настройки интеграции

 

          В открывшемся окне необходимо выполнить несколько настроек

  • Во-первых, задать имя нашему решению – поле “New Solution”. 
  • Во-вторых, указать агента, от имени которого будет работать наша интеграция, агент должен иметь доступ к обеим участвующим системам.
  • В-третьих, указать включена или выключена наша интеграция, проставив галочку в поле “INTEGRATION”.
  • В-четвертых, установить триггер срабатывания – будет-ли наша интеграция запускаться по запросу (вручную) или по расписанию, тогда необходимо будет настроить частоту запуска.
  • И чтобы наша интеграция заработала необходимо настроить интеграционную карту, или несколько карт, в зависимости от конкретной задачи интеграционного процесса. Выбираем из выпадающего меню “Create integration map” в строке “MAPS”.

 

Настройка интеграционной карты

    

          Интеграционная карта представляет набор блоков логических операций, которые и являются графическим отображением нашего интеграционного процесса. Scribe Online в дальнейшем преобразует эти графические блоки в конкретные вызовы API. Ниже представлен интерфейс редактора интеграционных карт:

  • Слева вверху видим имя карты.
  • Можно добавить описание карты в поле “Description”. Так как интеграция может называться “Передача всего”, а данная карта будет отвечать за какую-то конкретную передаваемую сущность.
  • Теперь нам необходимо добавить соединения, которые мы будем использовать в качестве приемника и источника. Для этого нажмем кнопку “Add connection” и добавим необходимые соединения.
  • Теперь приступим к сборке нашей схемы – Scribe, получив метаданные от систем, предоставит Вам все поддерживаемые ими операции. Обратите внимание, что все блоки имеют свою форму и у вас не получится соединить не сочетаемые блоки. Сверху располагается ещё один набор “стандартных блоков логических операций”
  • Dynamics 365/CRM может выступать как источником, так и приемником, что позволит Вам как получать данные из конкретной сущности, так и добавлять, обновлять, удалять объекты. Вы можете работать непосредственно с БД, используя блок “Update/Insert” или работать с сущностями на уровне CRM,  используя блок “Upsert” например. 
  • В нашем примере источником служит таблица SQL – мы также можем получать данные двумя способами, используя “Query” – запрос, который обращается к конкретной таблице или представлению, позволяя настроить автоматическое получение только обновленных данных, либо используя “Native Query” – он позволяет нам получать данные произвольным SQL запросом.
  • Выбрали запрос, выбрали сущность из которой мы будем запрашивать данные в поле “Entity”. Что же делать с результатами запроса – выбираем из стандартной логики блок “For Each Result”. И осталось только определить, что делать с результатом каждого запроса.
  • Как уже было описано можно обращаться к базе Dynamics 365/CRM разными способами. “Update/Insert” будет обращаться непосредственно к базе, Вам необходимо будет настроить формулу поиска, по какому полю искать запись в базе приемника. В нашем примере используется “Upsert” – это позволяет значительно увеличить скорость, использую массовую запись. Но для его использования потребуется создать внешний ключ у сущности в CRM, по которому и будет осуществляться поиск.

необходимо сопоставить поля в этой операции, всё это осуществляется простым перетаскиванием полей источника в соответствующие поля приемника:

          Кроме того, Scribe Online поддерживает множество экселеподобных функций, которые позволят Вам трансформировать данные “на лету”.

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

 

          Это лишь малая часть возможностей Scribe Online. Если Вы хотите узнать больше о возможностях программы или реализации какого-то определенного кейса – пишите нам на request@yolva-it.ru!