Модуль «Интеграция с OZON: товары, цены, остатки»

Модуль «Интеграция с OZON: товары, цены, остатки»

20 июля 2023


Автор: Гурьев Владислав

Модуль «Интеграция с OZON: товары, цены, остатки» представляет собой интеграцию Вашего Битрикс (Bitrix) сайта с Маркетплейсом Ozon (Озон). Вы сможете автоматизировать выгрузку первых товаров уже через 10 минут!



Возможности:

  1. Выгрузка товаров в Ozon (все поля и атрибуты), с возможностью опциональной настройки каждого поля или атрибута. Вы можете выгружать конкретный товар (через Тестирование Выгрузки), а также выгружать все допустимые товары через Агент или Cron.

  2. Выгрузка цен товаров в Ozon. Вы можете выгружать цены для конкретного товара (через Тестирование Выгрузки), а также выгружать для всех допустимых товаров через Агент или Cron.

  3. Выгрузка остатков товаров в Ozon. Вы можете выгружать остатки для конкретного товара (через Тестирование Выгрузки), а также выгружать для всех допустимых товаров через Агент или Cron. Также имеется возможность выбрать конкретный склад для выгрузки (необходимо для случая, если у вас более 1 склада в Ozon)

  4. Просмотр информации о выгрузках или ошибках в Журнале обмена

  5. Настроить фильтр на выгрузку товаров, соответствующих Вашим конкретным условиям

  6. Т.к для для выгрузки товаров необходима обязательная настройка связей категорий Ozon c разделами Вашего сайта, то вам необходимо будет настроить выгрузку в Конкретные категории. Если в определенный момент вам не нужно будет выгружать товары по какой-то категории, то вы сможете Деактивировать связь категорий в Управлении связями категорий

  7. Для технических специалистов имеется возможность переопределить данные при выгрузке товаров, цен, остатков (список событий с примерами кода приводится далее в описании)

  8. Без ограничений в Демо-период. Без создания дополнительных шаблонов сайта. Без каких-либо изменений Ваших настроек или настроек Битрикса. Без возможности хоть как-то сломать функционал Вашего сайта.

Скриншоты модуля:



Алгоритм для базовой настройки выгрузки товаров, цен, остатков:
  1. В Основных настройках задать данные для подключения к API Ozon и настроить соответствие основных полей товаров
  2. В Управлении связями категорий соотнести Ваши категории с категориями Ozon, активировать нужные связи для последующей выгрузки (на этапе 5, 6)
  3. В Управлении связями характеристик соотнести Ваши характеристики с характеристиками категории Ozon
  4. В Управлении связями значений характеристик соотнести значения Ваших характеристик с типом список (или справочник) со списочными значениями характеристик категории Ozon
  5. В Тестировании выгрузки можете проверить корректность выгрузки товаров, цен, остатков
  6. Для массовой выгрузки необходимо активировать нужных агентов выгрузки (товаров, цен, остатков), либо поставить нужные скрипты выгрузок на cron
  7. Наслаждаться автоматизированной выгрузкой
Важно:

1. Для успешной выгрузки полей, характеристик, цен, остатков: необходимо, чтобы у Вас были настроены связи на все обязательные поля (артикул, габариты и т.д.) и обязательные характеристики в категориях. Т.к если у Вас не настроено хоть 1 обязательное поле или 1 обязательная характеристика для связанных категорий, то в Ozon может не обновится информация ни по полям, ни по каким-либо характеристикам у товаров определенной категории.

2. Если в Ozon характеристика представляет собой список (например, Пол: Мужской, Женский и т.д), то необходимо, чтобы на Вашем сайте данное св-во также было списочным (или справочником) и у вас была создана Связь характеристик в Управлении связями характеристик между Полом на Вашем сайте и Полом в Ozon, а также задано соотношение Женский из вашего св-ва Пол со значением Женский из св-ва Ozon в связях значений характеристик в Управлении связями значений характеристик, т.к фактически в Ozon будет выгружаться не строковое значение (например Женский), а специальный id из Ozon - и чтобы оно правильно выгрузилось, надо как раз и настроить связи значений характеристик

3. У ваших свойств в настройках соответствующего инфоблока, должны быть заданы Коды (а не только Название)

ВНИМАНИЕ! Для работы модуля необходимы ID и ключ API, которые можно получить в личном кабинете партнера на Ozon. Модуль выгружает товары, имеющие привязку к разделам (простые товары, sku простых товаров, sku с привязкой к разделам). Наборы и комплекты в выгрузке не участвуют.


Нюансы:

  1. По умолчанию выгрузка товаров, цен, остатков доступны на Агентах, но их надо Активировать и при желании изменить периодичность запуска (НЕ рекомендуется ставить слишком часто). Крайне рекомендуется настроить выгрузку не через Агенты, а с использование Cron,

  2. Если у св-ва в настройках Инфоблока задана подсказка, то при возможности будет происходить Автоматическая конвертация единиц измерения для Ozon. Например, на сайте есть числовое св-во Ширина с подсказкой мм, а в Ozon для определенной категории значения надо передавать в см, тогда значение на сайте Автоматически переведется в см. Доступные на данный момент величины для автоматической конвертации:

    1. Размеры (мм, см, м);

    2. Вес (г, кг, т);

    3. Объем жидкостей (мл, л);

    4. Пропускной объем жидкостей (л/с, л/мин);


Крайне рекомендуется поставить выгрузки товаров, цен, остатков на Сron. Пути скриптов (начало пути может отличаться от вашего - уточняйте у штатного программиста или в ТП хостера):

  1. Выгрузка товаров /public_html/bitrix/tools/guryev.ozon/cron/export_products.php
  2. Выгрузка цен /public_html/bitrix/tools/guryev.ozon/cron/export_prices.php
  3. Выгрузка остатков /public_html/bitrix/tools/guryev.ozon/cron/export_stocks.php


Обработчики событий:

Доступны обработчики событий для программистов. Примеры обработчиков для init.php:

  1. Переопределить значения при выгрузке информации о товарах (название, ндс, аттрибуты и т.д)  AddEventHandler("guryev.ozon", "OnExportProduct", ["MyClassGuryevOzon", "OnExportProduct"]);
  2. Переопределить значения при выгрузке цен товаров AddEventHandler("guryev.ozon", "OnExportPrice", ["MyClassGuryevOzon", "OnExportPrice"]);
  3. Переопределить значения при выгрузке остатков товаров AddEventHandler("guryev.ozon", "OnExportStock", ["MyClassGuryevOzon", "OnExportStock"]);


Примечание к обработчикам: в OnExportProduct, OnExportPrice, OnExportStock собственная реализация фильтра/отсева товаров недопустима, и может повлечь отсутствие выгрузки данных. Для успешной выгрузки разрешено только переопределение значений!


Пример класса с обработчиками для init.php

*Не забудьте также подключить их через AddEventHandler

class MyClassGuryevOzon

{

   function OnExportProduct(array $preparedData): array

   {

       foreach ($preparedData as $key => $value) {

           $updPrice = $value['price'] + 100;

           $preparedData[$key]['price'] = (string)$updPrice;

       }

       return $preparedData;

   }

   function OnExportPrice(array $preparedData): array

   {

       foreach ($preparedData as $key => $value) {

           $updPrice = $value['price'] + 200;

           $preparedData[$key]['price'] = (string)$updPrice;

       }

       return $preparedData;

   }

   function OnExportStock(array $preparedData): array

   {

       foreach ($preparedData as $key => $value) {

           $updStock = $value['stock'] + 5;

           $preparedData[$key]['stock'] = (int)$updStock;

       }

       return $preparedData;

   }

}

Модуль «Интеграция с OZON: товары, цены, остатки» - автоматизируйте выгрузку товаров, цен, остатков с вашего сайта в Ozon уже сегодня!