Что делать, если внешнее API иногда недоступно

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

Что делать, если внешнее API иногда недоступно — фотография к материалу

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

Короткий ответ

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

Что проверить в первую очередь

Сначала проверьте несколько вещей, которые напрямую влияют на решение:

  • Разделить приём пользовательской заявки и внешнюю синхронизацию.
  • Не повторять запрос бесконечно без задержки.
  • Хранить статус каждой операции и текст последней ошибки.

Практический подход

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

Типичные ошибки

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

  • Считать успешный http-ответ гарантией правильного бизнес-результата.
  • Не хранить идентификаторы связанных сущностей.
  • Делать интеграцию без логов.
  • Не продумывать повторную обработку после временной ошибки внешнего сервиса.

Что подготовить перед началом

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

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

Как понять, что результат хороший

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

Когда подключать специалиста

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

Вывод

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

FAQ

Частые вопросы по теме

01Можно применить рекомендации из статьи к существующему проекту?

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

02Сколько стоит связанная работа?

Стартовая стоимость услуги «Интеграции» — От 25 000 ₽. Точная оценка зависит от текущего проекта и объёма изменений.

03Что прислать для оценки?

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

Дальше

Ещё материалы по теме

Вопрос по проекту

Покажите текущую ситуацию

Ссылка и короткое описание обычно полезнее длинного ТЗ. Мы увидим тему статьи в источнике заявки и не заставим повторять контекст.

Связаться

Старт

Можно прийти
просто с задачей.

Без готового ТЗ. Достаточно описать, что нужно запустить, исправить или связать.

Получить оценку

Коротко опишите задачу