Экспорт товаров с сайта - 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] - Идентификатор каталога. Уникален. Пример: 123
title - [строка: 1-255] - Наименование каталога
В атрибутах содержит информацию о каталоге (на данном уровне иерархии).
Может содержать дочерние теги catalog. Таким образом указывается иерархия каталогов
catalog offer asId - [строка: 1-255] - Идентификатор каталога в системе бухгалтерского учета (accounting system id)
id - [целое число: 1-2147483647] - Идентификатор каталога. Уникален. Пример: 123
title - [строка: 1-255] - Наименование каталога. Может быть указано в виде иерархии размещения, где каждый следующий через правый слеш. Примеры: «Холодильники / Двухкамерные», «Ноутбуки»
catalog catalogs Дочерние теги asId - [строка: 1-255] - Идентификатор каталога в системе бухгалтерского учета (accounting system id)
id - [целое число: 1-2147483647] - Идентификатор каталога. Уникален. Пример: 123
title - [строка: 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 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>