Интеграция систем и разработка API

Связываем системы, между которыми данные сейчас переносят руками. Разрабатываем интеграции с учётными системами, сайтами, платёжными сервисами, мессенджерами и внешними справочниками, а также проектируем и пишем API, через который к вашим данным подключаются другие продукты. Обмен строим устойчивым к сбоям: недоступность одной стороны не останавливает работу другой.


Коротко о задаче

Признак того, что интеграция нужна, всегда один: сотрудник открывает две программы и переносит данные из одной в другую.

Иногда это выглядит безобидно — выгрузить файл, поправить, загрузить. Но каждая такая операция стоит времени, каждая создаёт возможность для ошибки, и каждая означает, что в двух системах данные расходятся ровно до следующей выгрузки. Когда объём растёт, ручной перенос превращается в отдельную должность.

Второй сценарий — данные вообще не переносят, и каждая система живёт своей правдой. Менеджер смотрит в одну, бухгалтерия в другую, руководитель просит свести и получает третью цифру.

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

Мы делаем обмен, который переживает сбои и сообщает о них.


Что входит в услугу

  • Обследование

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

  • Проектирование обмена

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

  • Разработка API

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

  • Подключение внешних сервисов

Платёжные системы и эквайринг, система быстрых платежей, мессенджеры, почтовые и SMS-шлюзы, внешние справочники, сервисы доставки, государственные информационные системы.

  • Устойчивость к сбоям

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

  • Мониторинг и уведомления

Журнал обменов, уведомление ответственных при накоплении ошибок, отчёт о расхождениях. Сломавшаяся интеграция должна сообщать о себе сама.

  • Разовые переносы

Миграция данных при смене системы: выгрузка, преобразование, проверка полноты, загрузка. Смотрите {{ссылка: Миграция и консолидация баз данных}}.


Что это даёт заказчику

  • Конец ручному переносу. Освобождается время сотрудников и исчезает целый класс ошибок.
  • Одна версия данных. Все системы видят согласованную картину, а не каждая свою.
  • Обмен, который сообщает о проблемах. Вы узнаёте о сбое от мониторинга, а не от клиента.
  • Возможность подключать новое. Продуманный API означает, что следующая система подключится за дни.
  • Работа с закрытыми системами. Если у стороны нет нормального интерфейса, находим обходной путь: файловый обмен, работа с базой напрямую, промежуточный сервис.


Как мы работаем

Разработка на .NET. Фоновые задачи и расписания реализуем через планировщик, который используем во всех наших системах, поэтому механика повторных попыток и журналирования не пишется заново.

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

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


Наш опыт

В платформе расчёта смет мы подключили приём онлайн-платежей, включая систему быстрых платежей и оплату по QR-коду, мессенджеры, почтовые и SMS-уведомления, а также фоновый планировщик регулярных задач. {{ссылка: Подробнее о проекте}}

В платформе фармаконадзора работают десятки фоновых процессов и большое количество настраиваемых выгрузок для отчётности перед клиентами и регуляторами. Обмен данными в такой системе проектируется с полным журналированием: каждое действие прослеживается. {{ссылка: Целостность данных и аудиторский след}}

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

Давайте создавать вместе!

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

Контакты

Офис: г. Казань, ул. Островского, 57Б, оф. 110
Почта: info@nabla-lab.ru
Телефон: +7 (965) 595-62-78