Ozon выключил финансовый API: выгрузка встала, как проверить
Скрипт, Google Таблица или 1С тянут транзакции Ozon через старый метод, а статус синхронизации зелёный. Разбираем, что отключили, как проверить выгрузку за 10 минут, чем 429 отличается от пустого ответа и как поставить правило свежести данных.
Что сломалось и почему этого не видно
Типичная картина по обсуждениям на Хабре и vc.ru в сентябре 2026. Заказы в таблице обновляются, возвраты тоже, а финансовый лист стоит на старой дате. Прибыль продолжают считать по нему, и расхождение с выплатой всплывает через недели. Мониторинг при этом зелёный: заказы пришли, скрипт завершился без ошибки.
По журналу изменений Seller API (я читал официальный канал Ozon Seller API в Telegram, сами страницы docs.ozon.ru и dev.ozon.ru у меня не открылись из-за защиты от ботов) хронология такая. 6 мая 2026 Ozon объявил, что методы /v3/finance/transaction/list и /v3/finance/transaction/totals отключат 6 июля. 14 июля дату передвинули на 8 сентября, а в качестве замены назвали три метода: /v1/finance/accrual/postings, /v1/finance/accrual/types и /v1/finance/accrual/by-day. 24 августа вышло напоминание. Предупреждения были, но короткие, и многие заметили отключение по сломанной выгрузке.
Дальше то, что пользователи сообщают в обсуждениях, а в документации я это не проверил. Старый метод после отключения отвечает ошибкой 400 с текстом про устаревший метод. Метод by-day принимает только один день, поэтому период приходится обходить по дням, а страницы листаются через last_id. Метод postings, по тем же сообщениям, не отдаёт часть начислений (платёжные комиссии), и итог на 1,2 процента ниже реальной выплаты. Из журнала изменений подтверждается только то, что у by-day есть параметры date и last_id, а в ответе поле accrued_category.
Как проверить за 10 минут
Шаг 1. Найдите, какой метод вызывает ваш код. В скрипте или макросе ищите строку /v3/finance/transaction. В 1С посмотрите адрес запроса в обработке обмена. Если выгрузку делает сервис, спросите поддержку, на какой метод он перешёл.
Шаг 2. Откройте таблицу и найдите максимальную дату в финансовых данных. Если она раньше 8 сентября или заметно отстаёт от сегодняшней, выгрузка стоит.
Шаг 3. Возьмите закрытую неделю и сравните итог с отчётом о начислениях в личном кабинете Ozon. Сверяйте сумму и число строк. Расхождение около одного процента стоит разобрать: по сообщениям пользователей так выглядит пропуск части начислений.
Шаг 4. Посмотрите журнал последних запусков и найдите коды ответов. Всё, что не 200, надо разобрать. Отдельно проверьте срок ключа: по сообщению Ozon, с 3 сентября 2026 новые ключи Seller API действуют 3 месяца, и истёкший ключ тоже выглядит как «данных нет».
Шаг 5. Пройдитесь по дням. Если в ряду есть день с нулём строк, а заказы в тот день были, этот день не загрузился.
429 и пустой ответ: чем отличаются
Это разные вещи, и скрипт должен вести себя с ними по-разному.
| Что пришло | Что значит | Что делать скрипту |
|---|---|---|
| 200 и список с данными | Всё хорошо | Записать, обновить метку времени |
| 200 и пустой список | За день действительно ничего нет | Записать пустоту только после сверки с заказами |
| 400 | Запрос или метод неверный, например устаревший | Остановиться и сообщить, повтор не поможет |
| 429 | Слишком часто, запрос не принят | Подождать, повторить, не писать «пусто» |
| 5xx или таймаут | Сбой на стороне площадки | Несколько повторов, потом сообщение |
Код 429 в стандарте означает Too Many Requests, а заголовок Retry-After сообщает, через сколько секунд повторить: число секунд или дата. Ozon на лимите операций с товарами (с 24 февраля 2026) отвечает 429 с текстом вида «Retry after N seconds»; саму новость на dev.ozon.ru я не открыл, текст сообщения взят из её пересказа на стороннем сайте. Для финансовых методов точные лимиты и поведение при 429 я в документации не подтвердил. 25 сентября 2026 Ozon сообщил о новых заголовках для управления рейт-лимитами, их названия я не проверил, смотрите в документации.
Ошибка, из-за которой данные тихо стареют, это код, который на любой неуспешный ответ получает пустой список. Тогда 429 превращается в «за день ничего не было», и дыра остаётся навсегда, потому что курсор уехал дальше.
Правило свежести данных
Мониторинг «синхронизация прошла» отвечает на вопрос, запустился ли скрипт. Нужен другой вопрос: когда в таблице появилась последняя запись. Правило из одной строки: если последняя запись старше N часов, отправить сообщение. N зависит от того, как быстро Ozon начисляет данные. Я бы начал с 36 часов и подогнал по вашей истории, точную задержку начислений я не проверял.
Ещё три проверки дёшево добавляются рядом. Любой код ответа не 200 в запуске считать неудачей. Сумму за закрытый день сравнивать с таким же днём неделей раньше и сигналить при падении почти до нуля. Алерт слать в канал, который не зависит от самого скрипта, например в Telegram, как в статье про Uptime Kuma и в разборе про отказоустойчивость и мониторинг.
В моём семейном ассистенте-боте отправка сообщений устроена по такому же принципу. Когда Telegram отвечает 429, код читает retry_after, ждёт на секунду дольше и пробует до трёх раз. Если не вышло, сообщение не считается доставленным. Это отправка в Telegram и MAX, а не выгрузка Ozon, но логика с 429 та же.
Что сделать сегодня. Найдите метод, который зовёт ваша выгрузка. Сверьте итог закрытой недели с кабинетом. Добавьте правило свежести. Соседние темы: обмен Ozon с 1С, интеграция с API Wildberries и Ozon, сверка двух таблиц скриптом.
Что важно учесть
Документацию Ozon я напрямую не открыл, хронология и названия методов взяты из официального канала Seller API. Описание by-day, ошибки 400 и расхождения в 1,2 процента основано на сообщениях пользователей и в тексте так и помечено. Это не бухгалтерская консультация: какую цифру брать для налогов и выплат, уточните у бухгалтера и в документации Ozon.
Переход на новые методы может потребовать переписать выгрузку, а не поменять один адрес: другие поля, обход по дням, три метода вместо одного. Данные за период, пропущенный после 8 сентября, придётся догружать. О выборе между готовым модулем и своей интеграцией есть отдельная статья.
Частые вопросы
Метод выключили без предупреждения?
Предупреждения в журнале изменений Seller API были: 6 мая, 14 июля и 24 августа 2026. Но первоначальная дата 6 июля сдвинулась на 8 сентября, и многие пропустили объявление.
Можно просто взять метод postings?
По сообщениям пользователей, он даёт итог на 1,2 процента ниже выплаты, так как не отдаёт часть начислений. В документации я этого не проверял, сверяйте с кабинетом.
Как узнать, что выгрузка снова отстаёт?
Правило свежести: последняя запись старше N часов, и приходит сообщение. Плюс сверка итога за закрытую неделю раз в неделю.
Коротко о главном
Метод /v3/finance/transaction/list отключён 8 сентября 2026, а зелёный статус синхронизации не доказывает, что данные свежие. Проверьте дату последней записи, сверьте неделю с кабинетом и отделите 429 от пустого ответа.
Хотите, чтобы я проверил вашу выгрузку Ozon, перевёл её на новые методы и поставил мониторинг свежести данных? Напишите мне в Telegram слово «ОЗОН». Подробнее на странице автоматизации бизнес-процессов.
Что я делаю для бизнеса
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


