Лимиты API маркетплейсов: почему выгрузка из 1С уходит в блокировку
Как устроены ограничения на частоту запросов у Kaspi, Wildberries и Ozon, почему обмен с 1С попадает под них и как строить расписание выгрузки, чтобы витрина не жила со старыми остатками.
Обмен настроили, остатки обновляются каждые пять минут, всё довольны — а
через неделю площадка перестаёт принимать запросы, и витрина живёт со вчерашними данными.
Разбираем, почему так происходит и как считать расписание.
Что такое лимит и почему он есть
Любая площадка ограничивает число обращений к своему API: столько-то запросов в минуту,
столько-то в сутки на один аккаунт. Это защита от того, чтобы один продавец не занял всю
инфраструктуру. Лимиты редко публикуются подробно и почти всегда отличаются для разных
методов: обновить остаток дешевле, чем создать карточку.
Превышение обычно не приводит к бану навсегда — оно даёт временный отказ. Но именно в
эти минуты витрина отдаёт покупателю старый остаток, и приходит заказ на товар, которого
нет. Отмена бьёт по рейтингу продавца сильнее, чем задержка обновления на полчаса.
Откуда берётся перерасход
Обновление всего каталога вместо изменившегося. Самая частая ошибка:
выгрузка гоняет все три тысячи позиций каждые пять минут, хотя изменились двадцать.
Решается отслеживанием изменений на стороне 1С — отправляем только то, что поменялось.
Несколько источников запросов. Обмен, ручная выгрузка менеджера и
тестовый скрипт разработчика делят один лимит. Если запросы идут из трёх мест, лимит
кончается втрое быстрее, а виноватым выглядит обмен.
Повторы после ошибок. Неудачный запрос повторяется, повтор снова
падает, счётчик растёт. Без паузы между попытками схема сама себя загоняет в отказ.
Как строить расписание
Разделить данные по скорости изменения. Остатки ходовых позиций — часто. Цены — по
факту изменения. Описания, характеристики и фотографии — раз в сутки, ночью. Так основная
доля лимита достаётся тому, что действительно меняется.
Заложить очередь с паузой между повторами: первая попытка сразу, вторая через минуту,
третья через пять. Это стандартная практика, и она снимает большую часть отказов без
участия человека.
Вести лог с кодами ответов площадки. Когда обмен встаёт, вопрос «это лимит или
изменился формат» решается за минуту, а не за день переписки с поддержкой.
Что видно в цифрах
После перевода выгрузки на дельту — отправку только изменившихся позиций — число
запросов у типового магазина на три тысячи SKU падает в десятки раз. Это не оптимизация
ради красоты: освободившийся лимит уходит на то, чтобы обновлять остатки чаще там, где
это приносит деньги.
Как устроен сам обмен и что подготовить до его настройки — на странице
выгрузки из 1С на Kaspi и маркетплейсы. Если у вас
несколько потребителей данных, а не только площадка, посмотрите
API и HTTP-сервисы для 1С.