Модуль «Интеграция с OZON: товары, цены, остатки»
Автор: Гурьев Владислав
Модуль «Интеграция с OZON: товары, цены, остатки» представляет собой интеграцию Вашего Битрикс (Bitrix) сайта с Маркетплейсом Ozon (Озон). Вы сможете автоматизировать выгрузку первых товаров уже через 10 минут!
Возможности:
-
Выгрузка товаров в Ozon (все поля и атрибуты), с возможностью опциональной настройки каждого поля или атрибута. Вы можете выгружать конкретный товар (через Тестирование Выгрузки), а также выгружать все допустимые товары через Агент или Cron.
-
Выгрузка цен товаров в Ozon. Вы можете выгружать цены для конкретного товара (через Тестирование Выгрузки), а также выгружать для всех допустимых товаров через Агент или Cron.
-
Выгрузка остатков товаров в Ozon. Вы можете выгружать остатки для конкретного товара (через Тестирование Выгрузки), а также выгружать для всех допустимых товаров через Агент или Cron. Также имеется возможность выбрать конкретный склад для выгрузки (необходимо для случая, если у вас более 1 склада в Ozon)
-
Просмотр информации о выгрузках или ошибках в Журнале обмена
-
Настроить фильтр на выгрузку товаров, соответствующих Вашим конкретным условиям
-
Т.к для для выгрузки товаров необходима обязательная настройка связей категорий Ozon c разделами Вашего сайта, то вам необходимо будет настроить выгрузку в Конкретные категории. Если в определенный момент вам не нужно будет выгружать товары по какой-то категории, то вы сможете Деактивировать связь категорий в Управлении связями категорий
-
Для технических специалистов имеется возможность переопределить данные при выгрузке товаров, цен, остатков (список событий с примерами кода приводится далее в описании)
-
Без ограничений в Демо-период. Без создания дополнительных шаблонов сайта. Без каких-либо изменений Ваших настроек или настроек Битрикса. Без возможности хоть как-то сломать функционал Вашего сайта.
Алгоритм для базовой настройки выгрузки товаров, цен, остатков:
- В Основных настройках задать данные для подключения к API Ozon и настроить соответствие основных полей товаров
- В Управлении связями категорий соотнести Ваши категории с категориями Ozon, активировать нужные связи для последующей выгрузки (на этапе 5, 6)
- В Управлении связями характеристик соотнести Ваши характеристики с характеристиками категории Ozon
- В Управлении связями значений характеристик соотнести значения Ваших характеристик с типом список (или справочник) со списочными значениями характеристик категории Ozon
- В Тестировании выгрузки можете проверить корректность выгрузки товаров, цен, остатков
- Для массовой выгрузки необходимо активировать нужных агентов выгрузки (товаров, цен, остатков), либо поставить нужные скрипты выгрузок на cron
- Наслаждаться автоматизированной выгрузкой
1. Для успешной выгрузки полей, характеристик, цен, остатков: необходимо, чтобы у Вас были настроены связи на все обязательные поля (артикул, габариты и т.д.) и обязательные характеристики в категориях. Т.к если у Вас не настроено хоть 1 обязательное поле или 1 обязательная характеристика для связанных категорий, то в Ozon может не обновится информация ни по полям, ни по каким-либо характеристикам у товаров определенной категории.
2. Если в Ozon характеристика представляет собой список (например, Пол: Мужской, Женский и т.д), то необходимо, чтобы на Вашем сайте данное св-во также было списочным (или справочником) и у вас была создана Связь характеристик в Управлении связями характеристик между Полом на Вашем сайте и Полом в Ozon, а также задано соотношение Женский из вашего св-ва Пол со значением Женский из св-ва Ozon в связях значений характеристик в Управлении связями значений характеристик, т.к фактически в Ozon будет выгружаться не строковое значение (например Женский), а специальный id из Ozon - и чтобы оно правильно выгрузилось, надо как раз и настроить связи значений характеристик
3. У ваших свойств в настройках соответствующего инфоблока, должны быть заданы Коды (а не только Название)
ВНИМАНИЕ! Для работы модуля необходимы ID и ключ API, которые можно получить в личном кабинете партнера на Ozon. Модуль выгружает товары, имеющие привязку к разделам (простые товары, sku простых товаров, sku с привязкой к разделам). Наборы и комплекты в выгрузке не участвуют.
Нюансы:
- По умолчанию выгрузка товаров, цен, остатков доступны на Агентах, но их надо Активировать и при желании изменить периодичность запуска (НЕ рекомендуется ставить слишком часто). Крайне рекомендуется настроить выгрузку не через Агенты, а с использование Cron,
-
Если у св-ва в настройках Инфоблока задана подсказка, то при возможности будет происходить Автоматическая конвертация единиц измерения для Ozon. Например, на сайте есть числовое св-во Ширина с подсказкой мм, а в Ozon для определенной категории значения надо передавать в см, тогда значение на сайте Автоматически переведется в см. Доступные на данный момент величины для автоматической конвертации:
1. Размеры (мм, см, м);
2. Вес (г, кг, т);
3. Объем жидкостей (мл, л);
4. Пропускной объем жидкостей (л/с, л/мин);
Крайне рекомендуется поставить выгрузки товаров, цен, остатков на Сron. Пути скриптов (начало пути может отличаться от вашего - уточняйте у штатного программиста или в ТП хостера):
- Выгрузка товаров /public_html/bitrix/tools/guryev.ozon/cron/export_products.php
- Выгрузка цен /public_html/bitrix/tools/guryev.ozon/cron/export_prices.php
- Выгрузка остатков /public_html/bitrix/tools/guryev.ozon/cron/export_stocks.php
Обработчики событий:
Доступны обработчики событий для программистов. Примеры обработчиков для init.php:
- Переопределить значения при выгрузке информации о товарах (название, ндс, аттрибуты и т.д) AddEventHandler("guryev.ozon", "OnExportProduct", ["MyClassGuryevOzon", "OnExportProduct"]);
- Переопределить значения при выгрузке цен товаров AddEventHandler("guryev.ozon", "OnExportPrice", ["MyClassGuryevOzon", "OnExportPrice"]);
- Переопределить значения при выгрузке остатков товаров 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 уже сегодня!