Добавить в корзинуПозвонить
Найти в Дзене
Аналитика данных

Запрос по API информации о рекламных кампаниях Wildberries

Как выгрузить все данные по рекламным кампаниям с Wildberries через API с помощью POST-метода: https://advert-api.wildberries.ru/adv/v2/fullstats Метод возвращает статистику кампаний. Максимум 1 запрос в минуту, поэтому приходится ставить таймер, выгружаться будет долго, если кампаний много :( Данные вернутся для кампаний в статусе: В коде не предусмотрена выгрузка всех ID кампаний, список ID подставляется вручную. Но для этого можно использовать и GET-метод: https://advert-api.wb.ru/adv/v1/promotion/count Код перебирает все даты от начала до «бесконечности» (условие конца увеличения даты не дописал, есть что доработать) в параметрах POST-метода кампании. Это нужно на случай если в указанную начальную дату кампания ещё не началась, но она присутствует в границах указанного периода. Есть непонятный баг, от чего зависит, пока не разобрался: # При запуске функции в выводе будет что-то типа такого:
--ID кампании: 15576423
Код ответа сервера: 429
Ошибка при выполнении запроса. Код статуса:
Инфа через API о рекламных кампаниях Wildberries
Инфа через API о рекламных кампаниях Wildberries

Как выгрузить все данные по рекламным кампаниям с Wildberries через API с помощью POST-метода: https://advert-api.wildberries.ru/adv/v2/fullstats

Метод возвращает статистику кампаний. Максимум 1 запрос в минуту, поэтому приходится ставить таймер, выгружаться будет долго, если кампаний много :( Данные вернутся для кампаний в статусе:

  • 7 - кампания завершена,
  • 9 - идут кампании,
  • 11 - кампания на паузе.

В коде не предусмотрена выгрузка всех ID кампаний, список ID подставляется вручную. Но для этого можно использовать и GET-метод: https://advert-api.wb.ru/adv/v1/promotion/count

Код перебирает все даты от начала до «бесконечности» (условие конца увеличения даты не дописал, есть что доработать) в параметрах POST-метода кампании. Это нужно на случай если в указанную начальную дату кампания ещё не началась, но она присутствует в границах указанного периода.

Есть непонятный баг, от чего зависит, пока не разобрался:

# При запуске функции в выводе будет что-то типа такого:
--ID кампании: 15576423
Код ответа сервера: 429
Ошибка при выполнении запроса. Код статуса: 429 Кампания ID=15576423
--ID кампании: 15576423
Код ответа сервера: 400
Ошибка 400. Сдвиг нач.даты +1 день. Заменена на 20-06-2024
--ID кампании: 15576423
Код ответа сервера: 429
Ошибка при выполнении запроса. Код статуса: 429 Кампания ID=15576423
--ID кампании: 15576423
Код ответа сервера: 400
Ошибка 400. Сдвиг нач.даты +1 день. Заменена на 21-06-2024
--ID кампании: 15576423
Код ответа сервера: 400
Ошибка 400. Сдвиг нач.даты +1 день. Заменена на 22-06-2024
--ID кампании: 15576423
Код ответа сервера: 200
Ошибка! Отсутствуют данные days в JSON
--ID кампании: 18102453
Код ответа сервера: 200
Ошибка! Отсутствуют данные days в JSON
--ID кампании: 18051253
Код ответа сервера: 429
Ошибка при выполнении запроса. Код статуса: 429 Кампания ID=18051253
--ID кампании: 18051253
Код ответа сервера: 200
11 Кампания ID=18051253 записана в таблицу
--ID кампании: 17861776
Код ответа сервера: 200
12 Кампания ID=17861776 записана в таблицу


# Пока не понял почему появляется ошибка:
Ошибка! Отсутствуют данные days в JSON
# Ведь если оставить только эту кампанию в списке, то ошибки не будет, странно ¯\(˙|˙)/¯
Код на GitHub.