Работая с Ozon API на протяжении десятков проектов, я выделил типичные ошибки, которые допускают как новички, так и опытные разработчики.
Ошибка 1: Неверная работа с пагинацией
Ozon использует cursor-based пагинацию. Если не передавать last_id — вы получите только первую страницу товаров и потеряете остальные. В одном из моих проектов это привело к тому, что система «видела» 500 из 3 000 товаров.
Решение: Всегда проверяйте поле last_id в ответе и передавайте его в следующий запрос.
Ошибка 2: Обновление остатков без учёта FBO/FBS
На Ozon товар может продаваться по обеим схемам одновременно. Остатки для FBO и FBS считаются отдельно. Ошибка в распределении — потеря продаж на одной из схем.
Решение: Отдельный трекер остатков для FBO и FBS. Мониторинг обоих каналов.
Ошибка 3: Превышение лимитов API (429 Too Many Requests)
Ozon ограничивает до 60 запросов в минуту. При превышении — блокировка на 5 минут. Если у вас 3 000 товаров и вы обновляете каждый отдельно — гарантированная блокировка.
Решение: Батчевые запросы (до 100 товаров за раз). Rate limiter на уровне приложения.
Ошибка 4: Игнорирование webhook-уведомлений
Ozon отправляет webhook при изменении статуса заказа. Если их игнорировать — вы узнаете о новом заказе только при следующем поллинге (до 30 минут задержки).
Решение: Настройте webhook-эндпоинт. Для критических событий — мгновенная обработка.
Ошибка 5: Неправильная работа с ценами
Ozon требует указывать минимальную цену. Если установить цену ниже допустимого порога — товар не обновится, а вы не получите ошибку.
Решение: Всегда проверяйте ответ API на наличие предупреждений. Устанавливайте минимальную цену при обновлении.
Ошибка 6: Отсутствие обработки отмен клиентами
Клиент может отменить заказ до его сборки. Если система не обрабатывает отмены — товар замораживается на складе.
Решение: Автоматическое обновление статусов при получении webhook. Возврат товара в доступные остатки.
Ошибка 7: Дублирование товаров при загрузке
При повторной загрузке с тем же артикулом — Ozon может создать дубликат вместо обновления.
Решение: Всегда проверяйте существование товара по артикулу перед загрузкой.
Ошибка 8: Нет мониторинга заказов в статусе «delivering»
Многие системы перестают отслеживать заказ после передачи в доставку. Но Ozon может отменить доставку, и вы потеряете товар.
Решение: Полный цикл отслеживания: от создания до финального статуса (delivered/cancelled).
Сводная таблица ошибок:
| # | Ошибка | Последствие | Стоимость исправления |
|---|
| 1 | Неверная пагинация | Потеря товаров | 5 000 ₽ |
| 2 | Смешение FBO/FBS | Потеря продаж | 15 000 ₽ |
| 3 | Превышение лимитов | Блокировка API | 10 000 ₽ |
| 4 | Игнор webhook | Задержка обработки | 10 000 ₽ |
| 5 | Неверные цены | Нет обновления | 5 000 ₽ |
| 6 | Нет обработки отмен | Заморозка остатков | 10 000 ₽ |
| 7 | Дублирование товаров | Замусоривание каталога | 10 000 ₽ |
| 8 | Нет отслеживания доставки | Потеря товаров | 15 000 ₽ |
Читайте также: разработка REST API и FastAPI для API.