Интеграции

Пусть программы обмениваются данными сами.

Когда сотрудники перепечатывают данные из одной программы в другую, они выполняют работу, которую должна делать программа. Я связываю системы компании через API, файлы или общую базу данных. Данные передаются автоматически и проверяются при передаче, а о проблемах становится известно раньше, чем кто-то воспользуется неверными цифрами.

Что я делаю

Сначала описываю данные

Какая система отвечает за какие данные, что означает каждое поле и как поступать с дубликатами, удалёнными и исправленными записями.

Подключаюсь через то, что уже есть

REST API и вебхуки там, где они доступны. Обмен файлами, представления в базе данных или выгрузки там, где их нет.

Проверяю данные при передаче

Каждая запись проверяется перед сохранением. Ошибочные данные откладываются с указанием причины и дальше не передаются.

Делаю сбои заметными

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

Подключаю старые системы

Загрузка и выгрузка данных для программ без API, в том числе настольных приложений и локальных баз данных.

  • REST API
  • Вебхуки
  • C# / .NET
  • SQL Server
  • CSV / XML / JSON
  • Планировщик задач

API, файлы или база данных? Как я выбираю

СитуацияЧто обычно стоит сделать
У обеих систем есть документированный APIПрямое подключение через API с журналом и повторными попытками при сбоях
Одна система умеет только загружать и выгружать файлыОбмен файлами по расписанию с проверкой каждого файла перед загрузкой
Данные хранятся в вашей собственной базе данныхЧтение и запись через представления или хранимые процедуры, без прямого доступа к таблицам
Изменения должны появляться в течение нескольких секундВебхуки или синхронизация по событиям, если обе системы это поддерживают
Достаточно синхронизации раз в деньЗадание по расписанию, которое проще сопровождать и проверять

Я выбираю самый простой из надёжных способов подключения. В нём можно будет разобраться, даже если что-то перестанет работать.

Как обычно проходит проект по интеграции

  1. Карта данных

    Какие данные передаются, в каком направлении, как часто и кто за них отвечает.

  2. Проверка на примерах

    Я проверяю API или файлы на реальных примерах, включая нестандартные.

  3. Объём работ

    Письменное предложение: что подключается, что проверяется и сколько это стоит.

  4. Параллельный запуск

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

  5. Передача

    Документация, понятный журнал и простой способ убедиться, что всё работает.

Вопросы по теме

Какие системы вы можете связать?

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

У одной из наших систем нет API. Это проблема?

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

Что будет, если синхронизация не сработает?

Она устроена так, чтобы сбои были заметны: запись откладывается, причина попадает в журнал, а ответственный получает уведомление. Ничего не пропускается незаметно.

Где работает интеграция и кто её сопровождает?

Это зависит от вашей инфраструктуры. Интеграция может работать на вашем сервере, в виде задания по расписанию на компьютере с Windows или в виде небольшого облачного сервиса. Оба вопроса мы согласуем в предложении.

Какие две системы должны обмениваться данными?

Расскажите, что это за системы, какие данные и как передаются между ними сейчас. Для начала этого достаточно.

Описать задачу