Appearance
YML-файл
YML - стандарт Яндекса, основанный на XML. Используется для обогащения данных о товарах и загрузки категорий товаров в систему.
Структура файла
Требуемая структура файла описана в документации Яндекса.
Штрихкоды товаров и GTIN должны быть в элементах <barcode> внутри элемента <offer>. Если у товара несколько штрихкодов и GTIN, то каждый из них должен быть в отдельном элементе <barcode>.
html
<barcode>46012300000000</barcode>
<barcode>46012300000001</barcode>Характеристики товара
Через YML можно передавать расширенную информацию о товаре, которая отображается в его карточке:
| Характеристика в oShip | Элемент YML |
|---|---|
| Производитель | <vendor> |
| Страна производства | <country_of_origin> |
| Описание | <description> |
| Состав | <param name="Состав"> |
| EAC | <oship-eac> |
| РСТ | <oship-rst> |
| СТР | <oship-str> |
| Не подлежит обязательной сертификации | <oship-no-mandatory-certification> |
Пример:
xml
<offer id="12345">
<name>Футболка</name>
<vendor>ООО «Пример»</vendor>
<country_of_origin>Россия</country_of_origin>
<description>Базовая хлопковая футболка</description>
<param name="Состав">Хлопок 95%, эластан 5%</param>
<oship-eac>true</oship-eac>
<oship-rst>false</oship-rst>
<oship-str>false</oship-str>
<oship-no-mandatory-certification>false</oship-no-mandatory-certification>
</offer>Для признаков поддерживаются значения true/1 и false/0. Если элемент отсутствует или содержит другое значение, сохранённый признак не изменяется. Отсутствующее текстовое поле также не изменяет ранее сохранённое значение; пустой переданный элемент очищает это поле.
Важно!
Если обновление через YML подключено для аккаунта, данные из файла имеют приоритет и могут перезаписать изменения, внесённые вручную или через Excel.
Функционал тегов
Через YML вы можете передать в oShip дополнительную информацию (тег) для каждого из товаров, которая будет отображаться в разделе Упаковка.
Внутри <offer> для каждого товара можно указать до 3-х тегов <oshiptag>, параметр color является необязательным.
В интерфейсе отображаются только первые 10 символов значения тега.
html
<oshiptag color="green">Значение 1</oshiptag>
<oshiptag>Значение 2</oshiptag>
<oshiptag color="fuchsia">Значение 3</oshiptag>Доступные варианты цветов:
- green
- yellow
- red
- orange
- blue
- white
- fuchsia
Упаковочные материалы
Чтобы использовать товар как упаковочный материал, внутри элемента <offer> передайте признак:
xml
<oship-packaging-material>true</oship-packaging-material>Чтобы отключить признак, передайте:
xml
<oship-packaging-material>false</oship-packaging-material>Закупочная цена в рублях и копейках передаётся в элементе <purchase_price>:
xml
<purchase_price>1107.50</purchase_price>Цена необязательна и считается включающей НДС.
Правила загрузки:
- если
<purchase_price>отсутствует, ранее сохранённая цена не изменяется; - пустой элемент
<purchase_price>очищает цену; - отрицательное или некорректное значение игнорируется;
- если
<oship-packaging-material>отсутствует, ранее сохранённое значение признака не изменяется; - у одного товара допускается несколько элементов
<barcode>; - исчезновение предложения из YML не удаляет товар из справочника.
Подробнее об использовании расходных материалов в заказе — в разделе Учёт упаковочных материалов.
Наборы товаров
Через YML вы можете передать в oShip информацию о Наборах товаров.
Для этого внутри <offer> для каждого товара можно указать в <set> информацию об идентификаторах и количестве товаров, входящих в набор.
html
<offer id="SET001"> //идентификатор набора
<name>Набор товаров 25</name> //наименование набора
<categoryId>123</categoryId> //не обязательно
<barcode>4601234567890</barcode> //не обязательно, но желательно
<barcode>4601234567891</barcode> //не обязательно, но желательно
<set> // информация о товарах входящих в набор
<item>
<id>1000123</id> //идентификатор первого товара входящего в набор
<quantity>2</quantity> //кол-во первого товара входящего в набор
</item>
<item>
<id>1000456</id> //идентификатор второго товара входящего в набор
<quantity>1</quantity> //кол-во второго товара входящего в набор
</item>
...
</set>
</offer>Маркировка товара
Чтобы при загрузке YML у товара в oShip было установлено значение Маркировка товара - Обязательно, внутри элемента <offer> передайте <cargo-types>CIS_REQUIRED</cargo-types>. В этом случае oShip будет запрашивать код маркировки независимо от данных, полученных от маркетплейса.
html
<offer>
...
<cargo-types>CIS_REQUIRED</cargo-types>
</offer>Обязательный IMEI
Чтобы oShip всегда запрашивал IMEI для товара, внутри элемента <offer> передайте:
xml
<oship-imei-required>да</oship-imei-required>Поддерживаются значения да, yes, true и 1. Чтобы снять признак обязательности, передайте нет, no, false или 0. Если элемент отсутствует либо содержит неизвестное значение, ранее сохранённая настройка товара не изменяется.
Обогащение данных
Система поддерживает два сценария обогащения данных. По умолчанию работает первый сценарий, второй можно включить, обратившись в техническую поддержку.
Первый сценарий
Система обогащает данные о штрихкодах товаров, полученные из маркетплейсов. Сопоставление товаров происходит в соответствии с таблицей. Для поиска товара в YML используется элемент shop-sku или атрибут id элемента offer.
Второй сценарий
Система также обогащает данные о штрихкодах товаров, полученные из маркетплейсов, но сопоставление товаров происходит по штрихкоду.
Пример: система получает из маркетплейса OZON информацию о том, что у товара с Артикулом (offer_id) = 12345 штрихкод 46012300000000.
В YML-файле есть информация о товаре с отличающимся offer id, но содержащим информацию о нужном штрихкоде.
html
<offer id="1234567">
<barcode>46012300000000</barcode>
<barcode>46012300000001</barcode>
...
</offer>В этом случае система обогатит информацию о товаре с Артикулом (offer_id) = 12345, добавив для него штрихкод из YML-файла 46012300000001.