Подготовка YML-файла
Товары в Маркете представлены двумя сущностями: продукты и SKU.
Продукт — это товар или услуга для продажи. SKU — это модификатор продукта, т.е. группа товаров, которая выделяется в одном продукте по некоторым параметрам (цвет, размер, вес, модель, комплектация и т.д.).
Для загрузки данных о товарах в платформу используется файл в формате yml или .zip/.tar.gz архив, содержащий yml-файлы. В случае, если вы настраиваете импорт по расписанию, вы должны указать ссылку на yml-файл.
Формат YML (Yandex Market Language) — это формат данных для товарных платформ, разработанный Яндексом. Ознакомиться с его полной структурой вы можете по этой ссылке.
Структура таких файлов выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2017-02-05 17:22">
<shop>
...
<offers>
...
</offers>
<gifts>
...
</gifts>
<promos>
...
</promos>
</shop>
</yml_catalog>
Список всех товаров для импорта передаётся в элементе offers (предложения магазина). Этот элемент, в свою очередь, содержит элементы offer.
Больше информации об элементе offer вы найдёте здесь.
Каждый продукт и SKU описывается в отдельном элементе offer. Для элемента указывается атрибут id, уникальный для каждого товара:
<offer id="9012">
<!-- данные продукта #1 -->
</offer>
<offer id="9013">
<!-- данные продукта #2 -->
</offer>
Структура файлов для импорта продукта и для импорта SKU практически не отличается. Единственное отличие — при импорте SKU для элемента offer указывается не только id, но также group_id – идентификатор продукта. Это обусловлено тем, что SKU всегда привязывается к определенному продукту.
<offer id="1001" group_id="9012">
<!-- данные SKU #1 в продукте #1 -->
</offer>
<offer id="1002" group_id="9012">
<!-- данные SKU #2 в продукте #1 -->
</offer>
Обратите внимание, SKU – это различные вариации одного продукта, поэтому значение атрибута group_id должно быть одинаковым для всех SKU одного продукта.
Структура элемента offer
Атрибуты offer
Пример записи атрибута:
<offer id="iphone12" available="true">
| Элемент | Пример | Обязательный | Описание |
|---|---|---|---|
id | apple12_128gb | Да | Дополнительный идентификатор продукта или SKU. |
group_id | iphone12 | Да, если импортируете SKU | Элемент объединяет все SKU, которые являются вариациями одного продукта и должен иметь одинаковое значение. |
available | true | Нет | Товар есть в наличии или нет. |
Стандартные поля
Стандартные поля — это поля, которые уже встроены в маркет Altcraft Platform. Они отображаются в карточке продукта или SKU.
| Элемент | Пример | Обязательный | Описание |
|---|---|---|---|
name | Apple iPhone 12 128GB | Да | Название продукта или SKU |
vendor | Apple | Нет | Название производителя |
url | http://best.seller.ru/product_page.asp?pid=12348 | Нет | URL страницы товара на сайте магазина. |
price | 71990 | Да | Актуальная цена товара. |
oldprice | 72990 | Нет | Старая цена товара, должна быть выше текущей. |
currencyId | RUB | Да | Идентификатор валюты, в которой указана цена товара. Валюта должна быть задана в настройках маркета, иначе товар не будет импортирован. |
categoryId | 102 | Нет | Идентификатор категории товара. Через yml файл можно добавлять категории и подкатегории в маркет. Код ниже добавляется в элемент yml_catalog и создаёт категорию "Смартфоны" и две подкатегории "Apple" и "Xiaomi".<categories id="1"> |
picture | https://example.com/img/apple_phone_128.png | Нет | URL-адрес изображения товара |
delivery | false | Нет | Доставка доступна или нет |
manufacturer_warranty | true | Нет | Гарантия производителя |
barcode | 0156789012 | Нет | Штрихкод |
Допо лнительные поля
Дополнительные поля — это стандартные элементы в структуре yml-файла, для которых по умолчанию не предусмотрены поля в маркете Altcraft Platform.
Прежде, чем импортировать товары с этими полями, необходимо предварительно создать дополнительные поля в разделе "Настройки". Далее при импорте настройте сопоставление системных полей.
| Элемент | Пример | Обязательный | Описание |
|---|---|---|---|
type | book | Нет | Особый тип товара. Является атрибутом элемента offer. |
store | true | Нет | Возможность купить товар без предварительного заказа. |
pickup | true | Нет | Возможность самовывоза из пунктов выдачи (во всех регионах, в которые доставляет магазин). |
vendorCode | A1234567B | Нет | Код производителя для данного товара. |
model | 3811 | Нет | Модель товара. |
sales_notes | |