В начале разберём файл "import.xml", он содержит два основных блока: "Классификатор" и "Каталог". Блок "Классификатор" содержит правила, по которым должны быть описаны товары. Каждый классификатор должен иметь уникальный идентификатор, наименование и владельца. Классификатор определяет свойства товаров, группы (категории) товаров, а также типы цен, по которым можно сформировать коммерческие предложения.
Свойства могут быть объявлены для каталога и/или группы. Свойства, объявленные для каталога являются глобальными и распространяются на все объекты каталога, а свойства группы только на товары в конкретной группе.
Классификатор тесно связан с каталогом, в нём содержится структура каталога и правила описания товаров. Если в каталоге достаточно минимальной информации (наименование, идентификатор, единица), то классификатор указывать не нужно, если же для товара указаны значения свойств и идентификаторы групп (товар находится в определённой категории), необходимо указывать классификатор, в котором эти свойства и группы описаны.
Блок "Каталог" содержит информацию о товарах. Каталог должен иметь уникальный идентификатор, название и информацию о владельце. Минимально необходимая информация в каталоге: идентификатор товара, название товара и базовая единица измерения.
Для каждого товара каталога можно указать комплектующие. В случае, если товар невозможно отнести к какой-то конкретной группе, разрешено включение товара одновременно в несколько групп.
Ниже приведён пример содержимого файла "import.xml", для краткости, в нём опущены свойства разделов каталога и сокращено описание товаров (полный пример импорта Вы можете скачать по ссылке).
<Классификатор>
<Ид>894f0cbe-9781-4fef-b8f3-62dd241f2267</Ид>
<Наименование>Классификатор (Основной каталог товаров)</Наименование>
<Владелец>
<Ид>51ed67a3-7220-11df-b336-0011955cba6b</Ид>
<Наименование>Торговый дом "Комплексный"</Наименование>
<ОфициальноеНаименование>Закрытое акционерное общество "Торговый дом Комплексный"</ОфициальноеНаименование>
<ЮридическийАдрес>
<Представление>Москва г, 1905 года ул, дом № 10</Представление>
<АдресноеПоле>
<Тип>Регион</Тип>
<Значение>Москва г</Значение>
</АдресноеПоле>
...
</ЮридическийАдрес>
<ИНН>7705260699</ИНН>
<КПП>770501001</КПП>
</Владелец>
<Группы>
<Группа>
<Ид>bd72d925-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Кухонные электроприборы</Наименование>
<Группы/>
</Группа>
</Группы>
<Свойства>
<Свойство>
...
</Свойство>
</Свойства>
</Классификатор>
<Каталог СодержитТолькоИзменения="false">
<Ид>894f0cbe-9781-4fef-b8f3-62dd241f2267</Ид>
<ИдКлассификатора>894f0cbe-9781-4fef-b8f3-62dd241f2267</ИдКлассификатора>
<Наименование>Основной каталог товаров</Наименование>
<Владелец>
<Ид>51ed67a3-7220-11df-b336-0011955cba6b</Ид>
<Наименование>Торговый дом "Комплексный"</Наименование>
<ОфициальноеНаименование>Закрытое акционерное общество "Торговый дом Комплексный"</ОфициальноеНаименование>
<ЮридическийАдрес>
<Представление>Москва г, 1905 года ул, дом № 10</Представление>
<АдресноеПоле>
<Тип>Регион</Тип>
<Значение>Москва г</Значение>
</АдресноеПоле>
...
</ЮридическийАдрес>
<ИНН>7705260699</ИНН>
<КПП>770501001</КПП>
</Владелец>
<Товары>
<Товар>
<Ид>bd72d927-55bc-11d9-848a-00112f43529a</Ид>
<Артикул>КВ- 900</Артикул>
<Наименование>Комбайн кухонный BINATONE FP 67</Наименование>
<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<ПолноеНаименование>Комбайн кухонный BINATONE FP 67</ПолноеНаименование>
<Группы>
<Ид>bd72d925-55bc-11d9-848a-00112f43529a</Ид>
</Группы>
<Картинка>import_files/bd/bd72d92755bc11d9848a00112f43529a_80a7832b39c811e0a35a000b0d4caf68.jpg</Картинка>
...
</Товар>
<Товар>
<Ид>bd72d92c-55bc-11d9-848a-00112f43529a</Ид>
<Артикул>К-7778</Артикул>
<Наименование>Кофеварка BRAUN KF22R</Наименование>
<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<ПолноеНаименование>Кофеварка BRAUN KF22R</ПолноеНаименование>
<Группы>
<Ид>bd72d925-55bc-11d9-848a-00112f43529a</Ид>
</Группы>
<Картинка>import_files/bd/bd72d92c55bc11d9848a00112f43529a_80a7832c39c811e0a35a000b0d4caf68.jpg</Картинка>
...
</Товар>
<Товар>
<Ид>bd72d930-55bc-11d9-848a-00112f43529a</Ид>
<Артикул>КА-879</Артикул>
<Наименование>Кофеварка JACOBS (Австрия)</Наименование>
<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<ПолноеНаименование>Кофеварка JACOBS (Австрия)</ПолноеНаименование>
<Группы>
<Ид>bd72d925-55bc-11d9-848a-00112f43529a</Ид>
</Группы>
<Картинка>import_files/bd/bd72d93055bc11d9848a00112f43529a_80a7832d39c811e0a35a000b0d4caf68.jpg</Картинка>
...
</Товар>
</Товары>
</Каталог>
Классификатор содержит в себе блок "Группы", который используется для создания структуры каталога. В приведённом примере, с помощью блоков "Классификатор" и "Каталог" задаётся следующая структура каталога:
+ Основной каталог товаров
+ Кухонные электроприборы
- Комбайн кухонный BINATONE FP 67
- Кофеварка BRAUN KF22R
- Кофеварка JACOBS (Австрия)
Объекты каталога описываются в блоке "Товар". Данный блок содержит блок "Группы", где указываются идентификаторы групп, в которые будет импортироваться товар. Также блок "Товар" содержит и другие данные о товаре, например - наименование, идентификатор, путь к картинке и т.д.
Блоки "БазоваяЕдиница" и "Владелец" не используются при импорте, но необходимы в структуре CommerceML 2.0.
Теперь разберём файл "offers.xml", в нём содержится только один основной блок - "ПакетПредложений". Данный блок содержит предложения товаров с указанными ценами. По сути, список предложений - простой прайс-лист в привычном формате: товар - цена - количество. Например, мешок гречневой крупы по розничной цене в 600 рублей, оптовая цена - 530 рублей (от 10 мешков), в наличие на складе 500 мешков.
Ниже приведён пример содержания файла "offers.xml", для краткости, в нём перечислены не все типы цен (полный пример импорта Вы можете скачать по ссылке).
<ПакетПредложений СодержитТолькоИзменения="false">
<Ид>894f0cbe-9781-4fef-b8f3-62dd241f2267#</Ид>
<Наименование>Пакет предложений (Основной каталог товаров)</Наименование>
<ИдКаталога>894f0cbe-9781-4fef-b8f3-62dd241f2267</ИдКаталога>
<ИдКлассификатора>894f0cbe-9781-4fef-b8f3-62dd241f2267</ИдКлассификатора>
<Владелец>
<Ид>51ed67a3-7220-11df-b336-0011955cba6b</Ид>
<Наименование>Торговый дом "Комплексный"</Наименование>
<ОфициальноеНаименование>Закрытое акционерное общество "Торговый дом Комплексный"</ОфициальноеНаименование>
<ЮридическийАдрес>
<Представление>Москва г, 1905 года ул, дом № 10</Представление>
<АдресноеПоле>
<Тип>Регион</Тип>
<Значение>Москва г</Значение>
</АдресноеПоле>
...
</ЮридическийАдрес>
<ИНН>7705260699</ИНН>
<КПП>770501001</КПП>
</Владелец>
<ТипыЦен>
<ТипЦены>
<Ид>fb1fb868-f345-11e1-8efb-00155d343e29</Ид>
<Наименование>offers 31.08</Наименование>
<Валюта>RUB</Валюта>
<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>false</УчтеноВСумме>
</Налог>
</ТипЦены>
...
</ТипыЦен>
<Предложения>
<Предложение>
<Ид>bd72d927-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Комбайн кухонный BINATONE FP 67</Наименование>
<Цены>
<Цена>
<Представление>4 293 RUB за шт</Представление>
<ИдТипаЦены>fb1fb868-f345-11e1-8efb-00155d343e29</ИдТипаЦены>
<ЦенаЗаЕдиницу>4293.00</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
...
</Цены>
<Количество>26</Количество>
</Предложение>
<Предложение>
<Ид>bd72d92c-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Кофеварка BRAUN KF22R</Наименование>
<Цены>
<Цена>
<Представление>3 402 RUB за шт</Представление>
<ИдТипаЦены>319090c1-d250-11e1-8823-00155d343e29</ИдТипаЦены>
<ЦенаЗаЕдиницу>3402.00</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
...
</Цены>
<Количество>34</Количество>
</Предложение>
<Предложение>
<Ид>bd72d930-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Кофеварка JACOBS (Австрия)</Наименование>
<Цены>
<Цена>
<Представление>3 037,5 RUB за шт</Представление>
<ИдТипаЦены>319090f5-d250-11e1-8823-00155d343e29</ИдТипаЦены>
<ЦенаЗаЕдиницу>3037.50</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
...
</Цены>
<Количество>29</Количество>
</Предложение>
</Предложения>
</ПакетПредложений>
Каждое отдельное предложение описывается в блоке "Предложение", данный блок содержит информацию о ценах, количестве, а также наименование товара.
Стоит отметить, что все объекты в импортируемом файле должны иметь уникальный идентификатор, в дальнейшем, он используется при обновлении информации об объектах каталога. По умолчанию, импортированные каталоги помечены как неактивные.