Интеграция систем и разработка API
Связываем системы, между которыми данные сейчас переносят руками. Разрабатываем интеграции с учётными системами, сайтами, платёжными сервисами, мессенджерами и внешними справочниками, а также проектируем и пишем API, через который к вашим данным подключаются другие продукты. Обмен строим устойчивым к сбоям: недоступность одной стороны не останавливает работу другой.
Коротко о задаче
Признак того, что интеграция нужна, всегда один: сотрудник открывает две программы и переносит данные из одной в другую.
Иногда это выглядит безобидно — выгрузить файл, поправить, загрузить. Но каждая такая операция стоит времени, каждая создаёт возможность для ошибки, и каждая означает, что в двух системах данные расходятся ровно до следующей выгрузки. Когда объём растёт, ручной перенос превращается в отдельную должность.
Второй сценарий — данные вообще не переносят, и каждая система живёт своей правдой. Менеджер смотрит в одну, бухгалтерия в другую, руководитель просит свести и получает третью цифру.
Третий — интеграция есть, но хрупкая. Сделана скриптом на коленке, работает, пока обе стороны доступны, и молча ломается, когда одна из них недоступна. Про поломку узнают через неделю, когда обнаруживают дыру в данных.
Мы делаем обмен, который переживает сбои и сообщает о них.
Что входит в услугу
- Обследование
Составляем карту: какие системы участвуют, какие данные передаются, в какую сторону, с какой периодичностью, что считается источником истины при расхождении. Последний вопрос обычно оказывается самым сложным и самым важным.
- Проектирование обмена
Определяем способ: обмен по расписанию, по событию, через очередь, по запросу. Описываем правила сопоставления сущностей, обработку дубликатов и порядок разрешения конфликтов.
- Разработка API
Проектируем и пишем интерфейс к вашим данным: методы, форматы, версионирование, авторизация, ограничение частоты запросов, документация. Версионирование позволяет менять API, не ломая уже подключённых потребителей.
- Подключение внешних сервисов
Платёжные системы и эквайринг, система быстрых платежей, мессенджеры, почтовые и SMS-шлюзы, внешние справочники, сервисы доставки, государственные информационные системы.
- Устойчивость к сбоям
Повторные попытки с нарастающей паузой, очередь необработанных сообщений, защита от повторной обработки одного и того же события, продолжение работы при недоступности стороны.
- Мониторинг и уведомления
Журнал обменов, уведомление ответственных при накоплении ошибок, отчёт о расхождениях. Сломавшаяся интеграция должна сообщать о себе сама.
- Разовые переносы
Миграция данных при смене системы: выгрузка, преобразование, проверка полноты, загрузка. Смотрите {{ссылка: Миграция и консолидация баз данных}}.
Что это даёт заказчику
- Конец ручному переносу. Освобождается время сотрудников и исчезает целый класс ошибок.
- Одна версия данных. Все системы видят согласованную картину, а не каждая свою.
- Обмен, который сообщает о проблемах. Вы узнаёте о сбое от мониторинга, а не от клиента.
- Возможность подключать новое. Продуманный API означает, что следующая система подключится за дни.
- Работа с закрытыми системами. Если у стороны нет нормального интерфейса, находим обходной путь: файловый обмен, работа с базой напрямую, промежуточный сервис.
Как мы работаем
Разработка на .NET. Фоновые задачи и расписания реализуем через планировщик, который используем во всех наших системах, поэтому механика повторных попыток и журналирования не пишется заново.
Начинаем с обследования и карты обмена. На этом этапе часто выясняется, что часть переносов вообще не нужна, а часть решается изменением процесса, а не кодом.
Отдельно проговариваем ответственность за внешние системы: если сторона меняет свой интерфейс без предупреждения, интеграция потребует доработки, и это лучше обсудить заранее, а не после.
Наш опыт
В платформе расчёта смет мы подключили приём онлайн-платежей, включая систему быстрых платежей и оплату по QR-коду, мессенджеры, почтовые и SMS-уведомления, а также фоновый планировщик регулярных задач. {{ссылка: Подробнее о проекте}}
В платформе фармаконадзора работают десятки фоновых процессов и большое количество настраиваемых выгрузок для отчётности перед клиентами и регуляторами. Обмен данными в такой системе проектируется с полным журналированием: каждое действие прослеживается. {{ссылка: Целостность данных и аудиторский след}}
Расскажите, между какими системами данные переносят руками. Начнём с обследования и карты обмена.
Давайте создавать вместе!
Свяжитесь с нами и мы проконсультируем по вопросам реализации IT-решений и найдем лучший подход к разработке
Контакты
Офис: г. Казань, ул. Островского, 57Б, оф. 110
Почта: info@nabla-lab.ru
Телефон: +7 (965) 595-62-78