{{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 Оплачен Получен 1470244295 20.10 20.10 22.33 10.00 0.00 7035 011111111, 02222222 user@site.com Иванов Петр Николаевич Клиент хочет, чтобы заказ доставили с 16:00 до 17:00 по указанному адресу Австрия Вена 12345-12345-122345-112414 98764-95634-9575435-4444 Транспортной компанией Австрия-Экспресс Налично при получении заказа 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