Инструкция: как получить список товаров из магазина Озон в Гугл таблицу.

Содержание

Один самых частых запросов, с которым люди приходят к нам это автоматизация работы с маркетплейсами, в частности, с Озон. Наш опыт автоматизации бизнеса говорит о том, что Google-таблицами для решения тех или иных задач, связанных с работой на маркетплейсах, не пользуются две категории продавцов. Первая категория — это по-настоящему большой бизнес, использующий специальные и дорогие решения, а вторая — те, кто про этот инструмент по каким-то причинам ещё не знают. Согласитесь, большинство продавцов в эти категории не попадает.

Напоминаем, что если нет желания или возможности разбираться со скриптами или необходимо индивидуальное решение – у нас можно заказать разработку индивидуального решения для автоматизации работы с Озон.

Когда-то давно уже публиковалось решение и библиотека для переноса цен из Google-таблицы, но с того времени возможности Ozon Seller API сильно расширились, да и методы изменились. Поэтому, несмотря на то что старая версия API ещё работает, библиотека уже не является актуальной, а реализация методов текущей версии API применительно к скриптам требует отдельного рассмотрения и демонстрации.

Мы в нескольких статьях раскроем реализацию методов актуального Ozon Seller API применительно к Google-таблицам и продемонстрируем их практическое применение в интересах продавца. А начнем с ответа на самый частый вопрос, который нам задают: «Как выгрузить товары из Ozon в Google-таблицу?».

Все статьи из этого цикла пишутся в рамках рубрики «Ozon и Google-таблицы: продаем товары “в клеточках”» на платформе “Ozon for developers”.

Библиотека

Давайте начнём с библиотеки. Сейчас она представляет собой клиент для отправки запросов, адаптированный для выполнения в скриптах, и всего несколько методов, которые будут использоваться при переносе списка товаров из Ozon в таблицу. С каждой последующей темой она будет дополняться и обновляться. Для тех, кто не готов ждать – пулреквесты также приветствуются 😉

Библиотека опубликована на GitHub, где её можно рассмотреть более подробно, а все методы и типы в ней полностью соответствуют официальной документации Ozon Seller API. Чтобы можно было поставить себе галочку за соблюдение принципа разделения ответственности, упростить поддержку и исключить путаницу, ничего, кроме того, что есть в документации, в этой библиотеке нет. Различные функции-помощники, синтаксический сахар и вообще всё, что не касается методов Ozon Seller API, будет в статьях и таблице-примере.

Инструкция как подключить библиотеку к скрипту.

Начинаем писать скрипт

Итак, библиотеку подключили. Теперь нужно подключить службу Sheets, потому что для работы с таблицей мы будем использовать Google Sheets API, что существенно ускорит выполнение скрипта, особенно в операциях записи данных. Нужно нажать на иконку «+» напротив раздела «Сервисы» и выбрать «Google Sheets API», ничего не меняя. Здесь этот процесс расписан немного подробнее.
Подключенная к скрипту библиотека и сервис Sheets
Если вдруг вы не уверены в правильности совершённых ранее действий, рекомендую сделать копию этой таблицы — в ней уже всё подключено, настроено и даже вписан весь нужный код.

Скрипт для загрузки товаров

Давайте теперь разберёмся со структурой скрипта. Из иллюстраций видно, что он состоит из трех файлов: indextools и configs. В файле index будут размещены основные исполняемые функции, в tools — функции-помощники для обработки данных и рутинных действий, а в configs — константы и настройки.

Настройки

Позволим себе не рассказывать о том, как получить ключи для доступа к API. На эту тему доступно очень много материалов — уверены, это не составит для вас проблемы. Тем не менее это самый важный пункт настроек, без которого точно ничего не получится. Открываем файл configs и первым делом меняем ключи на свои. 

Структура файлов скрипта и объект с ключами API

Теперь нужно определить, куда и какие данные записывать.

Для того чтобы определить лист для записи данных о товарах, нужно вписать его название в переменную ProductsSheetName. Обязательно убедитесь, что лист с таким названием есть в таблице, иначе получите ошибку при выполнении скрипта.

Далее в том же файле в качестве переменной fieldsToShow определён массив с перечнем всех полей, которые возвращаются API в объекте товара, и их описаниями.

Данные о товарах, которые нужно записывать в Гугл таблицу

Вы можете сами решить, какие из данных, перечисленных в этом массиве, вам нужно отображать в таблице. Для того чтобы исключить поле, достаточно его просто закомментировать.

И заключительный пункт настройки — настройка преобразования объектов с данными о товаре.

Настройки для обработки данных о товарах, полученных из Озон

Эти настройки находятся в объекте flatConfig. Как раз в него передаются поля для вывода в таблице (свойство onlyFields). Также можно определить поля, которые нужно исключить из отображения в таблице, и те, которые нужно оставить без форматирования. Например, артикул 001234 в таблице будет числом 1234, потому что под капотом скриптов крутится JavaScript, известный своим коварством в подобных случаях. Именно поэтому в списке уже есть поле offer_id.

Ещё один элемент настройки — способ преобразования даты из исходного состояния в формат, понятный Google-таблицам. Тут можно определить, как значения даты и времени будут отображаться в таблице.

Получение данных о товарах из Ozon

С настройкой закончили. Теперь можно загружать данные о товарах.

Для того чтобы получить информацию о товарах API предоставляет два метода. Первый отдаёт их идентификаторы, согласно переданным условиям, а второй — возвращает полный перечень информации о переданном списке идентификаторов.

Благодаря подключённой библиотеке получение полных данных о товарах требует совершения всего четырёх действий. При этом одно из них — это инициализация самого клиента, а второе — пересборка данных из результатов одного запроса для передачи в другой. 

Как видно на иллюстрации ниже, в результате наших действий мы получим массив объектов с информацией о товарах и уровнем вложенности полей не более одного. Это необходимо для корректного преобразования данных в табличный формат. Данные для передачи в качестве параметров запросов в точности соответствуют документации, поэтому трудностей с их изменением возникнуть не должно. 

Функция для получения данных о товарах из Озон по API, их обработки и записи в таблицу

Запись данных о товарах в Google-таблицу

После того как данные успешно получены из Ozon и предварительно обработаны, остаётся только преобразовать их в необходимый формат (а именно — в массив строк) и записать в таблицу.

Преобразование и запись данных в таблицу после их загрузки по API выглядит следующим образом:

Преобразование и запись данных в таблицу после их загрузки из Озон по API

Функция для записи в таблицу вынесена в файл tools и выглядит так:

Реализация функции для записи данных в таблицу

И вообще рекомендуем заглянуть в файл tools — там ещё много интересного.

Заключение

В результате всех действий мы имеем возможность в два клика получить нужные и актуальные данные о товарах в формате таблицы.

Мы постарались максимально доступно не просто изложить инструкцию, а рассказать о самом решении, не останавливаясь при этом на разборе каждой строчки кода. 

Получение списка товаров — первый шаг к тому, чтобы иметь возможность соотнести другую информацию с конкретным товаром, например информацию о заказах, остатках или комиссиях. Не верю мы, что для продавца артикул товара или его идентификатор в Ozon может быть информативнее, чем название. Кроме того, это позволяет достаточно комфортно управлять товарами, например изменять их цены или остатки. Эти возможности мы рассмотрим в следующей статье.

Если у вас остались вопросы или что-то не получается, приходите в чатик «Таблицы Гугл», где мы помогаем разобраться с таблицами и скриптами или просто пишите их в комментариях. 

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Мария
Мария
8 месяцев назад

А если товаров больше 1000?

Андрей
Андрей
1 месяц назад

👍 👍 👍 👍 👍 👍

3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x