/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": "Текст ошибки"
}
]
}