Содержание
Ошибка 420 API Маркета: что собрать до перезапуска обмена
Обмен с Маркетом перестал обновлять данные, а в журнале появился HTTP 420. Менеджеру полезно сначала собрать свидетельства ограничения, затем передать их владельцу интеграции. Перезапуск всех обменов без диагностики не объясняет причину сбоя.
Этот порядок предназначен для продавца, у которого есть доступ к журналу своей интеграции, или для сотрудника, готовящего обращение разработчику. Он не требует отправлять пробные изменения цен и остатков в рабочий магазин.
Что сохранить из неудачного запроса
Возьмите один реальный эпизод. Зафиксируйте время с часовым поясом, HTTP-код, текст ошибки, метод и путь запроса, идентификатор кабинета или магазина. Ключ авторизации в обращение не включайте. Попросите разработчика предоставить обезличенный фрагмент, если интерфейс сервиса показывает только общую надпись об ошибке.
Отдельно запишите, какие обмены выполнялись одновременно: остатки, цены, заказы, отчёты. Это рабочая гипотеза для поиска причины, а не доказательство превышения лимита.
Разделите два ограничения
По документации API Маркета, глобальное ограничение допускает до четырёх параллельных запросов. Область его действия зависит от URL и способа авторизации. Ресурсное ограничение относится к обращениям к определённому ресурсу за период. При превышении обоих сервер может вернуть 420, поэтому одного кода мало.
| Наблюдение | Что выяснить у разработчика |
|---|---|
| Сообщение говорит о параллельных запросах | Какие процессы одновременно обращаются к указанной сущности и как ограничена их совместная нагрузка |
| Сообщение говорит о лимите ресурса за период | Какой ресурс исчерпан, чем измеряется расход и когда заканчивается ограничение |
| Журнал хранит только код 420 | Как сохранить текст ответа и заголовки без секретов |
Для ресурсного лимита документация описывает заголовки X-RateLimit-Resource-Limit, X-RateLimit-Resource-Remaining и X-RateLimit-Resource-Until. Они помогают отличить оставшийся объём от времени окончания ограничения. Конкретные значения проверяйте для нужного метода, не переносите их с другой операции.
Согласуйте действие, а не бесконечный повтор
Попросите ответственного за интеграцию описать изменение: управление параллельностью для соответствующего магазина или кабинета либо сокращение расхода конкретного ресурса. Зафиксируйте, кто проверит восстановление и на каком обмене. Не запускайте несколько ручных повторов одновременно с автоматическими.
Важная оговорка из документации: ответы 4xx также расходуют ресурсный лимит. Если в журнале повторяется ошибка параметров, сначала исправляют причину запроса. Повтор с теми же неверными данными не становится полезным от большей частоты.
Как принять результат
После согласованного исправления сопоставьте новый журнал с исходным эпизодом: тот же метод, тот же магазин или кабинет, отсутствие прежнего ограничения. Затем проверьте результат самой операции. Успешный ответ на запрос ещё не доказывает, что нужный остаток или цена уже отображаются покупателю.
В карточке инцидента оставьте исходный ответ, установленную причину, выполненное изменение и наблюдаемый результат. Если ограничение повторилось, передавайте эту хронологию разработчику, а не начинайте диагностику заново с общей фразы «API не работает».
Комментарии 0