Если нужно выгрузить данные о продажах на Ozon через API Seller, то используем два метода: https://api-seller.ozon.ru/v2/product/info/list (метод для получения инфы о товаре по ID) и https://api-seller.ozon.ru/v1/analytics/data (метод для получения инфы о продажах без артикула продавца. Первый метод нужен как раз для добавления в данные артикула). Обращаем внимание, что запросы к серверу можно использовать не больше 1 раза в минуту! Если запросов больше чем разрешено, то возвращается ошибка сервера №429 HTTPStatus.TOO_MANY_REQUESTS. Код можно использовать и без premium-аккаунта Ozon, но с ограничениями. А именно – дата должна быть в пределах последних 3 месяцев. Для premium такого ограничения нет.
В процессе написания кода обнаружил странный баг. Метод получения инфы о товарах по ID для некоторых товаров в поле 'sku' возвращает '0', из-за чего нельзя сопоставить продажи по товарам с данными по товарам, хотя сам запрос по этим самым sku отрабатывает нормально. В чём причина – не понятно. Но сопоставление можно провести и по полю 'name', что и было сделано в коде – всё работает, можно пользоваться.
Открываем Jupyter Notebook. Импортируем библиотеки. Читаем токен и ID-клиента. Включаем всё что нужно
Пишем функцию для запроса о продажах товаров по Ozon Seller API
Пишем функцию для получения инфы о товаре по ID товара
Формируем параметры для запроса к API по продажам товаров
Сохраняем файл по продажам без артикулов продавца
Сохраняем данные по товарам с артикулами продавца
Добавляем в данные о продажах артикулы продавца
Сохраняем данные о продажах с артикулами продавца
Код на GitHub-e: https://gist.github.com/MikyPo/f409e534df3dd65a55766bf8f4fe8e04