{{indexmenu_n>0004}} ====== Импорт товаров на сайт - XML файл ====== На данной странице описана структура содержимого XML файла, использующегося для импорта товаров на сайт на платформе komiz.io из системы бухгалтерского учета, например "1C". ===== Общее описание ===== Ниже приведен сокращенный пример файла имеющего описываемый формат (полный пример приведен далее). Наименование товара White 15 10 auto 500.00 1 ... http://example.com/ahrc5dm7ado.jpg ahrc5dm7ado.jpg ... ... Символом "троеточие" обозначены участки файла, которые в действительном файле заполнены, но в примере выше упущены с целью улучшения понимания общего принципа организации файла. Данные в файле содержатся в кодировке ''UTF-8''. Ниже перечислены основные особенности структуры файла. * Коренным тегом XML документа является ''offers''. Он является контейнером списка товаров, каждому из которых соответствует дочерний тег ''offer''. * Тег ''offer'' в дочерних тегах и атрибутах содержит информацию о самом товаре, а также его вариантах (модификациях) и изображениях. * Тег ''mods'' (который находится в теге ''offer'') содержит информацию о вариантах (модификациях) данного товара. * Тег ''images'' (который находится в теге ''offer'') содержит информацию об изображениях данного товара (см. [[dev:as:ogranicheniia|ограничения]] и [[dev:as:tovari:ochered_zagruzki_izobrazhenii|очередь загрузки изображений]]). * Информация о каждом варианте (модификации) товара заключена в тег ''mod'' являющимся дочерним для ''mods''. * Информация о каждом файле изображения товара заключена в тег ''image'' являющимся дочерним для ''images''. **ОБРАТИТЕ ВНИМАНИЕ!** * Все атрибуты тегов должны обязательно присутствовать. Кроме исключительных случаев (см. описание атрибута). * Большинство тегов могут отсутствовать. Исключением являются: коренной тег ''offers''; тег ''mods'' с как минимум одним вложенным тегом ''mod''. Если тегов ''mods'' и ''mod'' нет, то данный товар игнорируется. Если необязательного тега не передается, то соответствующее ему данное либо не изменяется (при существовании товара или его варианта (модификации) в базе данных сайта), либо заполняется "пустым значением" (в случае отсутствия товара или его вариантов (модификации) в базе данных сайта). * Нужно учесть, что количество повторяемых тегов варьируется относительно количества отображаемых ими "сущностей". Например, количество тегов ''offer'' равно количеству товаров в данном файле (т.е. может быть равным нулю). ===== Работа с каталогами ===== Системой допускаются все основные операции над каталогами: создание, редактирование, а также перенос одного каталога в другой. Для задания иерархии каталогов необходимо верно сформировать ее из вложенных друг в друга тегов ''catalog''. В атрибуте ''asId'' каждого такого тега указывается идентификатор каталога в системе бухгалтерского учета. Если такой каталог будет найден, то его наименование будет изменено на то, что указано в атрибуте ''title''. Если же не найден, то будет создан новый каталог с данным наименованием (с учетом вложенности). Также, данный каталог будет перенесен в другой каталог, если это необходимо. **ПОМНИТЕ!** Перенос каталога возможен, только если соблюдается ряд условий, в том числе: каталог назначения не должен содержать ни товаров, ни параметров. Если конечный каталог товара был изменен, то будет совершен перенос данного товара в указанный каталог. ===== Работа с брендами и сериями ===== Системой допускаются все основные операции над брендом: создание, редактирование. В атрибуте ''asId'' каждого тега ''brand'' указывается идентификатор бренда в системе бухгалтерского учета. Если такой бренд будет найден, то его наименование будет изменено на то, что указано в атрибуте ''title''. Если же не найден, то будет создан новый бренд с данным наименованием. Сказанное выше справедливо и для серии бренда. Указание тега ''brand'' не обязательно. Также не обязательно указание вложенного в него тега ''brandSeries''. Но, если последний указан, то соответствующая ему серия (если и бренд и серия существуют) должна принадлежать данному бренду. Т.е. перенос серии из одного бренда в другой запрещается. Если бренд и/или серия были изменены у товара, то будет выполнен перенос данного товара в соответствующую серию и бренд. **ОБРАТИТЕ ВНИМАНИЕ!** Система поддерживает работу только с сериями верхнего уровня (у серий есть неограниченная вложенность, но оперирование с ней посредствам описываемого механизма невозможно). ===== Описание тегов ===== Ниже приведен перечень всех 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'' | ''catalogs'' | Дочерние теги | ''asId'' - [строка: 1-255] - Идентификатор каталога в системе бухгалтерского учета (accounting system id). Указание обязательно\\ ''title'' - [строка: 1-255] - Наименование каталога. Если указана пустая строка, то наименование каталога не меняется. | В атрибутах содержит информацию о каталоге (на данном уровне иерархии).\\ Может содержать дочерние теги ''catalog''. Таким образом указывается иерархия каталогов | | ''catalogs'' | ''offer'' | Дочерние теги | | Контейнер тегов ''catalog'', которые содержат информацию о каталоге товара, с учетом иерархии, воспроизводимой вложением друг в друга | | ''color'' | ''mod'' | Строка\\ 0-255 | | Значение поля "Цвет" варианта (модификации) товара. Примеры: Красный, темный, 123456. | | ''dataModStatus'' | ''mod'' | Строка\\ 0-255 | | Статус остатка. Одно из значений: "Нет в наличии", "Есть в наличии", "Заканчивается" и "auto". Значение "auto" переключает в режим автоматического определения значения, которое зависит от значения поля "Остаток" | | ''deleteImageKey'' | ''offer'' | Цифра 1 или 0 | | Флаг указывающий удалить ли изображения товара или нет. 1 - удалить. Все остальные значения игнорируются | | ''deleteKey'' | ''mod'' | Цифра 1 или 0 | | Флаг указывающий удалить ли вариант (модификацию) товара или нет. 1 - удалить. Все остальные значения игнорируются. **ВНИМАНИЕ!** Удаление будет заблокировано, если товар содержит только один вариант (модификацию) | | ''deleteKey'' | ''offer'' | Цифра 1 или 0 | | Флаг указывающий удалить ли товар или нет. 1 - удалить. Все остальные значения игнорируются. **ВНИМАНИЕ!** Даже в случае удаления товара, указание тегов ''mod'' обязательно | | ''deleteMarkKey'' | ''offer'' | Цифра 1 или 0 | | Флаг указывающий удалить ли метки товара или нет. 1 - удалить. Все остальные значения игнорируются | | ''deleteWobblerKey'' | ''offer'' | Цифра 1 или 0 | | Флаг указывающий удалить ли бейджы товара или нет. 1 - удалить. Все остальные значения игнорируются | | ''image'' | ''images'' | Дочерние теги | | Содержит информацию об одном файле изображения товара. Если параметр ''type'' имеет значение ''import_as_xml'', то данный тег должен содержать адрес файла изображения товара на внешнем сервере, по которому его можно скачать. Если же параметр ''type'' имеет значение ''import_as_zip'', то данный тег может также содержать и путь к файлу изображения товара, относительно корневой директории передаваемого ZIP архива.\\ Первым в списке изображений идет так называемое "главное", далее сортировка по позиции. | | ''images'' | ''offer'' | Дочерние теги | ''amount'' - [целое число: 1-2147483647] - Количество изображений данного товара. Соответствует количеству дочерних тегов ''image''. | Контейнер тегов ''image'', которые содержат информацию о файлах изображений товаров (см. [[dev:as:ogranicheniia|ограничения]] и [[dev:as:tovari:ochered_zagruzki_izobrazhenii|очередь загрузки изображений]]) | | ''mark'' | ''marks'' | Строка\\ 1-255 | ''deleteKey'' - [Цифра 1 или 0] - Флаг указывающий удалить ли данную метку товара или нет. 1 - удалить. Все остальные значения игнорируются. Указание не обязательно | Наименование метки товара. Если атрибут ''deleteKey'' = ''1'', то происходит удаление связи метки с данным товаром. Во всех остальных случаях - связывание товара с данной меткой. Таких тегов может быть несколько. | | ''marks'' | ''offer'' | Дочерние теги | ''amount'' - [целое число: 1-2147483647] - Количество меток данного товара. Соответствует количеству дочерних тегов ''mark''. | Контейнер тегов ''mark'', которые содержат информацию о метках товара | | ''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'' | Дочерние теги | ''catalogAsId'' - [строка: 0-255] - Идентификатор каталога в системе бухгалтерского учета. Если указано, то тег ''catalogs'' в теге ''offer'' игнорируется.\\ ''brandAsId'' - [строка: 0-255] - Идентификатор бренда в системе бухгалтерского учета. Если указано, то тег ''brand'' (и его дочерний тег ''brandSeries'') в теге ''offer'' игнорируется.\\ ''brandSeriesAsId'' - [строка: 0-255] - Идентификатор серии бренда в системе бухгалтерского учета. Если указано, то тег ''brandSeries'' дочерний для тега ''brand'', который находится в теге ''offer'', игнорируется. | Информация о товаре, включая информацию о вариантах (модификациях) товара и его изображениях | | ''offers'' | ''Коренной'' | Дочерние теги | | Является контейнером для тегов товаров (''offer'') | | ''param'' | ''params'' | Дочерние теги | ''asId'' - [строка: 1-255] - Идентификатор параметра в системе бухгалтерского учета\\ ''title'' - [строка: 1-255] - Наименование параметра | Контейнер тегов ''paramValue'', т.е. значений параметров с которыми связан данный товар. Таких тегов может быть несколько. | | ''params'' | ''offer'' | Дочерние теги | | Контейнер тегов ''param'', которые содержат информацию о параметрах, со значениями которых связан данный товар | | ''paramValue'' | ''param'' | Пустой тег | ''asId'' - [строка: 1-255] - Идентификатор значения параметра в системе бухгалтерского учета\\ ''title'' - [строка: 1-255] - Наименование значения параметра. Если указана пустая строка, то наименование параметра не меняется\\ ''deleteKey'' - [Цифра 1 или 0] - Флаг указывающий удалить ли связь товара с данным значением параметра. 1 - удалить. Все остальные значения игнорируются. Указание не обязательно | Указывает значение параметра, с которым связан данный товар. Таких тегов может быть несколько. | | ''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;". | | ''title'' | ''offer'' | Строка\\ 0-255 | | Поле товара "Наименование" | | ''useDataModsKey'' | ''offer'' | Цифра 1 или 0 | | Флаг указывающий использует ли товар варианты (модификации) или нет. 1 - использует. Все остальные значения интерпритирутся как ноль. **ВНИМАНИЕ!** Если указывается данный флаг, равный единице, то заполнение тегов ''props'' и ''propValues'' обязательно. Также нужно помнить, что изменение данного флага не предусмотрено | | ''weight'' | ''mod'' | Целое число\\ 0-2147483647 | | Значение поля "Вес" варианта (модификации) товара. Примеры: 1, 123, 123456. | | ''wobbler'' | ''wobblers'' | Строка\\ 1-255 | ''deleteKey'' - [Цифра 1 или 0] - Флаг указывающий удалить ли данный бейдж товара или нет. 1 - удалить. Все остальные значения игнорируются. Указание не обязательно | Наименование бейджа товара. Если атрибут ''deleteKey'' = ''1'', то происходит удаление связи бейджа с данным товаром. Во всех остальных случаях - связывание товара с данным бейджем. Таких тегов может быть несколько. | | ''wobblers'' | ''offer'' | Дочерние теги | ''amount'' - [целое число: 1-2147483647] - Количество бейджей данного товара. Соответствует количеству дочерних тегов ''wobbler''. | Контейнер тегов ''wobbler'', которые содержат информацию о бейджах товара | ===== Пример полного XML файла ===== Видеопроектор BIG VP2000 Данный проектор применяется для небольших помещений 1 100.00 1 0 0 0 Нет в наличии 6501.00 0.00 0 5000.00 0.00 6400.00 6300.00 http://example.com/ahrc5dm7ado.jpg http://example.com/htec8dm9jur.jpg