/api/lite/products
Запрос списка продуктов (GET /api/lite/products)
/api/lite/products
Метод возвращает перечень всех продуктов / товарных предложений (активных и неактивных).
Продукт всегда содержит хотя бы один вариант.
Правильно рассматривать Продукт - как виртуальную сущность (группу), а вариант - как физический товар. В рамках одного Продукта может быть несколько Вариантов (например, различные цвета и размеры).
Каждый Вариант имеет набор Опций, характеризующих именно этот вариант (например Цвет=blue, Размер=XL). Не может существовать более одного Варианта с одинаковым набором Опций.
Фильтрация по полям товара
Можно задавать фильтр параметром ?query=test - для фильтрации по полям article , humanId, shortName, fullName, description
Дополнительно можно фильтровать по конкректному продукту параметром ?id=1000
Фильтрация по фильтрам, атрибутам, вариантам товара
Фронтенд при выборе покупателем значений тех или иных фильтров должен составить поисковый GET запрос и передать его в метод:
/pub/products
в виде суммы параметров:
?filters=field_name1:field_value1,field_value2;field_name2:field_value3-field_value4 для всех фильтров в блоке OTHER
?attributes=field_name1:field_value1,field_value2;field_name2:field_value3-field_value4 для всех фильтров в блоке ATTRIBUTES
?features=field_name1:field_value1,field_value2;field_name2:field_value3-field_value4 для всех фильтров в блоке FEATURES
где field_name - это значение поля filters.fields.name, field_value - это значение поля filters.fields.stringValues для filters.fields.type: "string" или decimalValues для filters.fields.type: "decimal" или true/false для filters.fields.type: "boolean".
Для filters.fields.type: "decimal" также можно передавать диапазон, указывая начальное и конечное значение через дефис: field_name2:field_value3-field_value4
Коллекции
Можно задавать фильтр по коллекциям параметром ?collections=1007,1008 - для фильтрации по id коллекций (можно передавать списком)
Архивные карточки
Можно дополнительно выводить архивные карточки товаров параметром deleted=true
Пейджинация
Для пейджинации используются параметры page и size: size - заказов на странице, page - номер страницы.
Пример: /api/lite/products?page=0&size=200
Если параметры не переданы, то дефолтные значения page=0&size=100
Также, для отображение пейджинации следует анализировать параметр recordsTotal, возвращающий общее количество записей (с учетом примененной фильтрации, если она есть).
Количество продуктов, выдаваемое за 1 раз, ограничено 100 позициями.
/api/lite/products?page=0&size=100Для получения следующих 100 позиций необходимо в запросе указать следующую страницу, и так далее, до получения всей номенклатуры:
/api/lite/products?page=1&size=100
/api/lite/products?page=2&size=100
...
/api/lite/products?page=6&size=100Общее количество страниц можно определить делением recordsTotal на size
Пример:
"recordsTotal":511,
size=100511 / 100 = 5.11 страниц
Т.е 5 полных страниц по 100 позиций и шестая страница, которая содержит 11 позиций
Сортировка
Для сортировки задается параметр order, принимающий код поля для сортировки и направление сортировки (asc, desc), отделенное символом плюса.
Пример сортировки по имени (возрастание): /api/lite/products?order=shortname+asc
Пример сортировки по имени (убывание): /api/lite/products?order=shortname+desc
Доступные коды сортировки:
- shortname
- article
- price
- amount
Пример вызова с одновременной фильтрацией, пейджинацией и сортировкой:
/api/lite/products?query=Поло&order=shortname+asc&page=0&size=200
Структура ответа:
| Поле | Тип / формат | Описание |
| recordsTotal | num | Общее количество записей в рамках заданной фильтрации. Используется для пейджинации. |
|
products |
array | Перечень товарных предложений |
| id | string | Идентификатор продукта |
| extId | string | Дополнительный идентификатор продукта |
| extId2 | string | Дополнительный идентификатор продукта |
| extId3 | string | Дополнительный идентификатор продукта |
| extId4 | string | Дополнительный идентификатор продукта |
| extId5 | string | Дополнительный идентификатор продукта |
|
shortName |
string | Наименование продукта |
| description | string | Описание (может содержать html) |
| tnvedCode | string | Код ТНВЭД |
| internationalDescription | string | Описание на анлийском |
| additionalDescriptions | array | Блоки с дополнительным текстовым описанием |
| available | boolean | Отображение для продажи в онлайн-магазине |
| deleted | boolean | Архивная карточка |
| type | enum | Тип продукта. SKU/SKUSET/SERVICE. Товар, набор товаров, услуга |
| vat | enum | НДС товара. NO_VAT/VAT_0/VAT_10/VAT_20 |
| reviewScore | decimal | Оценка товара |
| variants | array | Массив вариантов |
| id | string | Уникальный идентификатор варианта. |
| article | string | Артикул (sku) товара |
| price | decimal | Цена продажи |
| oldPrice | decimal | "Старая" цена. Для визуализации скидки. |
|
isFfSynchronised
|
boolean | Статус выгрузки товара на ФФ |
|
ffSyncError
|
string | Ошибка выгрузки товара на ФФ |
|
isPhysicalSet
|
boolean | Является ли товар физическим набором |
|
isFfPhysicalSetSynchronized
|
boolean | Статус выгрузки набора на ФФ |
|
ffPhysicalSetSyncError
|
string | Ошибка выгрузки набора на ФФ |
| prices | object | Список всех присвоенных цен |
| stock | array | Массив данных об остатках (если остатки на складах имеются) |
| warehouseCode | string | Код склада |
| stockTotal | decimal | Текущее количество на складе хранения |
| stockAvailable | decimal | Количество товара, доступного к продаже (stockTotal за минусом резерва) |
| stockReserved | decimal | Количество товара, зарезервированного под заказы. |
| pos | num | Порядковый номер варианта, относительно |
| optionsUsed | array | Массив, указывающий соответствие опции и её значения для конкретного продукта. |
| defaultImage | string | Ссылка на изображение из общего массива изображений. Может быть не задан. |
| weight | decimal | Вес товара |
| dimensions | object | Содержит информацию о размерах |
| barcodes | object | Список штрихкодов товара |
| isDefault | boolean | ШК является по умолчанию |
| value | string | Значение ШК |
| images | array | Массив изображений продукта. Первое изображение считается основным. |
| id | string | Идентификатор изображения |
| url | string | URL изображения |
| pos | decimal | Позиция изображения в рамках продукта |
| collections | array | Массив коллекций, в которые входит продукт |
| id | string | Идентификатор коллекции |
| attributes | array | Массив значений атрибутов продукта |
| code | string | Код атрибута |
| type | enum | Тип атрибута (см. описание атрибутов) |
| stringValue | string | Значение атрибута (строка) |
| decimalValue | decimal | Значение атрибута (число) |
| ordering | decimal | Cортировка |
|
accountingAttributes
|
array | Массив значений атрибутов учета |
|
code
|
string | Код атрибута |
| title | string | Название атрибута |
| stringValue | string | Значение атрибута |
| subscriptionInfo | object | Описание подписок (Не отображается, если пустой) |
Пример результата запроса:
{
"products": [
{
"attributes": [
{
"code": "purpose",
"stringValue": "Универсальный",
"title": "Назначение",
"type": "string"
}
],
"available": true,
"brandName": "CompTech",
"collections": [
"1001",
"1004",
"1012"
],
"countryOfOrigin": "RU",
"deleted": false,
"description": "<p>Описание товара.</p>",
"expirationMode": "NO_EXPIRATION",
"id": "demo1006",
"images": [
{
"id": "57bf535f-89da-4806-90c4-43158fa44bea.jpg",
"pos": "10000.000000000000000",
"success": true,
"url": "https://storage.yandexcloud.net/images-k2c/57bf535f-89da-4806-90c4-43158fa44bea.jpg"
}
],
"internationalDescription": "my description",
"isBestseller": true,
"isNovelty": true,
"shortName": "Компьютер (демо товар)",
"tnvedCode": "56656",
"type": "SKU",
"useBatchAccounting": false,
"variants": [
{
"article": "demo1024",
"barcodes": [
{
"isDefault": false,
"type": "COMMON",
"value": "546546546456"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "9879898999"
},
{
"isDefault": true,
"type": "COMMON",
"value": "879899999"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountPercent": 0,
"id": "1040",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Малый",
"title": "Размер"
}
],
"ordering": "0.000000000000000",
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 5000
},
{
"article": "demo1024",
"autoDimensionsCalculation": false,
"autoPriceCalculation": false,
"barcodes": [
{
"isDefault": false,
"type": "COMMON",
"value": "1122334455"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "789456456"
},
{
"isDefault": true,
"type": "COMMON",
"value": "123456789"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountFix": 0,
"discountPercent": 0,
"id": "demo1024",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Большой",
"title": "Размер"
}
],
"ordering": "1907154.000000000000000",
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 10000
}
],
"vat": "VAT_20"
}
],
"recordsTotal": 1,
"success": true
}
Создание/обновление продукта (POST /api/lite/products)
/api/lite/products
Создает или обновляет продукт.
Если id указан - проводится обновление продукта с указанным id, если не указан - создается новый. Опционально можно передавать список вариантов товара для обновления, в поле variantsToUpdate. Обновление продукта выполняется первым, если успешно - то начинается обновление вариантов.
Этот список не означает, что коллекция вариантов данного продукта будет приведена к виду в переданном списке вариантов. Будет выполнено только обновление указанных вариантов, безотносительно остальных вариантов их продукта.
Если передан список вариантов - то в ответе в поле variantsResult будет список результатов обновления по каждому варианту, для сопоставления на вызывающей стороне (по полям productId + variantId)
| Поле | Тип / формат |
Описание |
| id | string |
Идентификатор продукта. Если не указан, создается новый продукт. Если указан, обновляется продукт с данным id. |
| extId | string | Дополнительный идентификатор продукта |
| shortName | string | Наименование продукта |
| description | string | Описание (может содержать html) |
| tnvedCode | string | Код ТНВЭД |
| internationalDescription | string | Описание на анлийском |
| available | boolean | Отображение для продажи в онлайн-магазине |
| deleted | boolean | Архивная карточка |
| type | enum | Тип продукта. SKU/SKUSET/SERVICE. Товар, набор товаров, услуга |
| vat | enum | НДС товара. NO_VAT/VAT_0/VAT_10/VAT_20 |
| collections | array | Массив идентификаторов коллекций, в который входит данный продукт |
| attributes | array | Массив значений атрибутов продукта |
| code | string | Код атрибута |
| stringValue | string | Значение атрибута (строка) |
| decimalValue | decimal | Значение атрибута (число) |
| accountingAttributes | array | Массив значений атрибутов учета |
| code | string | Код атрибута |
| stringValue | string | Значение атрибута |
| variantsToUpdate | объект | Объект варианта товара (см. POST /api/lite/products/variants) |
Пример вызова:
{
"id": "demo1006",
"attributes": [
{
"code": "purpose",
"stringValue": "Универсальный"
}
],
"available": true,
"brandName": "CompTech",
"countryOfOrigin": "RU",
"deleted": false,
"description": "<p>Описание товара.</p>",
"expirationMode": "NO_EXPIRATION",
"images": [
{
"id": "57bf535f-89da-4806-90c4-43158fa44bea.jpg",
"pos": "10000.000000000000000",
"success": true,
"url": "https://storage.yandexcloud.net/images-k2c/57bf535f-89da-4806-90c4-43158fa44bea.jpg"
}
],
"internationalDescription": "my description",
"isBestseller": true,
"isNovelty": true,
"shortName": "Компьютер (демо товар)",
"tnvedCode": "56656",
"type": "SKU",
"useBatchAccounting": false,
"vat": "VAT_20",
"accountingAttributes": null,
"expirationDaysLimit": null,
"variantsToUpdate": [
{
"article": "demo1024",
"barcodes": [
{
"isDefault": true,
"type": "COMMON",
"value": "879899999"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "9879898999"
},
{
"isDefault": false,
"type": "COMMON",
"value": "546546546456"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountPercent": 0,
"id": "1040",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Малый",
"title": "Размер"
}
],
"ordering": 0,
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 5000,
"unsaved": true,
"variantId": "1040",
"productId": "demo1006"
}
]
}
Пример положительного ответа:
{
"id": "demo1006",
"product": {
"attributes": [
{
"code": "purpose",
"stringValue": "Универсальный",
"title": "Назначение",
"type": "string"
}
],
"available": true,
"brandName": "CompTech",
"collections": [
"1001",
"1004",
"1012"
],
"countryOfOrigin": "RU",
"deleted": false,
"description": "<p>Описание товара.</p>",
"expirationMode": "NO_EXPIRATION",
"id": "demo1006",
"images": [
{
"id": "57bf535f-89da-4806-90c4-43158fa44bea.jpg",
"pos": "10000.000000000000000",
"success": true,
"url": "https://storage.yandexcloud.net/images-k2c/57bf535f-89da-4806-90c4-43158fa44bea.jpg"
}
],
"internationalDescription": "my description",
"isBestseller": true,
"isNovelty": true,
"shortName": "Компьютер (демо товар)",
"tnvedCode": "56656",
"type": "SKU",
"useBatchAccounting": false,
"variants": [
{
"article": "demo1024",
"barcodes": [
{
"isDefault": true,
"type": "COMMON",
"value": "879899999"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "9879898999"
},
{
"isDefault": false,
"type": "COMMON",
"value": "546546546456"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountPercent": 0,
"id": "1040",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Малый",
"title": "Размер"
}
],
"ordering": "1.000000000000000",
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 6000
},
{
"article": "demo1024",
"autoDimensionsCalculation": false,
"autoPriceCalculation": false,
"barcodes": [
{
"isDefault": false,
"type": "COMMON",
"value": "1122334455"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "789456456"
},
{
"isDefault": true,
"type": "COMMON",
"value": "123456789"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountFix": 0,
"discountPercent": 0,
"id": "demo1024",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Большой",
"title": "Размер"
}
],
"ordering": "1907154.000000000000000",
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 10000
}
],
"vat": "VAT_20"
},
"success": true,
"variantsResult": [
{
"productId": "demo1006",
"success": true,
"variantId": "1040"
}
]
}
Пример положительного ответа с ошибкой сохранения по указанному варианту:
{
"id": "demo1006",
"product": {
"attributes": [
{
"code": "purpose",
"stringValue": "Универсальный",
"title": "Назначение",
"type": "string"
}
],
"available": true,
"brandName": "CompTech",
"collections": [
"1001",
"1004",
"1012"
],
"countryOfOrigin": "RU",
"deleted": false,
"description": "<p>Описание товара.</p>",
"expirationMode": "NO_EXPIRATION",
"id": "demo1006",
"images": [
{
"id": "57bf535f-89da-4806-90c4-43158fa44bea.jpg",
"pos": "10000.000000000000000",
"success": true,
"url": "https://storage.yandexcloud.net/images-k2c/57bf535f-89da-4806-90c4-43158fa44bea.jpg"
}
],
"internationalDescription": "my description",
"isBestseller": true,
"isNovelty": true,
"shortName": "Компьютер (демо товар)",
"tnvedCode": "56656",
"type": "SKU",
"useBatchAccounting": false,
"variants": [
{
"article": "demo1024",
"barcodes": [
{
"isDefault": true,
"type": "COMMON",
"value": "879899999"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "9879898999"
},
{
"isDefault": false,
"type": "COMMON",
"value": "546546546456"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountPercent": 0,
"id": "1040",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Малый",
"title": "Размер"
}
],
"ordering": "1.000000000000000",
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 6000
},
{
"article": "demo1024",
"autoDimensionsCalculation": false,
"autoPriceCalculation": false,
"barcodes": [
{
"isDefault": false,
"type": "COMMON",
"value": "1122334455"
},
{
"isDefault": false,
"type": "WILDBERRIES",
"value": "789456456"
},
{
"isDefault": true,
"type": "COMMON",
"value": "123456789"
}
],
"dimensions": {
"depth": 30,
"height": 60,
"width": 100
},
"discountFix": 0,
"discountPercent": 0,
"id": "demo1024",
"isFfPhysicalSetSynchronized": false,
"isFfSynchronised": true,
"isPhysicalSet": false,
"oldPrice": 0,
"optionsUsed": [
{
"code": "size",
"stringValue": "Большой",
"title": "Размер"
}
],
"ordering": "1907154.000000000000000",
"price": 20000,
"prices": [
{
"priceCode": "Розничная цена",
"priceName": "Розничная цена",
"value": 20000
},
{
"priceCode": "Цена до скидки",
"priceName": "Цена до скидки",
"value": 0
}
],
"stock": [
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "403d7712-19df-ca7c-9e76-54d7dc5888b2"
},
{
"stockAvailable": 0,
"stockDefective": 0,
"stockDefectiveReserved": 0,
"stockReserved": 0,
"stockTotal": 0,
"warehouseCode": "8d7dfb79-fbf1-e999-1310-403dc30c7c28"
}
],
"type": "SKU",
"vat": "VAT_20",
"weight": 10000
}
],
"vat": "VAT_20"
},
"success": true,
"variantsResult": [
{
"success": false,
"errors": [
{
"code": 0,
"message": "Вариант с указанным id не найден"
}
],
"productId": "1002",
"variantId": "100343"
}
]
}
Пример отрицательного ответа:
{
"errors": [
{
"code": 0,
"message": "Не найден продукт с указанным id demo1454545006"
}
],
"success": false
}
Копирование продукта
/api/lite/products/copy
id - код существующего продукта для копирования
Запрос
{
"id": "1234"
}
Пример успешного ответа
{
"success": true,
"id": "1234-copy"
}
В случае ошибки:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}