/api/lite/products/templates/items

Получение шаблона импорта номенклатуры

/api/lite/products/templates/items

В ответ возвращается в бинарном виде с типом application/octet-stream xls файл для выгрузки в браузер пользователю

Можно задавать ему название "ItemTemplate.xls"

Успех:

application/octet-stream

Ошибка:

status 500

{

"timestamp": "2020-04-03T10:38:46.343+0000",

"status": 500,

"error": "Internal Server Error",

"message": "12345",

"path": "/api/lite/settings/templates/items"

}

/api/lite/products/templates/items

Загружает на сервер xls файл (не xlsx) и производит анализ и формирование списка позиций для потенциального заказа.

Используется заголовок запроса Content-type: multipart/form-data.  (аналогично методу POST /api/lite/products/image)

В качестве параметр запроса передается:

upfile - xls файл

searchColumn - поле поиска номенклатуры HUMANID | EXTID | ARTICLE | BARCODE

Xls файл для анализа должен быть исправленным файлом метода:

/api/lite/products/templates/items

(удалены ненужные строки, проставлены значения в колонки Цена, Количество, НДС).

Возвращаемые данные клиентское приложение может использовать для формирования списка позиций заказа/заказа поставщика

На сервере никакой документ не изменяется при этом.

В ответ возвращается информация о распознанных товарах в списке items и перечень предупреждений по строкам xls файла, елис такие возникли.

Успешные позиции в items можно использовать для формирования заказа, предупреждения можно отображать для пользователя.

Успех

{

 

 "success": false,

 "errors": [

 {

 "code": 0,

 "message": "Найдены следующие ошибки в строке 10 : не указано количество; - Артикул , Серые"

 },

 {

 "code": 0,

 "message": "Найдены следующие ошибки в строке 12 : не найден товар по полю Код в kak2c и значению 12345 - Артикул 456, Голубые"

 }

 ],

 "items": [

 {

 "num": 1,

 "variantId": "1021",

 "productId": "1021",

 "variantExtId":"EXT0029",

 "name": "Розовые",

 "article": "",

 "quantity": 2,

 "vatRate": "VAT_20",

 "price": 0,

 	"barcode": "600000000212"

 },

 {

 "num": 2,

 "variantId": "1024",

 "productId": "1024",

 "name": "Красные",

 "article": "",

 "quantity": 3,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 3,

 "variantId": "1025",

 "productId": "1025",

 "name": "Фиолетовые",

 "article": "",

 "quantity": 4,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 4,

 "variantId": "1023",

 "productId": "1023",

 "name": "Оранжевые",

 "article": "",

 "quantity": 5,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 5,

 "variantId": "1027",

 "productId": "1027",

 "name": "Белые",

 "article": "",

 "quantity": 6,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 6,

 "variantId": "1019",

 "productId": "1019",

 "name": "Флуоресцентно зеленые",

 "article": "",

 "quantity": 1,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 7,

 "variantId": "1018",

 "productId": "1018",

 "name": "Синие",

 "article": "",

 "quantity": 2,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 8,

 "variantId": "1017",

 "productId": "1017",

 "name": "Черные",

 "article": "",

 "quantity": 3,

 "vatRate": "VAT_20",

 "price": 0

 },

 {

 "num": 9,

 "variantId": "1022",

 "productId": "1022",

 "name": "Флуоресцентно желтые",

 "article": "",

 "quantity": 5,

 "vatRate": "VAT_20",

 "price": 0

 }

 ]

}

Ошибка

{

"success": false,

"errors": [

 {

 "code": 0,

 "message": "Текст ошибки"

 }

]

}