Экспорт товаров с сайта - XML файл
На данной странице описана структура содержимого XML файла, использующегося для экспорта товаров с сайта на платформе komiz.io в систему бухгалтерского учета, например «1C».
Общее описание
Ниже приведен сокращенный пример файла имеющего описываемый формат (полный пример приведен далее).
<?xml version="1.0" encoding="utf-8" ?> <offers amount="3" sessionId="1878501665"> <!-- Содержит теги товаров --> <catalogs> <!-- Содержит теги всех каталогов --> <catalog id="11" asId="cat1" title="Холодильники"> <catalog id="22" asId="cat1.1" title="Двухкамерные"></catalog> </catalog> ... </catalogs> <offer id="5243"> <!-- Содержит информацию об одном товаре --> <title>Наименование товара</title> <catalog id="22" asId="cat1.1" title="Холодильники / Двухкамерные"></catalog> <catalogs> <catalog id="11" asId="cat1" title="Холодильники"> <catalog id="22" asId="cat1.1" title="Двухкамерные"></catalog> </catalog> </catalogs> <brand id="111" asId="br1" title="Amro"> <brandSeries asId="42421" title="Юбилейная серия"></brandSeries> </brand> <time>2013-10-10 12:08:51</time> <time_unixtime>1381392531</time_unixtime> <mods amount="7"> <!-- Содержит теги вариантов (модификаций) --> <mod article="1123213" asId=""> <!-- Содержит информацию об одном варианте (модификации) --> <code>5243-6225</code> <size>xxl</size> <color>red</color> <weight>0</weight> <quantity>0</quantity> <price>5.00</price> <showKey>0</showKey> </mod> ... </mods> <images amount="2"> <!-- Содержит теги изображений --> <image>http://cdn1.com/ahrc5dm7ado.jpg</image> <!-- Если type = export_as_xml --> <image>ahrc5dm7ado.jpg</image> <!-- Если type = export_as_zip --> ... </images> </offer> ... </offers>
Символом «троеточие» обозначены участки файла, которые в действительном файле заполнены, но в примере выше упущены с целью улучшения понимания общего принципа организации файла.
Данные в файле содержатся в кодировке UTF-8
.
Ниже перечислены основные особенности структуры файла.
- Коренным тегом XML документа является
offers
. Он является контейнером списка товаров, каждому из которых соответствует дочерний тегoffer
. - Тег
offer
в дочерних тегах и атрибутах содержит информацию о самом товаре, а также его вариантах (модификациях) и изображениях. - Тег
mods
(который находится в тегеoffer
) содержит информацию о вариантах (модификациях) данного товара. - Тег
images
(который находится в тегеoffer
) содержит информацию об изображениях данного товара. - Информация о каждом варианте (модификации) товара заключена в тег
mod
являющимся дочерним дляmods
. - Информация о каждом файле изображения товара заключена в тег
image
являющимся дочерним дляimages
.
ОБРАТИТЕ ВНИМАНИЕ! Все теги (и их атрибуты) обязательно присутствуют в файле (в рамках своего контекста, т.е. родительского тега). Но также нужно учесть, что количество повторяемых тегов варьируется относительно количества отображаемых ими «сущностей». Например, количество тегов mod
равно количеству вариантов (модификаций) данного товара.
Описание тегов
Ниже приведен перечень всех XML тегов, используемых в описываемом файле, с указанием инструкций по их использованию. Теги перечислены в алфавитном порядке.
Тег | Контекст | Содержимое | Атрибуты | Описание |
---|---|---|---|---|
additionalField | offer | Строка 0-4294967296 | name - [строка: 1-255] - Значение поля «Имя в интерфейсе» для данного дополнительного поля. | «Дополнительное поле» товара |
barcode | mod | Строка 0-255 | Значение поля «Штрих-код» варианта (модификации) товара | |
brand | offer | Дочерние теги | asId - [строка: 1-255] - Идентификатор бренда в системе бухгалтерского учета (accounting system id).title - [строка: 1-255] - Наименование бренда | В атрибутах содержит информацию о бренде. Содержит дочерний тег brandSeries . Таким образом указывается принадлежность данной серии бренда этому бренду |
brandSeries | brand | Пустой тег | asId - [строка: 1-255] - Идентификатор серии бренда в системе бухгалтерского учета (accounting system id).title - [строка: 1-255] - Наименование серии бренда | В атрибутах содержит информацию о серии бренда |
catalog | offer/catalogs | Дочерние теги | asId - [строка: 1-255] - Идентификатор каталога в системе бухгалтерского учета (accounting system id)id - [целое число: 1-2147483647] - Идентификатор каталога. Уникален. Пример: 123title - [строка: 1-255] - Наименование каталога | В атрибутах содержит информацию о каталоге (на данном уровне иерархии). Может содержать дочерние теги catalog . Таким образом указывается иерархия каталогов |
catalog | offer | asId - [строка: 1-255] - Идентификатор каталога в системе бухгалтерского учета (accounting system id)id - [целое число: 1-2147483647] - Идентификатор каталога. Уникален. Пример: 123title - [строка: 1-255] - Наименование каталога. Может быть указано в виде иерархии размещения, где каждый следующий через правый слеш. Примеры: «Холодильники / Двухкамерные», «Ноутбуки» | ||
catalog | catalogs | Дочерние теги | asId - [строка: 1-255] - Идентификатор каталога в системе бухгалтерского учета (accounting system id)id - [целое число: 1-2147483647] - Идентификатор каталога. Уникален. Пример: 123title - [строка: 1-255] - Наименование каталога. Примеры: «Холодильники», «Ноутбуки» | В атрибутах содержит информацию о каталоге (на данном уровне иерархии). Может содержать дочерние теги catalog . Таким образом указывается иерархия каталогов |
catalogs | offer | Дочерние теги | Контейнер тегов catalog , которые содержат информацию о каталоге товара, с учетом иерархии, воспроизводимой вложением друг в друга |
|
catalogs | offers | Дочерние теги | Контейнер тегов catalog , которые содержат информацию о ВСЕХ каталогах товаров, с учетом иерархии, воспроизводимой вложением друг в друга |
|
code | mod | Строка Длина: 3-255 | Код варианта (модификации) товара. Сочетание идентификатора товара и идентификатора варианта (модификации) в базе данных сайта, разделенных тире. Пример: 123-456. | |
color | mod | Строка 0-255 | Значение поля «Цвет» варианта (модификации) товара. Примеры: Красный, темный, 123456. | |
image | images | Дочерние теги | Содержит информацию об одном файле изображения товара. Если параметр type имеет значение export_as_xml , то данный тег содержит адрес файла изображения товара на внешнем сервере, по которому его можно скачать. Если же параметр type имеет значение export_as_zip , то данный тег содержит путь к файлу изображения товара, относительно корневой директории передаваемого ZIP архива.Первым в списке изображений идет так называемое «главное», далее сортировка по позиции. |
|
images | offer | Дочерние теги | amount - [целое число: 1-2147483647] - Количество изображений данного товара. Соответствует количеству дочерних тегов image . | Контейнер тегов image , которые содержат информацию о файлах изображений товаров |
mark | marks | Строка 1-255 | Наименование метки товара. Передача данного тега, означает, что данный товар связан с указанной меткой. Таких тегов может быть несколько. | |
marks | offer | Дочерние теги | amount - [целое число: 1-2147483647] - Количество меток данного товара. Соответствует количеству дочерних тегов mark . | Контейнер тегов mark , которые содержат информацию о метках товара |
wobbler | wobblers | Строка 1-255 | Наименование бейджа товара. Передача данного тега, означает, что данный товар связан с указанным бейджем. Таких тегов может быть несколько. | |
wobblers | offer | Дочерние теги | amount - [целое число: 1-2147483647] - Количество бейджей данного товара. Соответствует количеству дочерних тегов wobbler . | Контейнер тегов wobbler , которые содержат информацию о бейджах товара |
maxAmountInOrder | mod | Целое число 0-2147483647 | Значение поля «Максимальное количество в заказе» варианта (модификации) товара. Где 0 - не ограничено. Примеры: 0, 123, 1245. | |
maxDiscount | mod | Дробное число, разделитель «точка», максимум два символа после точки, если она есть От 0 до 100.00 | Значение поля «Максимальная скидка» варианта (модификации) товара. Примеры: 1, 1.23, 12.45. | |
minAmountInOrder | mod | Целое число 1-2147483647 | Значение поля «Минимальное количество в заказе» варианта (модификации) товара. Примеры: 1, 123, 1245. | |
mod | mods | Дочерние теги | article - [строка: 1-255] - Артикул - уникальный идентификатор варианта (модификации) товара (в рамках всей базы данных, а не одного товара)asId - [строка: 0-255] - Идентификатор варианта (модификации) в системе бухгалтерского учета (accounting system id). Может быть равен пустой строке, т.е. быть не указан. | Содержит информацию о варианте (модификации) товара |
mods | offer | Дочерние теги | amount - [целое число: 1-2147483647] - Количество вариантов (модификаций) данного товара. Соответствует количеству дочерних тегов mod (есть как минимум один). | Контейнер тегов mod , которые содержат информацию о модификациях товара |
offer | offers | Дочерние теги | id - [целое число: 1-2147483647] - Идентификатор товара. Уникален. Пример: 123 | Информация о товаре, включая информацию о вариантах (модификациях) товара и его изображениях |
offers | Коренной | Дочерние теги | amount - (цело число: 0-2147483647) - Количество товаров, которые передаются в рамках данного запроса (максимум данного числа определяется ограничениями)amountAll - (цело число: 0-2147483647) - Общее количество товаров, которые готовы к передачеsessionId - (строка: 10) - Идентификатор сессии обмена данными с системой бухгалтерского учета | Является контейнером для тегов товаров (offer ) |
param | params | Дочерние теги | asId - [строка: 1-255] - Идентификатор параметра в системе бухгалтерского учетаtitle - [строка: 1-255] - Наименование параметра | Контейнер тегов paramValue , т.е. значений параметров с которыми связан данный товар. Таких тегов может быть несколько. |
params | offer | Дочерние теги | Контейнер тегов param , которые содержат информацию о параметрах, со значениями которых связан данный товар |
|
paramValue | param | Пустой тег | asId - [строка: 1-255] - Идентификатор значения параметра в системе бухгалтерского учетаtitle - [строка: 1-255] - Наименование значения параметра | Указывает значение параметра, с которым связан данный товар. Таких тегов может быть несколько. |
position | mod | Целое число 0-2147483647 | Значение поля «Позиция» варианта (модификации) товара. Примеры: 1, 3, 15. | |
price | mod | Дробное число, разделитель «точка», максимум два символа после точки, если она есть От 0 до 99999999.99 | type - [строка: 1-255] - Имя типа цен. ВНИМАНИЕ! Атрибут присутствует только, если данная цена связана с типом цен.amountInOrder - [целое число: 2-2147483647] - Количество товара в заказе. ВНИМАНИЕ! Атрибут присутствует только, если данная цена указана, как одна из настроек зависимости цены товара от его количества в заказе. | Поле варианта (модификации) товара «Цена», а также поля цен связанных с «типами цен». Примеры: 1.00, 123.45 |
priceOld | mod | Дробное число, разделитель «точка», максимум два символа после точки, если она есть От 0 до 99999999.99 | type - [строка: 1-255] - Имя типа цен. ВНИМАНИЕ! Атрибут присутствует только, если данная старая цена связана с типом цен. | Поле варианта (модификации) товара «Старая цена», а также поля старых цен связанных с «типами цен». Примеры: 1.00, 123.45 |
prop | props | Пустой тег | title - [строка: 1-255] - Имя свойства товара | Указывает свойство товара. Количество тегов соответсвует количеству свойств товара. Максимум три. ВНИМАНИЕ! Соблюдается точный порядок следования. |
props | offer | Дочерние теги | Контейнер тегов prop , которые содержат информацию о свойствах данного товара |
|
propValues | mod | Дочерние теги | Контейнер тегов propValue , которые содержат информацию о значениях свойств данного товара, с которыми связан текущий вариант (модификация) |
|
propValue | propValues | Пустой тег | title - [строка: 1-255] - Имя значения свойства товара | Значения свойств для данного варианта (модификации) товара. Указываются имена значений свойств. Таких тегов может быть несколько. Их порядок и количество строго соотвествует порядку и количеству свойств в тегах prop . |
quantity | mod | Целое число 0-2147483647 | Значение поля «Остаток» варианта (модификации) товара. Примеры: 1, 123, 123456. | |
showKey | mod | Цифра 1 или 0 | Флаг указывающий отображается ли вариант (модификация) на сайте или нет. 0 - не отображается; 1 - отображается. | |
size | mod | Строка 0-255 | Значение поля «Размер» варианта (модификации) товара. Примеры: XXL, большой, 52. | |
supplierArticle | mod | Строка 0-255 | Артикул товара у поставщика для поставщика «[ПО УМОЛЧАНИЮ]». Если связи данного варианта (модификации) с данным поставщиком нет, то передается пустая строка. | |
supplierArticleComplex | mod | Строка 0-255 | Артикул товара у поставщика для определенных поставщиков, заданный в следующем формате «Имя_поставщика1: Артикул_у_поставщика1; «Имя_поставщикаN: Артикул_у_поставщикаN;». | |
supplierTitle | mod | Строка 0-255 | Наименование товара у поставщика для поставщика »[ПО УМОЛЧАНИЮ]«. Если связи данного варианта (модификации) с данным поставщиком нет, то передается пустая строка. | |
supplierArticleComplex | mod | Строка 0-255 | Наименование товара у поставщика для определенных поставщиков, заданное в следующем формате «Имя_поставщика1: Наименование_у_поставщика1; «Имя_поставщикаN: Наименование_у_поставщикаN;». | |
time | offer | Строка Длина: 19 Формат: ISO 8601 | Поле товара «Время создания». Дата и время создания товара. Пример: 2014-12-31 08:32:59 |
|
time_unixtime | offer | Целое число 0-2147483647 | Поле товара «Время создания» в формате UNIXTIME. Время создания товара. Пример: 495546300 |
|
title | offer | Строка 0-255 | Поле товара «Наименование» | |
url | offer | Строка 1-255 | URL страницы товара на сайте, включая «схему». Пример: http://site.com/offer/123/ | |
useDataModsKey | offer | Цифра 1 или 0 | Флаг указывающий использует ли товар варианты (модификации) или нет. 1 - использует. 0 - нет. | |
weight | mod | Целое число 0-2147483647 | Значение поля «Вес» варианта (модификации) товара. Примеры: 1, 123, 123456. |
Пример полного XML файла
<?xml version="1.0" encoding="utf-8"?> <offers amount="5" sessionId="1450224532"> <catalogs> <catalog id="11" asId="cat1" title="Холодильники"> <catalog id="22" asId="cat1.1" title="Двухкамерные"></catalog> </catalog> <catalog id="1" asId="proekcionnoe_oborudovanie_123123" title="Проекционное оборудование"> <catalog id="2" asId="videoproektori_123456" title="Видеопроекторы"></catalog> </catalog> </catalogs> <offer id="5325"> <title>Видеопроектор BIG VP2000</title> <catalog id="2" asId="videoproektori_123456" title="Проекционное оборудование / Видеопроекторы"></catalog> <catalogs> <catalog id="1" asId="proekcionnoe_oborudovanie_123123" title="Проекционное оборудование"> <catalog id="2" asId="videoproektori_123456" title="Видеопроекторы"></catalog> </catalog> </catalogs> <brand id="111" asId="br1" title="Amro"> <brandSeries asId="42421" title="Юбилейная серия"></brandSeries> </brand> <additionalField name="Описание">Данный проектор применяется для небольших помещений</additionalField> <time>2015-01-27 14:25:38</time> <time_unixtime>1422357938</time_unixtime> <url>http://site.com/offer/video-proektor-big-vp2000-o5325/</url> <useDataModsKey>1</useDataModsKey> <props> <prop title="Размер"></prop> </props> <mods amount="1"> <mod article="35130944" asId="123456789"> <propValues> <propValue title="Средний"></propValue> </propValues> <maxDiscount>100.00</maxDiscount> <minAmountInOrder>1</minAmountInOrder> <maxAmountInOrder>0</maxAmountInOrder> <weight>0</weight> <barcode></barcode> <quantity>0</quantity> <price>6501.00</price> <priceOld>0.00</priceOld> <showKey>0</showKey> <price type="Тип цен 1">5000.00</price> <priceOld type="Тип цен 1">0.00</priceOld> <price amountInOrder="10">6400.00</price> <price amountInOrder="50">6300.00</price> </mod> </mods> <params> <param asId="954732" title="Световой поток"> <paramValue asId="47312874" title="800"></paramValue> <param> <param asId="3287532" title="Сфера использования"> <paramValue asId="239854" title="Презентации"></paramValue> <paramValue asId="834129" title="Кинотеатры"></paramValue> <param> </params> </offer> </offers>