Performance API Ozon: что это, как получить доступ и что автоматизировать
Performance API Ozon: пошаговая инструкция для продавца Ozon — данные, расчёт, ошибки, контрольный пример и решение по результату.
Когда рекламных кампаний три, статистику удобно смотреть в кабинете. Когда их тридцать, а товаров в них триста, понедельник начинается с часа выгрузок: зайти в каждую кампанию, скачать отчёт, склеить файлы, подтянуть себестоимость, посчитать ДРР по SKU. К среде цифры уже устарели. Эту рутину и снимает Performance API.
Performance API — программный интерфейс рекламного кабинета Ozon. Через него скрипт или ваша учётная система забирает статистику кампаний и расходы, а при необходимости управляет ставками и кампаниями без ручных кликов. Ниже — чем он отличается от Seller API, как получить доступ, что имеет смысл автоматизировать в первую очередь, как задать пороги для правил и какие предохранители нужны, чтобы скрипт не потратил бюджет за ночь.
Отдельный API для рекламы, а не часть Seller API
У Ozon два разных программных интерфейса. Seller API отвечает за магазин: товары, цены, остатки, заказы, финансы. Performance API отвечает за рекламу: кампании, товары в них, ставки, бюджеты и рекламную статистику.
У них разные ключи и разная схема авторизации. Ключ Seller API не даёт доступа к рекламе, и наоборот. Это важно, когда вы отдаёте доступ подрядчику или сервису: можно дать ему рекламу, не открывая финансы магазина, или наоборот.
Для полноценной аналитики нужны оба. Реклама знает, сколько потрачено и сколько заказов засчитано кампании. Магазин знает цены, комиссии, логистику, выкупы и возвраты. Прибыль после рекламы по SKU получается только на стыке этих данных плюс ваша себестоимость, которой нет ни в одном из API.
Как получить доступ
Доступ создаётся в рекламном кабинете, а не в настройках Seller API. Точные названия разделов Ozon меняет, поэтому сверяйтесь с актуальной документацией Performance API, но порядок устойчив.
- Войдите в рекламный кабинет под учётной записью с правами администратора.
- В настройках найдите раздел для работы с API и создайте сервисный аккаунт или ключ для приложения.
- Сохраните идентификатор клиента и секрет. Секрет обычно показывается один раз — если потеряете, придётся выпускать новый.
- Ваше приложение обменивает эту пару на временный токен доступа и передаёт его в каждом запросе. Срок жизни токена ограничен и приходит в ответе вместе с ним, поэтому скрипт должен уметь запрашивать новый, когда старый истёк.
Секрет — это фактически пароль от рекламного бюджета. Храните его в менеджере секретов или в защищённых настройках сервера. Не кладите в общую таблицу, не пересылайте в рабочем чате и не вшивайте в код, который лежит в открытом репозитории. Если секрет утёк, отзовите его в кабинете и выпустите новый.
Что автоматизировать: три уровня риска
Автоматизация рекламы делится на три уровня, и проходить их стоит по порядку. Каждый следующий уровень опаснее: ошибка в выгрузке даёт неверную цифру в таблице, ошибка в правиле тратит деньги.
| Уровень | Что делает скрипт | Цена ошибки | Когда переходить |
|---|---|---|---|
| Чтение | Каждое утро выгружает расход, показы, клики и заказы по кампаниям и товарам в таблицу | Неверная цифра в отчёте | Сразу, с него начинают все |
| Сигналы | Сравнивает цифры с порогами и присылает уведомление: товар вышел за допустимый ДРР, бюджет кончился к обеду | Лишнее или пропущенное уведомление | Когда выгрузка месяц сходится с кабинетом |
| Действия | Сам меняет ставки и бюджеты, ставит кампании на паузу | Потраченный или недополученный бюджет | Когда сигналы месяц совпадают с вашими ручными решениями |
Большинству магазинов первых двух уровней хватает надолго. Утренняя таблица по SKU и уведомление о выходе за порог экономят часы, а решение по-прежнему принимает человек. Действия автоматизируют тогда, когда правило уже месяц говорит то же, что сказали бы вы, и вам просто надоело нажимать кнопку.
Порог для правила берут из маржи
Любое правило — это «если показатель вышел за порог, сделать то-то». Самая частая ошибка — порог, выбранный на глаз: «ДРР выше 25 % — плохо». Для одного товара 25 % — нормальная реклама, для другого — глубокий минус.
Правильный порог выводится из прибыли до рекламы в процентах от цены. Если товар приносит 20 % от цены до рекламы, любая реклама дороже 20 % от выручки уносит продажу в минус. Порог правила ставят ниже этой границы, с запасом на ту часть прибыли, которую вы хотите сохранить.
Отсюда следует, что порог должен быть не один на весь кабинет, а свой для каждого товара или хотя бы для группы товаров с похожей маржой. Себестоимость в рекламный API не попадает, поэтому таблицу маржи по SKU скрипт должен читать из вашей учётной системы или отдельного файла.
Предохранители, без которых правила не запускают
Скрипт не устаёт и не сомневается. Если в данных ошибка, он исполнит неверное решение столько раз, сколько вы ему разрешили. Поэтому у каждого правила должны быть ограничения, которые не зависят от его логики.
- Лимит изменения за шаг. Ставка или бюджет меняются не больше чем на заданный процент за один запуск.
- Минимум данных. Правило не срабатывает по товару, у которого за период мало кликов.
- Журнал. Каждое автоматическое изменение записывается: что, когда, с какого значения на какое и по какой причине.
Проверку правила начинайте с одной кампании. Неделю оно работает в режиме «только журнал»: пишет, что сделало бы, но ничего не меняет. Вы сверяете эти записи со своими решениями. Совпадают — включаете действия на этой кампании, ещё через неделю — на остальных.
И обязательно уведомление на случай, если скрипт не получил данные. Пустой ответ, истёкший токен, сбой на стороне площадки — правило без свежих данных либо молчит, либо работает по вчерашним цифрам, и вы узнаете об этом, только когда откроете кабинет.
Как устроена выгрузка статистики
Статистика в Performance API обычно отдаётся не мгновенно, а через отчёт. Скрипт отправляет запрос на отчёт по списку кампаний за период и получает идентификатор. Затем периодически спрашивает статус. Когда отчёт готов, скачивает файл и разбирает его.
Из этого вытекают три практических правила. Не запрашивайте статистику по всем кампаниям за год одним запросом: у отчётов есть ограничения по периоду и числу кампаний, точные значения — в документации. Не опрашивайте статус слишком часто, у API есть лимиты на частоту запросов. И выгружайте данные по расписанию ночью или рано утром, чтобы к началу дня таблица была готова.
Первую выгрузку обязательно сверьте с кабинетом. Возьмите одну кампанию за одну неделю и сравните расход, клики и заказы в файле и на экране. Расхождения обычно объясняются не ошибкой API, а разными границами периода, часовым поясом или тем, что за последние сутки данные ещё досчитываются. Пока вы не понимаете природу расхождения, строить на этих цифрах правила нельзя.
Разбор: недельное правило для ставок на пяти товарах
Правило запускается раз в неделю. Для каждого товара берёт маржу до рекламы в процентах от цены и считает допустимый ДРР как 70 % от неё — 30 % прибыли остаются магазину. Если фактический ДРР выше допустимого, ставка снижается на 10 %. Если ниже 70 % от допустимого — повышается на 10 %. Если кликов за неделю меньше 100, правило ничего не делает.
| Товар | Маржа до рекламы | Допустимый ДРР | ДРР за неделю | Клики | Действие | Ставка |
|---|---|---|---|---|---|---|
| А | 30 % | 21 % | 14 % | 420 | Повысить на 10 % | 15 → 16,5 ₽ |
| Б | 20 % | 14 % | 19 % | 380 | Снизить на 10 % | 18 → 16,2 ₽ |
| В | 25 % | 17,5 % | 16 % | 310 | Без изменений | 12 ₽ |
| Г | 35 % | 24,5 % | 9 % | 60 | Мало данных | 10 ₽ |
| Д | 18 % | 12,6 % | 31 % | 250 | Снизить на 10 % и в ручной разбор | 20 → 18 ₽ |
У товара А ДРР 14 % — ниже 14,7 %, то есть ниже 70 % от допустимого, поэтому правило добавляет ему трафика. У В ДРР 16 % попадает в коридор между 12,25 % и 17,5 %, и ставку лучше не трогать. У Г ДРР выглядит отлично, но 60 кликов — это шум, и правило честно ждёт данных.
Самый показательный — товар Д. Его ДРР 31 % выше всей маржи 18 %: каждая рекламная продажа убыточна. Лимит в 10 % за шаг не даёт правилу резко обрубить ставку, и это правильно — резкое действие по одной неделе может оказаться ошибкой. Но такой разрыв — повод для человека, а не для скрипта, поэтому правило отправляет товар в ручной разбор.
Связка с данными магазина
Рекламный API знает заказы, засчитанные кампании, но не знает, чем они закончились. Выкупы, отмены и возвраты живут в Seller API и в отчёте о реализации. Если в вашей категории заметная доля заказов не выкупается, ДРР по заказам получается оптимистичным, и порог правила должен это учитывать.
Минимальная полезная связка выглядит так. Из Performance API — расход, клики и заказы по товарам. Из Seller API — цены, продажи и выкупы по тем же товарам. Из вашей учётной системы — себестоимость. Всё это сводится по артикулу в одну таблицу, где для каждого SKU есть прибыль после рекламы. На этой таблице и работают правила.
Для небольшого ассортимента вся схема укладывается в Google Таблицы и скрипт, который раз в сутки дописывает свежие строки. Для сотен SKU удобнее база данных, но логика та же: одна строка на товар и день, где рекламные и магазинные цифры стоят рядом.
Что ломается чаще всего
Истёкший токен. Скрипт получил токен при старте, работал дольше срока его жизни и получил отказ посреди выгрузки. Лечится проверкой срока и повторным запросом токена перед каждым крупным блоком работы.
Изменения в API. Ozon добавляет методы, меняет поля отчётов, выводит старые версии. Подпишитесь на новости для разработчиков и раз в квартал проверяйте, что формат выгрузки не изменился. Скрипт, который молча разбирает файл с новым порядком колонок, опаснее скрипта, который падает с ошибкой.
Лимиты запросов. Если опрашивать статус отчётов слишком часто или запускать много выгрузок параллельно, API начинает отказывать. Делайте паузы между запросами и повторяйте неудачные с нарастающей задержкой.
Люди. Кто-то поменял ставку в кабинете руками, а правило через час вернуло старую. Договоритесь, какие кампании ведёт скрипт, а какие человек, и отметьте это в названии кампании.
Дубли. Скрипт упал на середине, его перезапустили, и в таблице оказалось две строки за один день по тем же товарам. Записывайте данные по ключу «товар плюс дата» с перезаписью, а не дописыванием в конец файла.
Досчитывание. Цифры за вчерашний день в рекламной статистике ещё могут уточняться. Если забирать только вчера, недосчитанные данные так и останутся в таблице. Проще при каждой выгрузке перезаписывать последние несколько дней целиком.
Чужой ключ. Если ключ создан под учётной записью конкретного сотрудника, его увольнение или смена прав тихо отключают всю автоматизацию. Держите интеграции на служебной учётной записи и храните в журнале, кто и когда выпускал ключ.
FAQ
Что такое Performance API Озон?
Это программный интерфейс рекламного кабинета Ozon. Через него можно получать статистику и расходы по кампаниям, а также управлять кампаниями, товарами в них и ставками без ручной работы в кабинете. Он отделён от Seller API и использует свои ключи доступа.
Как получить доступ к Performance API Озон?
В рекламном кабинете под администратором создайте сервисный аккаунт или ключ для API и сохраните идентификатор клиента и секрет. Приложение обменивает их на временный токен и передаёт его в запросах. Точный путь к настройкам и описание методов смотрите в актуальной документации Performance API.
Чем Performance API отличается от Seller API?
Seller API работает с магазином: товары, цены, остатки, заказы, финансы. Performance API — с рекламой: кампании, ставки, бюджеты, рекламная статистика. У них разные ключи, и для расчёта прибыли после рекламы по товару нужны данные из обоих.
Можно ли через API автоматически менять ставки в рекламе Озон?
Да, если метод доступен для вашего типа кампании, но начинать с этого не стоит. Сначала настройте выгрузку статистики и уведомления, месяц сверяйте их со своими решениями. Для правил, которые меняют ставки, обязательны лимит изменения за шаг, минимум данных и журнал всех действий.
Почему данные из Performance API не совпадают с кабинетом?
Чаще всего из-за разных границ периода, часового пояса или того, что данные за последние сутки ещё досчитываются. Сверьте одну кампанию за одну закрытую неделю. Если расхождение остаётся, проверьте, какие типы кампаний и какие статусы заказов попадают в отчёт.
Вы развиваете магазин. ИИ разбирается с рутиной.
Поручите Skudik AI поиск потерь в прибыли, проверку рекламы и планирование запасов. Задавайте вопросы в чате и получайте рекомендации по своему магазину. Попробуйте ИИ-менеджера для Ozon 14 дней бесплатно, без карты.
Попробовать ИИ-менеджера бесплатно