Шаблон экспорта карточек в другой каталог
Клонирование переносит карточки товаров из одного каталога в другой — например, из собственного каталога в каталог маркетплейса. Настраивается оно так: меню профиля (аватар в шапке) → «Общие настройки» → вкладка «Клонирование товаров».
Поле «Шаблон» в настройках использует Scriban. В шаблон передается объект model.
Сквозной артикул и обратный экспорт
Если в мастере сквозной артикул хранится в поле «Артикул товара», а в Ozon — в глобальном свойстве, выберите эти поля в настройках сопоставления соответствующей пары каталогов.
Глобальное свойство, используемое ключом в клонировании или мерже мастер-каталога, защищено при экспорте характеристик: существующее значение и его статус сохраняются, даже если в источнике такой характеристики нет или шаблон передаёт другое значение. Защита действует и при экспорте по другому полю. Чтобы поменять ключ, отредактируйте значение свойства явно.
Новой карточке ключ записывается автоматически. Товары с пустым ключом, одинаковыми ключами в выбранных товарах или несколькими подходящими карточками в приемнике пропускаются; причина будет в файле результата экспорта. Для целочисленного свойства указывайте целое число без ведущих нулей и знака плюс, например 123, а не 00123.
Уже потерянные ключи нужно восстановить отдельно перед повторным экспортом.
Подробнее о языке Scriban: https://github.com/scriban/scriban
Поля объекта model
- ExternalId - внешний Id товара
- MarketplaceOfferId - offer id товара
- WbSku - WB SKU
- Name - название товара
- Color - цвет
- Article - артикул
- CategoryId - Id категории
- Category - название конечной категории или путь к ней через
-> - VendorId - Id бренда
- Vendor - название бренда
- Ean - EAN
- Properties - массив объектов свойств
- PropertiesByName - словарь свойств по имени
- ImageTags - список тегов изображений товара для включения (если пусто, берутся все)
- ExcludedImageTags - список тегов изображений для исключения (приоритетнее включающих тегов)
- CategoryName - алиас для Category (обратная совместимость)
- VendorName - алиас для Vendor (обратная совместимость)
Объект свойства в Properties
Каждый элемент массива Properties содержит:
- Id - Id свойства
- Name - название свойства
- Type - тип свойства
- Unit - единица измерения
- StringValue - строковое значение
- BooleanValue - логическое значение
- IntegerValue - целое значение
- DecimalValue - дробное значение
- MinRangeValue - минимальное значение диапазона
- MaxRangeValue - максимальное значение диапазона
- EnumValue - выбранное значение enum
- FlagValues - список значений для множественного выбора
- ModelValues - список Id моделей (для свойств типа модель)
PropertiesByName
PropertiesByName позволяет быстро получить свойство по имени:
model.PropertiesByName["Категория на Wb"]
Значение в словаре — тот же объект свойства, что и в model.Properties.
Поле значения выбирается по типу свойства (Type):
- String -> StringValue
- Boolean -> BooleanValue
- Integer -> IntegerValue
- Decimal -> DecimalValue
- Range -> MinRangeValue / MaxRangeValue
- Enum -> EnumValue
- Flag -> FlagValues
- Model -> ModelValues
Как указать категорию приёмника
Если название конечной категории уникально, в поле Category достаточно передать его без пути:
Category: "Сушильные машины"
Если конечные категории с одинаковым названием находятся в разных ветках, добавьте родительские уровни через ->:
Category: "Встраиваемая техника -> Морозильники"
Полный путь от корневой категории необязателен. Указывайте минимально достаточный конец пути: Морозильники, затем при необходимости Встраиваемая техника -> Морозильники и далее дополнительные родительские уровни. При экспорте рассматриваются только конечные категории.
Примеры
wbCategory = null
wbName = null
if model.PropertiesByName["Категория на Wb"] != null
wbCategory = model.PropertiesByName["Категория на Wb"].StringValue
end
if model.PropertiesByName["Название товара на Wb"] != null
wbName = model.PropertiesByName["Название товара на Wb"].StringValue
end
ret {
Category: wbCategory,
Vendor: model.Vendor,
Name: wbName,
Ean: model.Ean,
MarketplaceOfferId: model.ExternalId,
WbSku: model.Ean,
ImageTags: "wb"
}