Пятый фактор
Отправить заявку
CRM, 1С и интеграции

Защита интеграции при сбоях внешнего API

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

Срок: 9 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

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

Что именно мы сделаем

01

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

02

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

03

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

04

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

05

Имитируем медленный ответ, ошибку сервера и восстановление внешнего API. Проверяем итог операции, отсутствие дублей и возобновление обмена.

Что входит в стоимость

34 900 ₽ за всю работу

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

Что будет готово

Материалы

Передадим вам

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

Перед сдачей проверим

  • Зависший внешний вызов завершается в заданное время и сохраняет сайт доступным для остальных запросов.
  • Безопасный повтор успешно завершает операцию после восстановления сервиса и сохраняет один бизнес-результат.
  • Серия ошибок переводит circuit breaker в защитное состояние, а контрольный запрос подтверждает автоматическое восстановление.

Как это выглядит на практике

Как проверяем временный сбой службы доставки

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

  1. 01

    Запускаем расчёт доставки и имитируем превышение времени ответа внешнего API.

  2. 02

    Проверяем понятное сообщение на сайте и запись попытки в журнале.

  3. 03

    Возвращаем сервис в рабочее состояние и ждём разрешённый повтор.

  4. 04

    Сверяем единственный расчёт, время восстановления и состояние circuit breaker.

Что понадобится для работы

Для выполнения работы

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

Если у вас немного другая ситуация

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

Стоимость работ 34 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 31 900 ₽после выполнения, демонстрации и приёмки результата

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

Часто спрашивают

Об этой услуге

Для каких интеграций подходит такая защита?

Для CRM, доставки, оплаты, складов, телефонии, проверки реквизитов и других API, чей ответ влияет на действие посетителя или фоновый процесс.

Как защищаемся от повторных операций?

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

Что увидит посетитель во время сбоя?

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

Получим ли мы уведомление о проблеме?

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

Когда нужна отдельная защита, если интеграция уже работает?

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

Цена и изменения по ходу работы

Цена на странице окончательная?

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

Что означает резерв незапланированных работ?

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

Можно уточнять детали уже во время работы?

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

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

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

Как учитываются платные лицензии и внешние сервисы?

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

Проверка результата и гарантия

Как принимается готовая работа?

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

Какая гарантия действует после сдачи?

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

Следующий шаг

Опишите задачу

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