Где можно посмотреть примеры интеграции такой API с EXCEL?
Документация здесь -
Изменено: - 28.07.2021 15:52:57
Пользователь
Сообщений: Регистрация: 18.11.2020
02.09.2021 13:15:42
Здравствуйте! Создайте пустой запрос в PQ и в расширенном редакторе вставьте код из примера ниже подставив нужные значение в поля Client-id и Apikey изменяйте переменную url чтобы получить данные из других методов API Ozon
Код
url = "https://api-seller.ozon.ru/v1/product/info/prices",
body = "{ ""page"": ""1"", ""page_size"": ""500""}", //постранично - не более 1000 записей на страницу
Parsed_JSON = Json.Document(body),
BuildQueryString = Uri.BuildQueryString(Parsed_JSON),
Source = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json",#"Client-Id"="XXXX",#"Api-Key"="XXXXXXXXX"], Content = Text.ToBinary(body) ] )),
result = Source[result],
items = result[items],
Пользователь
Сообщений: Регистрация: 18.11.2020
18.10.2021 12:01:07
Попробуйте удалить последнюю запятую
Пользователь
Сообщений: Регистрация: 15.08.2017
27.10.2022 14:27:30
А ругается на запятую в первой строке, не подскажете, как исправить код выше, что бы заработало?
написал: , пробовала ваш код, но PQ выдает ошибку. Сможете подсказать, в чем кроется проблема?
Если я правильно понял, Вы не подставили API ключ из админки OZON
Пользователь
Сообщений: Регистрация: 28.11.2022
28.11.2022 11:57:34
Никита К, для удобства создала переменные client_id и api_key (они подтягиваются автоматически с листа, чтобы в случае смены ключа не перебивать каждый код). Если в код прямо вставить ID и ключ, то такая же ошибка возникает. У вас код работает?
Пользователь
Сообщений: Регистрация: 28.11.2022
28.11.2022 11:57:40
Техподдержка Ozon написала следующее: Вам необходимо отправлять POST запрос. В данном примере вы отправляете GET.
Изменено: - 28.11.2022 12:00:57
Пользователь
Сообщений: Регистрация: 15.08.2017
28.11.2022 12:03:59
Уважаемые, если у кого заработает, пожалуйста, поделитесь рабочим вариантом, очень актуальная тема
Пользователь
Сообщений: Регистрация: 18.11.2020
28.11.2022 12:11:41
Всем привет! В PQ запрос передается как POST если заполнены данные в Content Если Вы подставляете данные из переменных, обратите внимание на количество и закрывание кавычек. Я уже не работаю с озон но вот пример работающего кода из апи запроса к алиэкспресс:
Обратите внимание, значение переменных с обоих сторон облачено в " х 3 или (""")
Я побежал апи озон около полугода тк нигде ни видел нормальной инфы как это делается через PQ, и когда победил моему ликованию не было предела. Запаситесь терпением и метод тыка поможет Вам
Пользователь
Сообщений: Регистрация: 15.08.2017
29.11.2022 12:15:09
Очень надеюсь, что содержание данного сообщения не нарушит никаких правил. В продолжении темы данного топика (Ozon API + Excel) есть предложение к заинтересованным к данной теме. Как то наткнулся в поисках решения, на такую Обратился к автору, но он что то как то непонятно (мне) ответил, в итоге, обратился на один из сайтов фрилансеров. За (неприлично в итоге большие для данной задачи) деньги мне написали скрипт с абсолютно идентичным функционалом из ссылкb выше. Забирает данные о заказах, о ценах и остатках, если нужно изменить или остатки или цены, то вносятся новые данные, лист определяет изменения и только их можно из этого же листа отправить на Озон. Так вот, суть сообщения. Готов даром поделиться этим скриптом для Гугл таблиц с целью адаптировать всё это для Excel. Я конечно не знаю, насколько родственны скрипты от Гугл таблиц с Excel и не выйдет ли это каша из топора, но если на осове скрипта, его можно без особых затруднений переделать для Excel и в итоге получить функционал как на ссылке выше, только в Excel, стучите в лс, с радостью поделюсь исхдниками (только для реализации под Excel).
Если данное сообщение противоречит правилам, прошу снести его и не применять санкций, ибо финансовой корысти не исытываю, просто очень хочется удобно работать с Озон по API именно через Excel.
Пользователь
Сообщений: Регистрация: 24.03.2023
24.03.2023 06:16:50
Я подружил Power Query и Ozon!!!!!! Делаете пустой запрос. В расширенном редакторе вставляете тест ниже. Client-Id"="ХХХХХХХХ" и "Api-Key"="ХХХХХХХХХХХ" меняете на свои.
написал: Ну Вы же не просто копируете? Написать с 0, вероятно, сложно, но чуть-чуть понимать же код нужно. Что если закрыть кавычки у текстового значения url?
На базе вашего запроса, который у меня работает, сделал другой запрос но PQ упорно выдаёт 400 ошибку Bad request. Причем в Postman всё отлично пашет. Я уже голову сломал. Что не так? Памагити!
Профессиональная разработка приложений для MS Office
11.07.2023 16:43:41
Ошибка 400 обычно означает неверно переданные параметры. Вот в них и надо искать причину. Может быть тип данных, переданных через JSON не тот, что ожидался. Например, здесь:
Код
""analytics_data"": ""true"",
true или false вполне возможно должны быть без кавычек, т.к. это булево значение, а не текст:
Код
""analytics_data"": true,
Но это все надо смотреть по спецификации API.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Да, в итоге true false действительно в данном запросе нужно было писать без кавычек. Удивительно, что в других некоторых запросах с кавычками на true false работает.
значение ""to"": ""2024-07-05T10:44:12.828Z"" заменить на СЕГОДНЯ()
и
значение ""since"": ""2023-05-01T00:00:00.000Z"" заменить на СЕГОДНЯ() минус 6 месяцев назад
?
Пользователь
Сообщений: Регистрация: 18.10.2021
12.07.2023 16:32:58
Иван, а как вы обошли лимит в 1000 строк? Ведь это не так много заказов высвечивается, в моем случае всего за 10 дней. По методу API больше 1000 строк из одного запроса нельзя получить. Предполагаю, что нужно как-то организовывать несколько запросов в диапазоне выбранных дат и складывать их результаты в одну таблицу. Если делали так, поделитесь опытом, пожалуйста, как это прописать в коде?
Пользователь
Сообщений: Регистрация: 19.06.2023
15.12.2023 00:16:26
Кто-нибудь может подсказать дальше как загрузить отчеты. К примеру я с помощью метода создал отчет, далее получил код этого отчета. Как его теперь загрузить?
Изменено: - 08.02.2024 20:24:43
Пользователь
Сообщений: Регистрация: 19.06.2023
08.02.2024 20:26:16
Все таки получилось у кого-нибудь заменить даты на формулы?
Изменено: - 09.02.2024 00:09:10
Пользователь
Сообщений: Регистрация: 14.07.2020
19.05.2024 11:22:11
Если кому-то поможет, адаптированный код для Отчёта по остаткам и товарам OZON
Код
let
Запрос = let
url = "https://api-seller.ozon.ru/v2/analytics/stock_on_warehouses",
body =
"{
""limit"": 1000,
""offset"": 0,
""warehouse_type"": ""ALL""
}",
Parsed_JSON = Json.Document(body),
BuildQueryString = Uri.BuildQueryString(Parsed_JSON),
Source = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json",#"Client-Id"="XXXXXX",#"Api-Key"="XXXXXXXXXXXXXXXX"], Content = Text.ToBinary(body) ] )),
result = Source[result],
items = result[items]
in
Source,
result = Запрос[result],
rows = result[rows],
#"Преобразовано в таблицу" = Table.FromList(rows, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Развернутый элемент Column1" = Table.ExpandRecordColumn(#"Преобразовано в таблицу", "Column1", {"sku", "warehouse_name", "item_code", "item_name", "promised_amount", "free_to_sell_amount", "reserved_amount"}, {"sku", "warehouse_name", "item_code", "item_name", "promised_amount", "free_to_sell_amount", "reserved_amount"})
in
#"Развернутый элемент Column1"
Изменено: - 19.05.2024 11:26:34
Пользователь
Сообщений: Регистрация: 17.09.2024
17.09.2024 23:06:23
Коллеги, в Power Query рекурсия Ваш лучший друг Внутри кода создаёте функцию (или отдельно) далее через Table.Combine вызываете её по условию, 1) Считаем кол-во страниц уже выгруженных (или просто суммируем каждый раз как 1+1 и т.д. 2) если общее кол-во страниц (есть в ответе на запрос) больше, чем выгружено сейчас, то рекурсивная функция
Код
if #"Value page_count" > page_count then
let
nextPage = page_count + 1,
nextTable = @ЗапросРекурсия(nextPage),
combinedTable = Table.Combine({table, nextTable})
in
combinedTable
else
table,
Цитата
Цитата
написал: Ведь это не так много заказов высвечивается, в моем случае всего за 10 дней. По методу API больше 1000 строк из одного запроса нельзя получить.
написал: Все таки получилось у кого-нибудь заменить даты на формулы?
Пользователь
Сообщений: Регистрация: 17.09.2024
17.09.2024 23:09:02
У меня вот другой вопрос, по базовому отчёту из Начислений по товарам можно сделать фактическую Юнитку, однако по API сервисные операции (да и не только они) суммируются на строку и при разворачивании List и Record, он просто дублирует суммы, может кто знает, как их выгружать непосредственно на товар?
Пользователь
Сообщений: Регистрация: 17.10.2024
17.10.2024 20:39:36
Кто-нибудь может подсказать что я делаю не так?
Я пытаюсь сделать так, чтобы даты в запрос попадали из таблицы в экселе. Создала таблицу с датами и к датам сделала запрос. (скрин прикладываю)
Пробовала и без кавычек и с одинарными кавычками и с двойными. и кавычке в запросе пробовала ставить... Потом подставляю этот запрос вместо дат в коде и получаю ошибку: DataSource.Error: Web.Contents не удалось получить содержимое из ""(400): Bad Request.
Если подставить даты в виде ""2024-00-01T00:00:00.000Z"", то код работает. Но это не удобно. Надо лезть в код и менять даты