/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, возвращающий общее количество записей (с учетом примененной фильтрации, если она есть).
Сортировка
Для сортировки задается параметр 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
}{
"id": "1234"
}
Копирование продукта
/api/lite/products/copy
id - код существующего продукта для копирования
Запрос
{
"id": "1234"
}
Пример успешного ответа
{
"success": true,
"id": "1234-copy"
}
В случае ошибки:
{
"success": false,
"errors": [
{
"code": 0,
"message": "Текст ошибки"
}
]
}