{{indexmenu_n>0002}}
====== Экспорт заказов с сайта - XML файл ======
На данной странице описана структура содержимого XML файла, использующегося для экспорта заказов с сайта на платформе komiz.io в систему бухгалтерского учета, например "1C".
===== Общее описание =====
Ниже приведен сокращенный пример файла имеющего описываемый формат (полный пример приведен далее).
...
Товар1
...
...
...
...
Символом "троеточие" обозначены участки файла, которые в действительном файле заполнены, но в примере выше упущены с целью улучшения понимания общего принципа организации файла.
Данные в файле содержатся в кодировке ''UTF-8''.
Ниже перечислены основные особенности структуры файла.
* Коренным тегом XML документа является ''orders''. Он является контейнером списка заказов, каждому из которых соответствует дочерний тег ''order''.
* Тег ''order'' в дочерних тегах и атрибутах содержит информацию о самом заказе, а также информацию о товарах в данном
* Тег offers (который находится в теге ''order'') содержит информацию о товарах в текущем заказе
* Информация о каждом товаре в заказе заключена в тег ''offer'' являющимся дочерним для ''offers''
* Каждой "сущности" в системе соответствует ее "уникальный идентификатор". Для заказа - это "код заказа" (содержится в атрибуте ''code'' тега ''order''); для товара - это "артикул" (содержится в атрибуте ''article'' тега ''offer'').
**ОБРАТИТЕ ВНИМАНИЕ!** Все теги (и их атрибуты) обязательно присутствуют в файле (в рамках своего контекста, т.е. родительского тега). Но также нужно учесть, что количество повторяемых тегов варьируется относительно количества отображаемых ими "сущностей". Например, количество тегов ''order'' равно количеству заказов в данном файле (т.е. может быть равным нулю). А, например, количество тегов ''offer'' равно количеству товаров в конкретном заказе (т.е. может быть равно нулю).
===== Описание тегов =====
Ниже приведен перечень всех XML тегов, используемых в описываемом файле, с указанием инструкций по их использованию. Теги перечислены в алфавитном порядке.
^ Тег ^ Контекст ^ Содержимое ^ Атрибуты ^ Описание ^
| ''additionalField'' | ''order'' | Строка\\ 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 | | Поле заказа "Населенный пункт" |
| ''cityId'' | ''order'' | Строка\\ 0-255 | | Идентификатор населенного пункта в системе службы доставки |
| ''code'' | ''offer'' | Строка\\ 1-255 | | Поле товара в заказе "Код". Первое число - это "идентификатор товара", второе - "идентификатор варианта" (могут быть равны). Пример: 123-987 |
| ''color'' | ''offer'' | Строка\\ 0-255 | | Значение свойства "Цвет" товара в заказе |
| ''country'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Страна" |
| ''time'' | ''order'' | Строка в формате ISO 8601\\ 19 | | Дата и время создания заказа. Пример: 2014-12-31 08:32:59 |
| ''time_unixtime'' | ''order'' | Целое число\\ 0-2147483647 | | Время создания заказа в формате UNIXTIME. Пример: 495546300 |
| ''dateSend'' | ''order'' | Строка в формате ISO 8601\\ 0 или 10 | | Дата отправки заказа. Пустая строка, если не указано. Пример: 2014-12-31 |
| ''dateDelivery'' | ''order'' | Строка в формате ISO 8601\\ 0 или 10 | | Дата доставки заказа. Пустая строка, если не указано. Пример: 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 | | Поле заказа "Имя" |
| ''material'' | ''offer'' | Строка\\ 0-255 | | Значение свойства "Материал" товара в заказе |
| ''offer'' | ''offers'' | Дочерние теги | ''article'' - [строка: 1-255] - Артикул - уникальный идентификатор товара.\\ ''asId'' - [строка: 0-255] - Идентификатор товара в системе бухгалтерского учета (accounting system id). Может быть равен пустой строке, т.е. быть не указан.\\ ''action'' - [цифра 1 или 0] - Является ли товар акционным, 0 - не является; 1 - является | Содержит информацию о товаре. Количество таких товаров указано в атрибуте ''amount''. Если товар является акционным, то это специальный товар, который **не учитывается** во всех расчетных данных заказа |
| ''offerId'' | ''offer'' | Целое число\\ 1-2147483647 | | Идентификатор товара. Уникален. Пример: 123 |
| ''offers'' | ''order'' | Дочерние теги | ''amount'' - [цело число: 0-2147483647] - Количество **разных** товаров в заказе. **ВНИМАНИЕ!** Акционные товары не учитываются | Контейнер тегов ''offer'', которые содержат информацию о товарах в заказе, если таковые имеются |
| ''lastName'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Фамилия" |
| ''middleName'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Отчество" |
| ''order'' | ''orders'' | Дочерние теги | ''code'' - [строка: 1-255] - Код заказа - уникальный идентификатор заказа | Информация о заказе, включая информацию о товарах в заказе |
| ''orderDeliveryPrice'' | ''order'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле заказа "Стоимость доставки" |
| ''orderDeliveryPriceName'' | ''order'' | Строка\\ 0-255 | | Наименование "строки сетки стоимости доставки". Если пустая строка, значит система не нашла строку соответствующую данным заказа либо это поле не заполнено пользователем |
| ''orderPriceAll'' | ''order'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле заказа "Общая стоимость заказа" (orderPriceResult + orderDeliveryPrice) |
| ''orderPrice'' | ''order'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле заказа "Стоимость всех товаров (**без учета скидки**)" |
| ''orderPriceResult'' | ''order'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле заказа "Стоимость всех товаров (**с учетом скидки**)". **ВНИМАНИЕ!** Акционные товары не учитываются. |
| ''orders'' | Коренной | Дочерние теги | ''amount'' - (цело число: 0-2147483647) - Количество заказов, которые передаются в рамках данного запроса (максимум данного числа определяется [[dev:as:ogranicheniia|ограничениями]])\\ ''amountAll'' - (цело число: 0-2147483647) - Общее количество заказов, которые готовы к передаче\\ ''sessionId'' - (строка: 10) - Идентификатор сессии обмена данными с системой бухгалтерского учета | Является контейнером для тегов заказов (''order'') |
| ''payStatus'' | ''order'' | Строка\\ 1-255 | | Поле заказа "Статус оплаты" |
| ''payType'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Способ оплаты" |
| ''postIndex'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Почтовый индекс" |
| ''price'' | ''offer'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле товара в заказе "Цена за один (**без учета скидки**)" |
| ''priceAll'' | ''offer'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле товара в заказе "Цена за все (**без учета скидки**)" (''price''*''amount'') |
| ''priceResult'' | ''offer'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле товара в заказе "Цена за один (**с учетом скидки**)". Нужно учесть, что скидка на данный товар может быть меньше общей "скидки на заказ (''discount'')", так как существует понятие "максимальной скидки на товар" |
| ''priceResultAll'' | ''offer'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Поле товара в заказе "Цена за все (**с учетом скидки**)" (''priceResult''*''amount'') |
| ''quantityOperation'' | ''order'' | Одна из строк ''none'', ''minus'', ''plus'' | | Последняя операция с остатками (''none'' - не выполнялось никакой операции; ''minus'' - списание остатков; ''plus'' - возврат остатков |
| ''region'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Регион" |
| ''size'' | ''offer'' | Строка\\ 0-255 | | Значение свойства "Размер" товара в заказе |
| ''status'' | ''order'' | Строка\\ 1-255 | | Поле заказа "Статус" |
| ''storeAddress'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Адрес склада" или "Отделение" службы доставки, если таковая связана с заказом |
| ''street'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Улица" |
| ''telephone'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Телефон" |
| ''title'' | ''offer'' | Строка\\ 1-255 | | Поле товара в заказе "Наименование" |
| ''userComment'' | ''order'' | Строка\\ 0-255 | | Поле заказа "Комментарий пользователя" |
| ''userDiscount'' | ''order'' | Дробное число, разделитель "точка", максимум два символа после точки, если она есть\\ 0-99999999.99 | | Скидка пользователя, к которому прикреплен заказ |
| ''userAsId'' | ''order'' | Строка\\ 0-255 | | Идентификатор пользователя в системе бухгалтерского учета, к которому привязан заказ |
| ''userId'' | ''order'' | Целое число\\ 1-2147483647 | | Идентификатор пользователя, к которому привязан заказ. Если равно 1 (единица), то это специальный пользователь (так называемый "незарегистрированный") |
| ''warehouseId'' | ''order'' | Строка\\ 0-255 | | Идентификатор отделения службы доставки |
| ''weight'' | ''offer'' | Целое число\\ 0-2147483647 | | Поле товара в заказе "Вес". Обычно указывается в граммах, но для системы это просто целое число |
===== Пример полного XML файла =====
testОплаченПолучен147024429520.1020.1022.3310.000.007035011111111, 02222222user@site.comИвановПетрНиколаевичКлиент хочет, чтобы заказ доставили с 16:00 до 17:00 по указанному адресуАвстрияВена12345-12345-122345-11241498764-95634-9575435-4444Транспортной компанией Австрия-ЭкспрессНалично при получении заказа0.002018-02-162018-02-17123123Лесная89532515325-6261Видеопроектор BIG VP2000022.3322.3320.1020.10