Структура Ozon XML


Ниже приведена структура данных XML, принимаемых методами POST/PUT. Актуальную структуру данных со списком справочных значений вы всегда можете получить в виде XSD, используя метод GET merchants/xsd/products (см. документацию).
Для получения информации о подготовке данных описания товара см. статью Описание товара.

Пример полных данных по товару для мерчантов, работающих с одной витриной:

<Product MerchantSKU="Код_товара_в_ИС_мерчанта" ProductTypeID="286495572000">
  <SKU>
    <Name>Название товара</Name>
    <ManufacturerIdentifier>123456789</ManufacturerIdentifier>
    <GrossWeight>861</GrossWeight>
    <InternalName>Внутреннее название товара в ИС мерчанта. Не отображается на вебвитрине.</InternalName>
  </SKU>
  <Price>
    <SellingPrice>123</SellingPrice>
    <Discount>20</Discount>
  </Price>
  <Availability>
    <SellingState>ForSale</SellingState>
    <SupplyPeriod></SupplyPeriod>
    <Qty></Qty>
  </Availability>
  <Description>
    <!-- Структура данных блока Description зависит от типа товара (ProductTypeID) 
    и будет рассмотрена в отдельной статье. -->
  </Description>
</Product>

Любые другие элементы, переданные при обращении к методам POST/PUT products будут проигнорированы.

Структура данных при работе на торговой площадке с несколькими вебвитринами имеет свои особенности и в данной статье рассмотрена не будет.

Также из отдельных блоков Product составляется файл Ozon XML для пакетной загрузки. Его общая структура:

<Products>
  <Product MerchantSKU="Код_товара_1_в_ИС_мерчанта" ProductTypeID="286495572000">
<!-- Данные по первому товару --> </Product> <Product MerchantSKU="Код_товара_2_в_ИС_мерчанта" ProductTypeID="286495572000">
<!-- Данные по второму товару --> </Product> <!-- И т.д. --> </Products>

Описание элементов Product XML

 Блок Элемент/  атрибут Описание
 Product
 Является общим контейнером данных по одному товару.

 Элемент Product вместе с атрибутами MerchantSKU и ProductTypeID является единственным обязательным элементом при любом обращении к методам POST/PUT products.
 Остальные блоки и элементы могут быть не заполнены (но в этом случае и изменяться ничего не будет), но <Product MerchantSKU="Код_товара_в_ИС_мерчанта" ProductTypeID="код_типа"> должен быть всегда.

   Атрибут
 MerchantSKU
 Содержит уникальный буквенно-числовой идентификатор товара в системе мерчанта. Не может быть двух разных товаров с одинаковым MerchantSKU. Если вы работали с предыдущей версией API, то будет  понятнее, если сказать, что MerchantSKU - это полный аналог элемента Article в предыдущем формате данных.
   Атрибут
 ProductTypeID
 Содержит указание на конкретный тип товара. Это поле должно  содержать один из согласованных для использования вами кодов типов товаров. Получить полный список согласованных (разрешенных) типов  товаров можно с помощью метода GET merchants/products/types.
 SKU
 Блок SKU содержит складскую информацию о товаре. В общем случае этой информации достаточно, чтобы товар был заведен в системе. Блок является обязательным при создании товара.

 Если требуется изменить только данные, входящие в блок SKU, то рекомендуется использовать метод PUT merchants/products/sku/{id}. Пример данных для ситуации, когда необходимо изменить только вес товара:

<Product MerchantSKU="Код_товара_в_ИС_мерчанта" ProductTypeID="286495572000">
<SKU> <GrossWeight>861</GrossWeight> </SKU> </Product>

 Обычно блок SKU передается только при создании товара, поскольку входящие в него поля меняются редко.

   Name  Содержит наименование товара. Обратите внимание, что в структуре данных есть два элемента, отвечающих на наименование товара: SKU.Name и Description.Name. Данные в этих полях обязательно должны  быть равны. Значение SKU.Name используется только при создании товара (без этого элемента товар не может быть создан), а также в случаях, когда блок Description не передан.
   ManufacturerIdentifier  Содержит код товара от производителя. Например, ISBN для медийной продукции, серийный номер для электроники и т.п. Поле не является обязательным.
   GrossWeight  Содержит целочисленное значение веса товара в упаковке в граммах. Поле не является обязательным, но крайне рекомендуется передавать данные по весу, иначе на вебвитрине будет выведена заглушка с  "условным" весом в 300 г, что часто вызывает вопросы у покупателей.
   InternalName  Содержит внутреннее наименование товара в информационной системе мерчанта. Поле не является обязательным и предназначено в первую очередь для мерчантов, использующих услугу фулфилмента  товаров и заказов. На вебвитрине значение этого поля не выводится.
 Price
 Блок Price содержит информацию, влияющую на цену товара. Данные этого блока не являются обязательными для создания товара, однако товар не может быть выставлен в продажу, пока ему не установлена цена больше 0.

 Если требуется изменить только цену товара или скидку на товар, то рекомендуется использовать метод PUT merchants/products/price/{id}. Пример данных для ситуации, когда необходимо изменить только цену и скидку товара:

<Product MerchantSKU="Код_товара_в_ИС_мерчанта" ProductTypeID="286495572000">
<Price> <SellingPrice>2500</SellingPrice> <Discount>0</Discount> </Price> </Product>
   SellingPrice  Содержит цену товара до скидки с точностью до двух знаков после запятой.
   Discount  Содержит целочисленное значение скидки на товар в процентах. Может принимать значение от 0 до 99. Скидка равная 0 означает отсутствие скидки.
 Обратите внимание, что если элемент не передан, то это не приводит к снятию скидки с товара. Для снятия с товара ранее установленной скидки необходимо передать значение <Discount>0</Discount>.
 Availability
 Блок Availability содержит информацию о доступности и статусе товара.
 Данные этого блока не являются обязательными для создания товара, однако пока товару не выставлен статус "В продаже" (SellingState=ForSale), он не появится на вебвитрине.

 Если требуется изменить только данные доступности или статус товара, то рекомендуется использовать метод PUT merchants/products/availability/{id}. Пример данных для ситуации, когда необходимо изменить только доступность товара:

<Product MerchantSKU="Код_товара_в_ИС_мерчанта" ProductTypeID="286495572000"> 
<Availability> <SellingState></SellingState> <SupplyPeriod></SupplyPeriod> <Qty>
</Availability>
</Product>  

 Существует отдельная структура блока Availability для мерчантов, работающих в рамках торговой площадки с несколькими вебвитринами, однако ниже будет рассмотрен самый распространенный вариант - работа с одной вебвитриной.

   SellingState  Содержит информацию о статусе товара.

 Принимает значения:
 - ForSale (В продаже)
 - NotForSale (Снят с продажи).

 Если при создании товара статус не был указан явно, он будет установлен в "Снят с продажи."

 Для выставления товара в продажу должно быть выполнено несколько условий:
 - передано значение <SellingState>ForSale</SellingState>
 - установлена цена больше нуля (в том же запросе или ранее)
 - задано описание товара (минимально необходимо наличие названия и основного изображения, полный список обязательных атрибутов описания зависит от конкретного типа товара)

   SupplyPeriod  Содержит информацию о сроке поставки товара под заказ. Поле содержит перечень значений, соответствующих надписям в блоке "Под заказ" на сайте ozon.ru:
 - In3Days (В течение 3 дней)
 - In10Days (В течение 10 дней)
 - In14Days (В течение 14 дней)
 - In45Days (В течение 45 дней)
 - NotAvailable (Не доступен под заказ)
   Qty  Содержит информацию о количестве товара на складе мерчанта.
 Description
 Блок Description содержит информацию об описании товара.
 Данные этого блока не являются обязательными для создания товара, однако без описания товар не может быть выставлен в продажу на вебвитрине.

 Обработка информации об описании товара является низкоприоритетной операцией, поэтому не рекомендуется передавать описание товара одновременно с обновлением цены или доступности - это приведет к задержкам при обновлении.

 Если требуется изменить только данные описания товара, то рекомендуется использовать метод PUT merchants/products/description/{id}.

 Структура данных в блоке Description полностью зависит от типа товара, поэтому задается отдельной схемой. Для получения информации о структуре данных конкретного типа товара используйте метод GET merchants/xsd/description/{id}, где в  качестве {id} необходимо указать один из разрешенных вам типов товаров.

 Более подробное описание по подготовке данных для блока Description приведено в статье Описание товара.

Влияние значений элементов SupplyPeriod и Qty на конечную доступность товара на вебвитрине

SupplyPeriodQty / Свободный остаток на складе мерчантаНадпись в сейлблоке на вебвитрине ozon.ru
В течение 3 дней 0 Под заказ. Поступит на склад через 3 дня после оформления заказа
В течение 10 дней 0 Под заказ. Поступит на склад через 10 дней после оформления заказа
В течение 14 дней 0 Под заказ. Поступит на склад через 14 дней после оформления заказа
В течение 45 дней 0 Под заказ. Поступит на склад через 45 дней после оформления заказа
 
В течение 3 дней >0 На складе
В течение 10 дней >0 На складе
В течение 14 дней >0 На складе
В течение 45 дней >0 На складе