Правила преобразования данных
Используйте правила преобразования данных, чтобы изменить данные о товарах поставщика перед их записью в экспорт. Правило может обновить существующий атрибут, создать новый атрибут для конкретного экспорта и ограничить изменение товарами, соответствующими выбранным условиям.
Для чего нужна эта страница
Страница Data Transformation Rules используется для подготовки многоразовых правил изменения данных о товарах, полученных от поставщиков. Типичные задачи включают добавление наценки, изменение значений остатков, очистку описаний товаров, перевод содержимого, изменение регистра текста или создание атрибутов для конкретного назначения.
B2BLIX Feed может получать один и тот же товар от нескольких поставщиков. Товары группируются по принятому EAN, поэтому правильное сопоставление EAN имеет большое значение. Во время подготовки экспорта система работает с данными о товаре и поставщике, выбранными в соответствии с конфигурацией экспорта. Затем правило преобразования может изменить выбранные данные о товаре до создания XML-файла.
Правила преобразования создаются на уровне учетной записи. Поэтому эта страница служит каталогом правил, которые позднее можно назначить одному или нескольким экспортным представлениям.
Создание правила не активирует его автоматически. Новое правило не изменяет данные поставщика или созданные экспорты, пока оно не будет назначено экспортному представлению. После назначения оно может повлиять на следующую запланированную генерацию этого экспорта.
Когда следует открывать эту страницу
Открывайте эту страницу, если данные поставщика правильно импортированы и сопоставлены, но значения необходимо скорректировать для определенного процесса экспорта.
Например, может потребоваться:
- Добавить фиксированную или процентную наценку к цене поставщика.
- Создать отдельную цену для веб-сайта или маркетплейса, не заменяя исходную цену.
- Установить другое значение остатка для выбранных товаров.
- Удалить HTML из описаний.
- Перевести выбранное содержимое товаров.
- Преобразовать названия в верхний, нижний или заглавный регистр.
- Объединить несколько значений в новое название или описание.
- Применить разные расчеты к разным поставщикам, категориям, брендам или ценовым диапазонам.
Что можно сделать на этой странице
- Создать понятное правило преобразования.
- Ограничить действие правила товарами, соответствующими выбранным условиям фильтра.
- Объединить условия с помощью логики AND и OR.
- Переопределить существующий атрибут товара, например price.
- Создать новый атрибут, например price_for_website.
- Выбрать, будет ли результат преобразования текстом или числом.
- Использовать константы, атрибуты товаров, расчеты, функции и условную логику.
- Добавить несколько преобразований атрибутов в одно правило.
- Сохранить правило в каталоге преобразований на уровне учетной записи.
Основные поля и элементы управления
| Поле или элемент управления | Значение | Результат |
|---|---|---|
| Title | Понятное название правила. Используйте название, объясняющее назначение и целевую группу товаров. | Используется для последующей идентификации правила. Данные о товарах не изменяет. |
| Filter Criteria | Условия, определяющие, к каким товарам будут применены преобразования. | Проверяются, когда правило используется во время подготовки экспорта. |
| Field | Атрибут товара, который нужно проверить, например поставщик, категория, цена, остаток или EAN. | Определяет, какое значение товара используется условием. |
| Operator | Операция сравнения, например «равно», «содержит», «пусто» или «больше чем». | Определяет, как выбранное поле сравнивается с введенным значением. |
| Value(s) | Значение, с которым проверяется атрибут товара. | Используется только для проверки фильтра. Некоторые операторы, например Is empty, не требуют значения для сравнения. |
| Add AND / OR rule | Добавляет еще одно условие или группу условий. | Позволяет точнее выбирать товары. |
| Name | Атрибут, в который будет записан преобразованный результат. | Существующее имя переопределяет этот атрибут. Новое имя создает атрибут для использования в шаблоне экспорта. |
| Data type | Выберите Text или Number в зависимости от ожидаемого результата. | Определяет, как результат обрабатывается во время преобразования и подготовки экспорта. |
| Value | Константа, атрибут товара, формула, функция или логическое выражение. | Формирует значение, которое будет записано в выбранный атрибут. |
| Add attribute | Добавляет еще одну строку преобразования в то же правило. | Позволяет одному подходящему правилу создать или изменить несколько атрибутов. |
| Create rule | Сохраняет готовое правило. | Добавляет правило в каталог на уровне учетной записи. На экспорт оно не влияет, пока правило не будет назначено ему. |
Название правила
Поле Title обязательно для заполнения. Название должно помогать быстро находить правило в каталоге преобразований и настройках экспорта.
Хорошее название описывает и действие, и затрагиваемые товары. Например:
- Добавить наценку 20% для Supplier A
- Удалить HTML из описаний
- Создать цену для веб-сайта
- Перевести выбранные названия на финский
Избегайте названий вроде «Правило 1» или «Новое преобразование», особенно если один экспорт использует несколько правил.
Условия фильтра
Условия фильтра определяют, применяются ли преобразования атрибутов к товару. Если условия выполнены, выполняется раздел преобразования. Если условия не выполнены, это правило не изменяет товар.
Фильтр на этой странице определяет, применяется ли данное правило преобразования. Не путайте его с основными фильтрами выбора товаров в экспортном представлении.
Доступные поля фильтра
В видимом списке полей доступны:
- EAN
- SKU
- Title
- Description
- Price
- Stock
- Images
- Category
- Manufacturer or brand
- Weight
- Dimensions
- Color
- Category ID
- Supplier (title)
Доступные операторы фильтра
| Оператор | Значение |
|---|---|
| Equal (=) | Атрибут должен точно соответствовать значению. При сравнении текста регистр букв не учитывается, поэтому «Apple» и «apple» считаются одинаковыми. |
| Not equal (!=) | Атрибут не должен соответствовать значению. При сравнении текста регистр букв не учитывается. |
| Contains | Введенное значение должно встречаться в атрибуте. При сравнении текста регистр букв не учитывается. |
| Not contains | Введенное значение не должно встречаться в атрибуте. При сравнении текста регистр букв не учитывается. |
| In | Атрибут должен соответствовать одному из значений в списке. |
| Not in | Атрибут не должен соответствовать ни одному значению в списке. |
| Is empty | Атрибут не должен содержать значения. |
| Is not empty | Атрибут должен содержать значение. |
| Greater than (>) | Атрибут должен быть численно больше введенного значения. |
| Greater than or equal to (>=) | Атрибут должен быть численно больше или равен введенному значению. |
| Less than (<) | Атрибут должен быть численно меньше введенного значения. |
| Less than or equal to (<=) | Атрибут должен быть численно меньше или равен введенному значению. |
Предупреждение о числовом фильтре: В интерфейсе указано, что нечисловые значения при числовом сравнении считаются равными
0. Перед использованием условий «больше» или «меньше» убедитесь, что выбранное поле содержит надежные числовые данные.
Для операторов In и Not in разделяйте несколько значений точками с запятой. Например:
Brand A;Brand B;Brand C
Использование AND и OR
AND означает, что все связанные условия должны быть истинными. Например:
- Поставщик равен «Supplier A»
- AND Категория равна «Electronics»
Преобразование применяется только тогда, когда выполнены оба условия.
OR означает, что истинным должно быть хотя бы одно связанное условие. Например:
- Производитель равен «Brand A»
- OR Производитель равен «Brand B»
Интерфейс поддерживает группы условий AND и OR. При создании более сложных групп сначала опишите нужную логику простым предложением, а затем воспроизведите ее в интерфейсе.
Внимательно проверяйте сложные фильтры AND/OR. Неправильно размещенный AND или OR может привести к применению правила к слишком большому числу товаров или не позволить ему совпасть ни с одним товаром. Начните с одного-двух условий и расширяйте фильтр только после проверки базового результата. Внутренний помощник на базе ИИ может помочь проверить предполагаемую логику.
Преобразование атрибутов
Раздел Attribute transformation определяет, что произойдет после соответствия товара условиям фильтра.
Name
Введите атрибут, в который нужно записать результат.
- Введите имя существующего атрибута, например
price, чтобы переопределить это значение для процесса экспорта. - Введите новое имя, например
price_for_website, чтобы создать отдельный атрибут и сохранить доступ к исходному значению.
Изменение цены и остатка может повлиять на коммерческие данные в экспорте. Если вы не уверены в формуле, сначала создайте отдельный тестовый атрибут. Проверьте итоговое значение перед заменой стандартного атрибута
priceилиstock.
Data type
Выберите тип, соответствующий ожидаемому результату:
- Text — для названий, описаний, обозначений, статусов, цветов или объединенного содержимого.
- Number — для цен, количества товаров, веса, наценок и других расчетов.
Формула, возвращающая цену, обычно должна использовать тип Number. Формула, возвращающая обозначение, например «В наличии», должна использовать тип Text.
Value
Поле Value определяет преобразованный результат. Оно может содержать фиксированное значение, существующий атрибут товара, математическую формулу или поддерживаемую функцию.
Константы
Константы — это фиксированные значения, непосредственно записанные в преобразовании.
| Тип | Пример | Использование |
|---|---|---|
| Numeric constant | 9.99 |
Используется для фиксированных цен, наценок, количеств или значений в расчетах. |
| Text constant | "SALE" или "In Stock" |
Используется для фиксированного текста. Текстовые константы необходимо заключать в кавычки. |
Системные атрибуты
Системные атрибуты представляют значения из обрабатываемых данных о товарах. Их можно использовать как переменные внутри формулы преобразования.
| Атрибут | Описание, отображаемое в интерфейсе |
|---|---|
ean |
Европейский номер товара. |
sku |
SKU поставщика или идентификатор товара. |
title |
Название товара. |
description |
Подробное описание товара. |
price |
Цена товара. |
stock |
Количество доступных единиц товара. |
images |
Один или несколько URL изображений товара. |
category_id |
Идентификатор категории товара. |
manufacturer |
Значение производителя или бренда товара. |
weight |
Вес товара в виде числового значения. |
dimensions |
Размеры товара в текстовом формате. |
color |
Цвет товара в текстовом формате. |
attributes |
Список дополнительных атрибутов товара. |
Используйте имена атрибутов точно в том виде, в котором они отображаются в интерфейсе. Значение берется из данных о товаре, доступных во время подготовки экспорта, а не непосредственно из необработанного файла поставщика.
Математические операции
| Операция | Назначение | Пример |
|---|---|---|
+ |
Сложение | price + 2.50 |
- |
Вычитание | price - 10 |
* |
Умножение | price * 1.20 |
/ |
Деление | price / 1.20 |
( ) |
Объединяет части расчета. | (price + 2.50) * 1.20 |
Скобки полезны, если формула состоит из нескольких шагов. Они делают порядок расчета более понятным и снижают риск неожиданного результата.
Математические функции
| Функция | Назначение | Формат примера |
|---|---|---|
ceil |
Округляет число вверх до ближайшего целого. | ceil(value) |
floor |
Округляет число вниз до ближайшего целого. | floor(value) |
round |
Округляет числовое значение. | round(value) |
min |
Возвращает наименьшее из переданных значений. | min(value1, value2) |
max |
Возвращает наибольшее из переданных значений. | max(value1, value2) |
Пользовательские функции
| Функция | Назначение | Пример или использование |
|---|---|---|
translate |
Переводит текст на указанный целевой язык. | translate(es, text) |
html2text |
Преобразует HTML-содержимое в обычный текст. | html2text(description) |
uppercase |
Преобразует текст в верхний регистр. | uppercase(title) |
lowercase |
Преобразует текст в нижний регистр. | lowercase(title) |
headline |
Преобразует текст в регистр заголовка. | Используйте формат функции, который в данный момент отображается в интерфейсе. |
concat |
Объединяет несколько текстовых значений в один результат. | concat(title, " - ", color) |
if |
Возвращает один результат, если условие истинно, и другой, если оно ложно. | if(condition, value_if_true, value_if_false) |
Перевод зависит от использования. Правила с функцией
translateмогут создавать платные задачи перевода. Перед переводом большого каталога ознакомьтесь с актуальной информацией о ценах B2BLIX Feed.
Логические операторы внутри формул
Логические операторы можно использовать внутри выражения if, чтобы возвращать разные значения для разных товаров.
| Оператор или функция | Назначение |
|---|---|
= |
Равно |
!= |
Не равно |
> |
Больше чем |
>= |
Больше или равно |
< |
Меньше чем |
<= |
Меньше или равно |
[...] |
Набор или список значений, например ["Brand A", "Brand B"]. |
and |
Требует истинности обоих связанных условий. |
or |
Требует истинности хотя бы одного связанного условия. |
not |
Инвертирует логический результат. |
contains |
Проверяет, содержит ли текст выбранное значение. |
not_contains |
Проверяет, не содержит ли текст выбранное значение. |
in |
Проверяет, входит ли значение в указанный набор. |
not_in |
Проверяет, не входит ли значение в указанный набор. |
is_empty |
Проверяет, не содержит ли атрибут значения. |
is_not_empty |
Проверяет, содержит ли атрибут значение. |
Пример условного выражения:
if(price > 100, price * 1.15, price * 1.20)
В этом примере для цены выше 100 применяется один множитель, а для остальных цен — другой.
Безопасное использование этой страницы
-
Определите ожидаемый результат.
Запишите, какие товары нужно изменить, какой атрибут следует изменить и как должен выглядеть ожидаемый результат.
-
Используйте понятное название правила.
Укажите действие и группу товаров, чтобы позднее можно было легко найти правило.
-
Начните с узкого фильтра.
Для первоначального тестирования ограничьте правило поставщиком, категорией, брендом или отдельным EAN, а не применяйте его ко всему каталогу.
-
Прочитайте фильтр как предложение.
Убедитесь, что каждый AND и OR формирует нужную группу товаров.
-
Внимательно выберите выходной атрибут.
При тестировании используйте новый атрибут. Переопределяйте стандартный атрибут только после того, как убедитесь в правильности формулы.
-
Выберите правильный тип данных.
Используйте Number для расчетов, а Text — для содержимого или обозначений.
-
Проверьте константы и кавычки.
Числа вводятся без кавычек. Фиксированные текстовые значения необходимо заключать в кавычки.
-
Создайте правило.
Правило будет добавлено в каталог на уровне учетной записи, но останется неактивным, пока не будет назначено экспортному представлению.
-
Назначьте правило тестовому экспорту.
Если назначено несколько правил, проверьте настроенный приоритет: он определяет порядок обработки правил.
-
Проверьте результат перед использованием в рабочем процессе.
Используйте контролируемую группу товаров и проверьте преобразованные атрибуты и итоговый XML в Export Checker, прежде чем использовать результат в действующем канале продаж.
Что происходит после создания правила
После выбора Create rule правило сохраняется в каталоге Data Transformation Rules учетной записи.
На этом этапе:
- Исходный файл поставщика не изменяется.
- Сопоставленные данные каталога автоматически не переписываются.
- Экспорт не изменяется только потому, что правило существует.
После назначения правила экспортному представлению оно используется во время обработки этого экспорта. В таком случае правило может повлиять на данные, включенные в следующую запланированную генерацию экспорта.
Например, правило, переопределяющее price, может изменить цену, записанную в созданный XML. Последующий импорт или публикация этого XML внешним маркетплейсом или магазином — отдельный процесс.
Распространенные ошибки
-
Предполагать, что сохранение правила активирует его.
Правило также необходимо назначить экспортному представлению.
-
Использовать слишком широкий фильтр.
Преобразование цены или остатка может затронуть каждый подходящий товар в назначенном экспорте.
-
Неправильно сочетать AND и OR.
Прочитайте весь фильтр как предложение и протестируйте его на небольшой группе товаров.
-
Вводить значения через запятую для In или Not in.
Интерфейс ожидает, что несколько значений фильтра будут разделены точками с запятой.
-
Использовать числовые сравнения для текстовых данных.
Нечисловые значения могут считаться равными нулю.
-
Использовать неправильный тип данных.
Формулу цены не следует сохранять как Text, а текстовое обозначение — как Number.
-
Забывать о кавычках вокруг фиксированного текста.
Используйте значения вроде
"SALE", а не текстовую константу без кавычек. -
Непреднамеренно переопределять стандартный атрибут.
Ввод
priceизменяет значение цены на этапе экспорта. При тестировании используйте новое имя, напримерprice_test. -
Тестировать только одно представление поставщика.
Товары могут группироваться по EAN у разных поставщиков. Перед оценкой результата преобразования убедитесь, какие данные поставщика выбираются процессом экспорта.
Пример: создание отдельной цены для веб-сайта
Продавец хочет добавить наценку 20% к товарам одного поставщика и округлить результат вверх. Исходная цена должна остаться доступной.
Название правила
Создать цену для веб-сайта для Supplier A
Условия фильтра
| Поле | Оператор | Значение |
|---|---|---|
| Supplier (title) | Equal (=) | Supplier A |
| Price | Greater than (>) | 0 |
Соедините условия с помощью AND, чтобы оба условия должны были выполняться.
Преобразование атрибута
| Имя | Тип данных | Значение |
|---|---|---|
price_for_website |
Number | ceil(price * 1.20) |
После создания правила назначьте его тестовому экспортному представлению. В Export Checker убедитесь, что исходный price не изменился, а price_for_website содержит ожидаемый рассчитанный результат. После этого экспортный шаблон сможет использовать новый атрибут там, где это необходимо.