{{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 Оплачен Получен 1470244295 20.10 20.10 22.33 10.00 0.00 7035 011111111, 02222222 user@site.com Иванов Петр Николаевич Клиент хочет, чтобы заказ доставили с 16:00 до 17:00 по указанному адресу Австрия Вена Транспортной компанией Австрия-Экспресс Налично при получении заказа 0.00 2018-02-16 2018-02-17 123123 Лесная 8 9 5325 1 5325-6261 Видеопроектор BIG VP2000 0 22.33 22.33 20.10 20.10