{{indexmenu_n>0005}}
====== Импорт заказов на сайт - XML файл ======
На данной странице описана структура содержимого XML файла, использующегося для импорта заказов на сайт на платформе komiz.io из системы бухгалтерского учета, например "1C".
===== Общее описание =====
Ниже приведен сокращенный пример файла имеющего описываемый формат (полный пример приведен далее).
1469606160
...
Товар1
...
...
...
...
Символом "троеточие" обозначены участки файла, которые в действительном файле заполнены, но в примере выше упущены с целью улучшения понимания общего принципа организации файла.
Данные в файле содержатся в кодировке ''UTF-8''.
Ниже перечислены основные особенности структуры файла.
* Коренным тегом XML документа является ''orders''. Он является контейнером списка заказов, каждому из которых соответствует дочерний тег ''order''.
* Тег ''order'' в дочерних тегах и атрибутах содержит информацию о самом заказе, а также информацию о товарах в данном заказе.
* Тег ''offers'' (который находится в теге ''order'') содержит информацию о товарах в текущем заказе.
* Информация о каждом товаре в заказе заключена в тег ''offer'' являющимся дочерним для ''offers''.
* Каждой "сущности" в системе соответствует ее "уникальный идентификатор". Для заказа - это "код заказа" (содержится в атрибуте ''code'' тега ''order''); для товара - это "артикул" (содержится в атрибуте ''article'' тега ''offer'').
**ОБРАТИТЕ ВНИМАНИЕ!**
* Все атрибуты тегов должны обязательно присутствовать.
* Большинство тегов могут отсутствовать. Исключением являются дочерние теги для тега ''offer'' и коренной тег ''orders''. Если необязательного тега не передается, то соответствующее ему данное либо не изменяется (при существовании заказа в базе данных сайта), либо заполняется "пустым значением" (в случае отсутствия заказа в базе данных сайта).
* Нужно учесть, что количество повторяемых тегов варьируется относительно количества отображаемых ими "сущностей". Например, количество тегов ''order'' равно количеству заказов в данном файле (т.е. может быть равным нулю). А, например, количество тегов ''offer'' равно количеству товаров в конкретном заказе (т.е. может быть равно нулю).
* Если заказ уже существует в базе данных сайта, то отсутствие тега ''offers'' означает, что изменение информации о товарах в заказе не будет производиться. Для того, чтобы удалить все товары в заказе, нужно передать данный тег и указать ноль в его атрибуте ''amount''.
===== Описание тегов =====
Ниже приведен перечень всех XML тегов, используемых в описываемом файле, с указанием инструкций по их использованию. Теги перечислены в алфавитном порядке.
^ Тег ^ Контекст ^ Содержимое ^ Атрибуты ^ Описание ^
| ''additionalField'' | ''offer'' | Строка\\ 0-4294967296 | ''name'' - [строка: 1-255] - Значение поля "Имя в интерфейсе" для данного дополнительного поля. | "Дополнительное поле" товара |
| ''additionalReceiver'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Дополнительный получатель" |
| ''adminComment'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Комментарий оператора" |
| ''amount'' | ''offer'' | Целое число\\ 1-2147483647 | | Поле товара в заказе "Количество". Количество **этого** товара в заказе. Не путать с атрибутом ''amount'' тега ''offers'' |
| ''apartment'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Квартира" |
| ''building'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Дом" |
| ''bulk'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Корпус" |
| ''city'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Нас. пункт" |
| ''code'' | ''offer'' | Строка, состоящая из двух натуральных чисел разделенных "тире"\\ Длина: 3-255 | | Поле товара в заказе "Код".\\ Первое число - это "идентификатор товара", второе - "идентификатор модификации" (могут быть равны). Пример: 123-987 |
| ''customCity'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Другой нас. пункт" (указывается как дополнительное поле, если "Нас. пункт" будет указан как "[Другой нас. пункт]", иначе содержит пустую строку) |
| ''country'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Страна" |
| ''time'' | ''order'' | Строка\\ Длина: 19\\ Формат: ISO 8601 | | Поле заказа "Время создания" в формате ISO 8601 (но без буквы Т).\\ Время создания заказа. Пример: 2016-07-27 17:05:30.\\ ВНИМАНИЕ! Игнорируется, в случае, если заказ существует на сайте\\ ВНИМАНИЕ! Игнорируется, в случае, если передается тег ''time_unixtime''. |
| ''time_unixtime'' | ''order'' | Целое число\\ 0-2147483647 | | Поле заказа "Время создания" в формате UNIXTIME.\\ Время создания заказа. Пример: 495546300.\\ ВНИМАНИЕ! Игнорируется, в случае, если заказ существует на сайте. |
| ''dateSend'' | ''order'' | Строка\\ 0 или 10\\ Формат: ISO 8601 | | Поле заказа "Дата отправки".\\ Дата отправки заказа. Пустая строка, если не указано. Пример: 2014-12-31 |
| ''dateDelivery'' | ''order'' | Строка\\ 0 или 10\\ Формат: ISO 8601 | | Поле заказа "Дата доставки".\\ Дата доставки заказа. Пустая строка, если не указано. Пример: 2014-12-31 |
| ''deliveryServiceCode'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Код заказа в системе службы доставки" |
| ''deliveryStatus'' | ''order'' | Строка\\ 1-255 | | Поле заказа "Статус доставки" |
| ''deliveryType'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Тип доставки" |
| ''discount'' | ''order'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ От 0 до 100.00\\ | | Поле заказа "Скидка на заказ", в процентах |
| ''district'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Район" |
| ''email'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Email" |
| ''firstName'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Имя" |
| ''offer'' | ''offers'' | Дочерние теги | ''article'' - [строка: 1-255] - Артикул - уникальный идентификатор товара. Учитывается только, если не передается атрибут ''asId''\\ ''asId'' - [строка: 1-255] - Идентификатор товара в системе бухгалтерского учета (accounting system id) | Содержит информацию о товаре. Всей группе одинаковых товаров соответствует один этот тег. Количество таких товаров указано в дочернем теге ''amount'' |
| ''offers'' | ''order'' | Дочерние теги | ''amount'' - [Целое число 0-2147483647] - Количество **разных** товаров в заказе. Соответствует количеству дочерних тегов ''offer'' (если равно нулю, значит их нет) | Контейнер тегов ''offer'', которые содержат информацию о товарах в заказе, если таковые имеются |
| ''lastName'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Фамилия" |
| ''middleName'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Отчество" |
| ''order'' | ''orders'' | Дочерние теги | ''code'' - [строка: 1-255] - Код заказа - уникальный идентификатор заказа | Информация о заказе, включая информацию о товарах в заказе. Если передается заказ с несуществующим кодом, то он будет создан на сайте |
| ''orders'' | ''Коренной'' | Дочерние теги | | Является контейнером для тегов заказов (''order'') |
| ''payStatus'' | ''order'' | Строка\\ 1-255 | | Поле заказа "Статус оплаты" |
| ''payType'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Тип оплаты" |
| ''postIndex'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Почтовый индекс" |
| ''price'' | ''offer'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ От 0 до 99999999.99 | | Поле товара в заказе "Цена за один (**без учета** скидки)" |
| ''region'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Область" |
| ''status'' | ''order'' | Строка\\ 1-255 | | Поле заказа "Статус" |
| ''storeAddress'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Адрес склада" |
| ''street'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Улица" |
| ''telephone'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Телефон" |
| ''userComment'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Комментарий пользователя" |
| ''userAsId'' | ''order'' | Строка\\ 0-255 | | Идентификатор пользователя в системе бухгалтерского учета, к которому привязан заказ |
| ''userId'' | ''order'' | Целое число\\ 1-2147483647 | | Идентификатор пользователя, к которому привязан заказ. Если равно 1 (единица), то это специальный пользователь (так называемый "незарегистрированный"). Учитывается только если не передается ''userAsId''. |
===== Пример полного XML файла =====
testОплаченПолучен147024429520.1020.1022.3310.000.007035011111111, 02222222user@site.comИвановПетрНиколаевичКлиент хочет, чтобы заказ доставили с 16:00 до 17:00 по указанному адресуАвстрияВенаТранспортной компанией Австрия-ЭкспрессНалично при получении заказа0.002018-02-162018-02-17123123Лесная89532515325-6261Видеопроектор BIG VP2000022.3322.3320.1020.10