Решена проблема переноса данных между веб-сервисами

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

Решена проблема переноса данных между веб-сервисами

За 10-ти летний опыт внедрения CRM, мы в Пинол пришли к выводу, что нет продукта, способного закрыть ВСЕ боли бизнеса. Нет на 100% универсального ПО — каждый продукт хорош со своей стороны и нельзя угнаться за всеми тенденциями в функционале на рынке.


Практически все наши клиенты обращаются с задачей настройки интеграции между веб-сервисами, которые они используют (сервис рассылок или интернет-банкинг интегрировать с CRM и т.д.). Не всегда нам удавалось закрыть эти боли — не все сервисы имеют готовые модули с возможностью интеграции.

Но мы нашли выход — сами разработали платформу для интеграций между веб-сервисами. Для пользователя все просто: нужно зарегистрироваться в личном кабинете Пинкит и выбрать нужную интеграцию. Если в списке нет готового сервиса — пишите, обсудим доработку.

Алексей Окара, основатель компании "Пинол"

Идея продукта

Идея продиктована клиентами Пинол — все используют разные сервисы и нужен обмен данными между ними. Тут есть как минимум 2 выхода:

  1. мириться с недостающим функционалом и переносить все вручную,
  2. разрабатывать кастомную интеграцию для каждого заказчика

Первый вариант не подходит — клиент не хочет тратить время и мириться с ошибками при переносе. А второй скрывает ряд существенных недостатков:

  • дорого — решение проектируется и изготавливается с нуля;
  • ресурсоёмко — как правило, нет возможности разворачивать интеграции клиентов на мощностях интегратора (в том числе из-за проблем с учетом и оплатой этих мощностей уже после реализованной интеграции). Далеко не все заказчики могут выделить ресурсы и самостоятельно заниматься поддержкой;
  • сложность масштабирования — каждое похожее решение в таком сценарии разворачивается отдельно и так же отдельно должно поддерживаться, что сводит на нет человеческие ресурсы компании.

Каждый раз сталкиваясь с этими недостатками, в Пинол решили, что нужна своя платформа для различных интеграций. Такой внешний независимой сервис должен, как подушка для иголок, стать точкой входа / выхода для них - уметь принимать данные из одного сервиса и корректно передавать их в другой.

Решена проблема переноса данных между веб-сервисами

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

Что такое Пинкит 2.0

Пинкит 2.0 — это платформа, которая позволяет настроить интеграцию между двумя разными сервисами, имеющими REST API.

То есть, платформа позволяет реализовать как единоразовую миграцию данных из сервиса А в сервис Б, так и передачу данных из сервиса в сервис по событию.

Помимо этого, платформа позволяет реализовать сценарии со сложной логикой, где требуется фильтрация исходных данных из сервиса А, обработка этих данных посредством фильтрации, перебором с дополнительными произвольными http-запросами к сервисам A или Б c записью ответов и возможностью использовать эти ответы на последующих шагах обработки или при сопоставлении данных для передачи в сервис Б.

Функционал

Доступы к различным сервисам

Предлагаем рассмотреть на примере первое и основное - доступы к сервисам. Они добавляются в одноименном разделе:

Решена проблема переноса данных между веб-сервисами

В разделе "Интеграции" проходит основная работа с сервисом. Здесь есть список всех ваших интеграций и базовых функций:

Решена проблема переноса данных между веб-сервисами

Рассмотрим интеграцию между CRM Битрикс24 и сервисом рассылок Юнисендер:

Решена проблема переноса данных между веб-сервисами

В правой части отображен статус интеграции. Статусов может быть 3:

  • Активная - интеграция настроена и работает
  • Пауза - работа интеграции приостановлена (соответствующей соседней кнопкой на панели можно приостановить интеграцию и запустить вновь)
  • Черновик - интеграция настроена не до конца, то есть в процессе настройки не пройдены все шаги и на финальном шаге не произведен запуск

Для управления процессом импорта / экспорта есть такие интуитивные кнопки:

  • Пауза/Запуск - приостановить/запустить интеграцию
  • Настройки - возвращаемся к настройке текущей интеграции по шагам с возможностью исправить и перезапустить интеграцию или оставить черновиком.
  • Копировать
  • Удалить

В левой части - кнопка перехода в Журнал интеграции.

В журнал попадает ответ сервисов на все запросы платформы Пинкит 2.0

Есть возможность поиска по тексту запроса, датам ответа, и типу ответа.

Решена проблема переноса данных между веб-сервисами

Настройка

Простую интеграцию на платформе Пинкит 2.0 сможет настроить даже начинающий пользователь. По поводу реализации сложных сценариев можно обратиться в техподдержку платформы.

Рассмотрим настройку интеграции по шагам на примере Обратной интеграции из сервиса Unisender в Битрикс24. Настроим возврат статуса и веб-версию письма, отправленного клиенту из сервиса рассылок Unisender - в Битрикс24.

На Шаге 1 осуществляется подключение сервиса А, событие для отправки данных и базовая фильтрация.

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

Выбираем подключение - это ранее подключенный нами сервис во вкладке "Доступы".

Выбираем фильтры. Часть фильтров выводится в интерфейсе (в данном случае это статус письма).

Решена проблема переноса данных между веб-сервисами

Если требуется дополнительная фильтрация, то можно добавить пользовательский фильтр.

В окне настройки пользовательского фильтра выберем его тип:

  • Запрос - применяется в get-параметрах запроса.
  • Тело - применяется в теле запроса.
  • Ответ - применяется при чтении данных полученных из ответа сервиса

А также название параметра и его значение для фильтрации:

Решена проблема переноса данных между веб-сервисами

На Шаге 2 можно провести многошаговую обработку данных.

Решена проблема переноса данных между веб-сервисами

Для этого добавим шаг соответствующей клавишей, есть возможность выбрать из представленных типов шагов:

Решена проблема переноса данных между веб-сервисами

Далее настроим шаг обработки. Таким образом будет выглядеть Поиск контактов по е-mail в Битрикс24 для письма, выгруженного из Unisender.

Решена проблема переноса данных между веб-сервисами

Таким образом, по шагам можно выстроить логику обработки данных при интеграции двух сервисов.

На Шаге 3 укажем сервис Б, целевое действие в сервисе, и подключение из вкладки "Доступы".

Решена проблема переноса данных между веб-сервисами

На Шаге 4 происходит сопоставление данных сервиса А, сервиса Б, а также ответов, полученных на шаге 2 при обработке данных:

Решена проблема переноса данных между веб-сервисами

Если сопоставления по выведенным в интерфейс полям не достаточно, есть возможность добавить пользовательское сопоставление соответствующей кнопкой:

Решена проблема переноса данных между веб-сервисами

Таким образом будет настроено сопоставление пользовательского поля Битрикс24 и веб-версии письма Unisender, полученного при обработке данных на шаге 2.

Решена проблема переноса данных между веб-сервисами

На Шаге 5 указываем название интеграции и запускаем. Готово!

Решена проблема переноса данных между веб-сервисами

Если вам интересно, чем Пинкит лучше, чем Zapier или Albato, пишите в комментариях.

44
2 комментария

С iiko есть у вас готовая интеграция?

1

Да, мы это не так давно подняли в релизе для ресторанной тематики. Протестировать интеграцию можете в ЛК по Пинкит https://lk.pinkit.io/integrations