Импорт комплектов товаров
Функция productSet/import (http://<DOMAIN>/api/productSet/import/)
Параметры:
- token - ключ авторизации полученный через функцию auth
- items[] - список комплектов
- items[i].article - артикул комплекта (обязательный параметр). Должен быть уникальным в пределах комплектов и товаров
- items[i].title - название комплекта. По умолчанию - "Вместе дешевле"
- items[i].discountPercent - относительная скидка на комплект относительно исходной стоимости
- items[i].initialPrice - исходная стоимость комплекта. Если не задана, то суммируется стоимость всех товаров комплекта
- items[i].discountedPrice - стоимость комплекта с учётом скидки. Если не задана, то будет рассчитана автоматически относительно параметров "initialPrice" и "discountPercent"
- items[i].currency - ISO код валюты комплекта
- items[i].enabled - включение комплекта (boolean)
- items[i].sortOrder - порядок отображения комплекта. Чем ниже значение, тем выше приоритет
- items[i].products[] - список артикулов товаров которые формируют комплект. Не меньше двух и, по умолчанию, не больше пяти товаров (настройку можно изменить)
- items[i].products[n] - артикул товара в комлекте
Ответ:
- status - статус выполнения функции
- OK - все комплекты товаров успешно добавлены/обновлены
- WARNING - один или несколько комплектов товаров не были добавлены/обновлены
- response.log - журнал выполнения функции по каждой записи
- response.log[i].article - артикул комплекта
- response.log[i][‘info’][n].code - статус обновления записи (см. таблицу кодов ниже)
- response.log[i][‘info’][n].message - пояснение к коду
Коды журнала импорта комплекта
Код | Описание |
---|---|
0 | Комплект импортирован |
1 | Параметр "discountPercent" должен быть целым числом в пределах от 0 до 100 |
2 | Параметр "initialPrice" должен быть дробным числом выше чем 0 |
3 | Параметр "discountedPrice" должен быть дробным числом выше чем 0 |
4 | Количество товаров в комплекте должно быть в пределе от 2 до "максимально допустимого количества настроенного на сайте" |
5 | Товары в комплекте не должны повторяться |
101 | Параметр "article" обязателен для заполнения |
102 | Артикул комплекта не может совпадать с артикулом существующего товара |
103 | Параметр "products" обязателен для заполнения |
104 | Товар с определенным артикулом не найден |
105 | Для одного из товаров комплекта не указан артикул |
106 | Валюта не найдена |
400 | «The payload is not JSON». Запрос составлен неверно. |
1000 | Один из товаров имеет некорректный тип объекта |
2000 | Неизвестная ошибка |
Пример запроса на адрес (http://<DOMAIN>/api/productSet/import/):
{ "token": "24a75d0678c49a34030e35baeb376ff3", "items":[ { "article":"PRODUCT_SET_ARTICLE", "title":"PRODUCT_SET_TITLE", "discountPercent":5, "initialPrice":150, "discountedPrice":100, "currency":"UAH", "enabled":true, "sortOrder":1, "products":[ "2317217", "MB829", "MD810" ] }, { "article":"2317217", "title":"PRODUCT_SET_TITLE", "discountPercent":5, "initialPrice":150, "discountedPrice":100, "currency":"USD", "enabled":false, "sortOrder":2, "products":[ "2317217", "MB829", "MD810", "MGR32", "MGTR2", "MD565" ] } ] }
Пример ответа на запрос
{ "status":"WARNING", "response":{ "log":[ { "article":"PRODUCT_SET_ARTICLE", "info":[ { "code":0, "message":"Комплект обновлён" } ] }, { "article":"2317217", "info":[ { "code":102, "message":"Артикул комплекта \"2317217\" не может совпадать с артикулом существующего товара" } ] } ] } }