Интеграция с API: с чего начать и где риски
Все статьи

Интеграции

Интеграция с API: с чего начать и где риски

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

Команда HiRaise 4 мин чтения

Содержание

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

Подключение одной системы — платёжного сервиса, службы доставки или CRM — обычно занимает 1–3 недели и стоит от 200 тыс. ₽. Связка нескольких систем с синхронизацией данных — 1,5–3 месяца и от 1,3 млн ₽. Разница между этими цифрами — как раз в рисках, о которых ниже.

С чего начать

Первый шаг — не выбор технологии, а описание обмена. До разработки нужно ответить на несколько вопросов.

Какая система главная для каждого вида данных? Цены живут в учётной системе, клиенты — в CRM, статусы доставки — у службы доставки. Если для одного вида данных главных систем две, расхождения неизбежны.

Какие данные передаются и в каком направлении? Заказы с сайта в CRM, остатки со склада на сайт, оплаты в учётную систему. Каждое направление — отдельный поток со своими правилами.

Как быстро данные должны доходить? Оплата должна поменять статус заказа сразу. Остатки могут обновляться раз в несколько минут. Отчёты — раз в сутки. От этого зависит способ обмена.

Что делать, если что-то пошло не так? Кто узнаёт о сбое, что происходит с данными, которые не дошли, и как их отправить повторно.

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

Риск 1: документация

Качество чужой документации — первое, что определяет срок интеграции. Хорошая документация описывает методы, форматы, ошибки, лимиты запросов и даёт тестовую среду. С ней подключение идёт по плану.

Бывает иначе:

  • документация устарела и не совпадает с тем, как API работает на самом деле;
  • тестовой среды нет, и проверять приходится на рабочих данных;
  • коды ошибок не описаны, а поддержка поставщика отвечает днями.

Что помогает: запросить документацию и тестовый доступ до оценки, а не после подписания договора. Если их нет, закладывать время на исследование API и честно говорить об этом в смете.

Риск 2: ошибки и повторы

Внешняя система рано или поздно будет недоступна — на минуту, на час, на время обновления. Вопрос не в том, случится ли это, а в том, что тогда произойдёт с вашими данными.

Надёжная интеграция предусматривает:

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

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

Риск 3: синхронизация данных

Когда системы обмениваются данными в обе стороны, появляется самый коварный риск — расхождения. Клиента изменили в CRM, пока его же правили на сайте. Остаток списали на складе, но сайт об этом ещё не знает. Заказ отменили, а оплата уже прошла.

Снизить риск помогают простые правила:

  • у каждого вида данных одна главная система, остальные только получают изменения;
  • у каждой записи общий идентификатор во всех системах;
  • конфликты разрешаются по заранее описанному правилу, а не «как получится»;
  • раз в какое-то время данные сверяются автоматически, и расхождения попадают в отчёт.

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

Риск 4: жизнь после запуска

Интеграция — не разовая работа. Чужие системы обновляются: меняются версии API, поля, правила авторизации, лимиты запросов. Поставщики обычно предупреждают заранее, но кто-то должен это предупреждение прочитать и обновить интеграцию.

Что стоит предусмотреть:

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

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

Как выбрать способ интеграции

Способ зависит от того, как быстро нужны данные и что умеют сами системы:

СпособКогда подходит
Прямые запросы по APIнужен ответ сразу: оплата, проверка наличия, расчёт доставки
Уведомления от внешней системысистема сама сообщает о событии: оплата прошла, статус изменился
Регулярная выгрузкаданных много, задержка в минуты или часы допустима
Промежуточный сервиссистем несколько, данные идут в разные стороны

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

Короткий чек-лист перед стартом

  1. Для каждого вида данных определена главная система.
  2. Есть документация и тестовый доступ к внешним API.
  3. Описано, что происходит при ошибке и кто о ней узнаёт.
  4. Понятно, как быстро данные должны доходить.
  5. Договорились, кто поддерживает интеграцию после запуска.

Подробнее о том, как мы проектируем и делаем интеграции, — на странице интеграции с API.

Хорошую интеграцию почти не замечают. Заказы просто доходят, остатки просто совпадают. Вся работа — в том, чтобы так было и в тот день, когда что-то пошло не так.

Обсудим вашу задачу

Расскажите о проекте в 2–3 предложениях: ответим в течение часа в рабочее время и бесплатно оценим сроки и стоимость.

Читайте также

  • Стоимость · Планирование

    Сколько стоит разработка программного обеспечения на заказ

    Веб-сервис среднего размера стоит 5–6 млн ₽ и занимает 3–5 месяцев, корпоративная система или CRM — от 6,8 млн ₽ и 5–7 месяцев. Разбираем, из чего складывается цена, что её двигает и почему цена «от» — ещё не смета.

    5 мин чтения

  • Стоимость · Мобильные приложения

    Сколько стоит разработка мобильного приложения

    MVP на iOS и Android стоит от 2,1 млн ₽ и делается за 2–3 месяца, приложение среднего размера со своим бэкендом — 6–7 млн ₽ и 4–5 месяцев, сложное — от 15 млн ₽. Объясняем, как цену меняют платформы, бэкенд, дизайн и жизнь после запуска.

    4 мин чтения

  • Планирование · Мобильные приложения · Веб-разработка

    Что реально успеть за три месяца до MVP

    За три месяца можно выпустить рабочую первую версию с одним главным сценарием: 5–8 экранов, вход, ключевая функция и простая админка. Рассказываем, как распределить эти недели, что отложить на потом и как понять, что идея работает.

    4 мин чтения

Запустите ваш проект с экспертами

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

Что будет после заявки

  1. Ответим в течение часа в рабочее время
  2. Созвонимся на 30 минут, чтобы разобраться в задаче
  3. Бесплатно оценим сроки и стоимость
Сергей Русинович, генеральный директор HiRaise
На заявки отвечает Сергей Русинович Генеральный директор Написать в Telegram

Подпишем NDA до обсуждения деталей, если нужно.