Перейти к основному контенту

/api/lite/products

Запрос списка продуктов (GET /api/lite/products)

/api/lite/products

Метод возвращает перечень всех продуктов / товарных предложений (активных и неактивных).

Продукт всегда содержит хотя бы один вариант.

Правильно рассматривать Продукт - как виртуальную сущность (группу), а вариант - как физический товар. В рамках одного Продукта может быть несколько Вариантов (например, различные цвета и размеры).

Каждый Вариант имеет набор Опций, характеризующих именно этот вариант (например Цвет=blue, Размер=XL). Не может существовать более одного Варианта с одинаковым набором Опций.

 

Фильтрация по полям товара

Можно задавать фильтр параметром ?query=test - для фильтрации по полям article, humanId, shortName, fullName, description

Дополнительно можно фильтровать по конкректному продукту параметром ?id=1000

Имеется поддержка фильтрации и по другим полям:

  • по Id варианта - ?variantId=1001
  • по ШК (штрихкоду товара) - ?barcode=0000000000001

 

Фильтрация по фильтрам, атрибутам, вариантам товара

Фронтенд при выборе покупателем значений тех или иных фильтров должен составить поисковый 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

Максимальное количество продуктов - 100. Даже если указано значение более 100

Также, для отображение пейджинации следует анализировать параметр recordsTotal, возвращающий общее количество записей (с учетом примененной фильтрации, если она есть).

Сортировка

Для сортировки задается параметр order, принимающий код поля для сортировки и направление сортировки (asc, desc), отделенное символом плюса.

Пример сортировки по имени (возрастание): /api/lite/products?order=shortname+asc

Пример сортировки по имени (убывание): /api/lite/products?order=shortname+desc

Доступные коды сортировки:

  • короткое имя
  • статья
  • цена
  • количество
  • stockUpdateFrom

Пример вызова с одновременной фильтрацией, пейджинацией и сортировкой:

/api/lite/products?query=Поло&order=shortname+asc&page=0&size=200

Структура ответа:

Поле Тип / формат Описание
всего записей в Общее количество записей в рамках заданной фильтрации. Используется для пейджинации.

продукты

множество Перечень товарных предложений
идентификатор нить Идентификатор продукта
extId нить Дополнительный идентификатор продукта
extId2 нить Дополнительный идентификатор продукта
extId3 нить Дополнительный идентификатор продукта
extId4 нить Дополнительный идентификатор продукта
extId5 нить Дополнительный идентификатор продукта

короткое имя

нить Название продукта
описание нить Описание (может содержать html)
tnvedCode нить код TNVED
международное описание нить Описание на анлийском
дополнительные описания множество Блоки с дополнительным текстовым описанием
доступный логический Отображение для продажи в онлайн-магазине
boxNeeded логический Требуется обрешётка (при отгрузке товара)
удалено логический Архивная карточка
тип перечисление Тип продукта.
SKU - Товар
PHYSICAL_SET - физический комплект
SERVICE- услуга
BUNDLE - виртуальный набор
PACKING_MATERIAL_BOXES - упаковочные материалы клиента - короба
PACKING_MATERIAL_ATTACHMENT - упаковочные материалы клиента - вложения
PACKING_MATERIAL_OTHER - упаковочные материалы клиента - другие материалы
COMMON_PACKING_MATERIAL - упаковочные материалы фулфилмент
НДС перечисление НДС товара. NO_VAT/VAT_0/VAT_10/VAT_20
reviewScore десятичная дробь Оценка товара
варианты множество Массив вариантов
идентификатор нить Уникальный идентификатор варианта.
статья нить Артикул (sku) товара
цена десятичная дробь Цена продажи
старая цена десятичная дробь "Старая" цена. Для визуализации скидки. 
isFfSynchronised
логический Статус выгрузки товара на ФФ
ffSyncError
нить Ошибка выгрузки товара на ФФ
isPhysicalSet
логический Является ли товар физическим набором
isFfPhysicalSetSynchronized
логический Статус выгрузки набора на ФФ
ffPhysicalSetSyncError
нить Ошибка выгрузки набора на ФФ
скидка в процентах
десятичная дробь Скидка, в процентах
discountFix
десятичная дробь Скидка, фикс
bundleOptionalCount
в Размер опциональной части набора для выбора
авторасчет цены
логический Авторасчет цены набора
автоматический расчет размеров
логический Авторасчет габаритов набора
цены объект Список всех присвоенных цен
запас множество Массив данных об остатках (если остатки на складах имеются)
taggedProductsStock
множество Массив данных об остатках по тегам (если остатки на складах имеются)
код склада нить Код склада
stockTotal десятичная дробь Текущее количество на складе хранения
наличие товара десятичная дробь Количество товара, доступного к продаже (stockTotal за минусом резерва)
stockReserved десятичная дробь Количество товара, зарезервированного под заказы.
поз в Порядковый номер варианта, относительно 
optionsUsed множество Массив, указывающий соответствие опции и её значения для конкретного продукта. 
defaultImage нить Ссылка на изображение из общего массива изображений. Может быть не задан.
масса десятичная дробь Вес товара
размеры объект Содержит информацию о размерах
весФакт десятичная дробь Вес товара (по данным склада)
размерыФакт
объект Содержит информацию о размерах (по данным склада)
canBeRotated
логический Определяет можно ли товар укладывать на бок при перевозке
штрихкоды объект Список штрихкодов товара
isDefault логический ШК является по умолчанию
ценить нить Значение SHC
изображения множество Массив изображений продукта. Первое изображение считается основным.
идентификатор нить Идентификатор изображения
url нить URL изображения
поз десятичная дробь Позиция изображения в рамках продукта
коллекции множество Массив коллекций, в которые входит продукт
идентификатор нить Идентификатор коллекции
атрибуты множество Массив значений атрибутов продукта
код нить Код атрибута
тип перечисление Тип атрибута (см. описание атрибутов)
stringValue нить Значение атрибута (строка)
decimalValue десятичная дробь Значение атрибута (число)
заказ десятичная дробь Cортировка
атрибуты учета
множество Массив значений атрибутов учета
код
нить Код атрибута
заголовок нить Название атрибута
stringValue нить Значение атрибута
Информация о подписке объект Описание подписок (Не отображается, если пустой)
eshopSettings
множество Массив внешних кодов для интеграций
eshopId
нить ID интеграции
eshopType
нить Тип интеграции
eshopName
нить Название интеграции
включено
логический Включает товар для интеграции
zeroStock логический Включает выгрузку нулевых остатков по товару
extId
нить Внешний код товара для интеграции
useBatchAccounting логический

Флаг использования партионного учета

Для ведения учёта сроков годности в партиях необходимо также передать значение USE_EXPIRATION в поле expirationMode и указать срок годности товара в поле expirationMonthsLimit

expirationMode перечисление NO_EXPIRATION, USE_EXPIRATION - использование сроков годности в партиях
expirationMonthsLimit целое число Срок годности в мес
произведено компанией нить Производитель
композиция нить Состав продукта
гарантия целое число Срок гарантии в мес
warehouseCategoryCode
нить Код категории товара (из WMS)
warehouseCategoryTitle
нить Наименование категории товара (из WMS)
ярлык
нить Тег, присвоенный товару

 

Пример результата запроса:

{
    "success": true,
    "recordsTotal": 1,
    "products": [
        {
            "id": "1000",
            "extId": null,
          	"extId2": null,
            "extId3": null,
            "extId4": null,
            "extId5": null,
            "shortName": "Кактус Эуфобия Триангуларис",
            "description": "Кактус Эуфобия Триангуларис",
            "tnvedCode": "123",
            "internationalDescription": "abc",
            "additionalDescriptions":[{"title":"some title", "description":"some description"}],
            "available": true,
            "deleted": false,
            "brandName": null,
            "countryOfOrigin": null,
            "isBestseller": null,
            "isNovelty": null,
            "type": "SKU",
            "vat": "VAT_20",
            "reviewScore": 4.0,
            "options": null,
            "images": null,
          	"useBatchAccounting": true,
            "expirationMode": "USE_EXPIRATION",
            "expirationMonthsLimit": 6,
          	"warranty": 12,
            "warehouseCategoryCode": "000000001",
            "warehouseCategoryTitle": "Парфюмерия"
          	"manufacturedBy": "Название производителя",
            "composition": "Состав",            
            "variants": [
                {
                    "id": "1000",
                    "extId": null,
                  	"extId2": null,
                    "extId3": null,
                    "extId4": null,
                    "extId5": null,
                    "article": null,
                    "price": 2190,
                    "oldPrice": 1590,
                    "isFfSynchronised": true,
                    "ffSyncError": null,
                    "isPhysicalSet": false,
                    "isFfPhysicalSetSynchronized": false,
                    "ffPhysicalSetSyncError": null,
                  	"discountPercent": 0,
                    "discountFix": 0,
                    "bundleOptionalCount": 0,
                    "autoPriceCalculation": false,
                    "autoDimensionsCalculation": false,
                  	"prices":[
                        {
                           "priceCode":"Розничная цена",
                           "priceName":"Розничная цена",
                           "value":2190
                        },
                      	{
                           "priceCode":"Цена до скидки",
                           "priceName":"Цена до скидки",
                           "value":1590
                        }
                     ],
                    "stock": [
                        {
                            "warehouseCode": "9a84e96f-3e8c-8f74-3b7a-50a1d3c2a130",
                            "stockTotal": 111,
                            "stockAvailable": 111,
                            "stockReserved": 0
                        }
                    ],
                    "taggedProductsStock": [
                        {
                            "outOfStock": 0,
                            "stockAvailable": 10,
                            "stockDefective": 0,
                            "stockDefectiveReserved": 0,
                            "stockReserved": 0,
                            "stockTotal": 10,
                            "tag": "ROZNECHNIE_SETY",
                            "warehouseCode": "9a84e96f-3e8c-8f74-3b7a-50a1d3c2a130"
                        }
                     ],
                    "ordering": "123.000000000000000",
                    "defaultImage": null,
                    "weight": 500,
                    "dimensions": {
                        "height": 4,
                        "width": 20,
                        "depth": 4
                    },
                    "weightFact": 500,
                    "dimensionsFact": {
                        "height": 4,
                        "width": 20,
                        "depth": 4
                    },
                    "canBeRotated": true,
                    "barcodes": [
                        {
                            "value": "42353456345345",
                            "isDefault": true,
                            "type": "COMMON"
                        },
                        {
                            "value": "34234232343",
                            "isDefault": false,
                          	"type": "WILDBERRIES"
                        }
                    ],                 
                    "optionsUsed": null,
                  	"eshopSettings": [
                        {
                            "eshopId": "e4a1920d-f154-7284-bad4-a7b9546032fe",
                            "eshopType": "BERU",
                            "eshopName": "Магазин на Беру",
                            "enabled": true,
                          	"zeroStock": false,
                            "extId": "variant-ext-id-for-beru"
                        }
                    ]
                }
            ],
            "collections": [
                "1001"
            ],
            "attributes": null,
            "accountingAttributes": [
                {
                    "code": "chestnyznak",
                    "title": "Честный знак",
                    "stringValue": "11111"
                }
            ],
          	"eshopSettings": [
                {
                  "eshopId": "e4a1920d-f154-7284-bad4-a7b9546032fe",
                  "eshopType": "BERU",
                  "eshopName": "Магазин на Беру",
                  "enabled": true,
                  "extId": "product-ext-id-for-beru"
                }
            ]
          	"subscriptionInfo": {
              "productId": "1002",
              "variantId": "1002",
              "onlinePaymentType": "recurrent",
              "type": "SUBSCRIPTION",
              "useShipmentDelayInterval": true,
              "items": [
                  {
                      "productId": "1002",
                      "variantId": "1006",
                      "count": 1,
                      "subscriptionShipmentNum": 1,
                      "shipmentDelayIntervalDays": 30,
                      "subscriptionStartDate": "2020-09-10",
                      "itemPrice": 120.0
                  },
                  {
                      "productId": "1002",
                      "variantId": "1007",
                      "count": 1,
                      "subscriptionShipmentNum": 1,
                      "shipmentDelayIntervalDays": 30,
                      "subscriptionStartDate": "2020-09-10",
                      "itemPrice": 120.0
                  },
                  {
                      "productId": "1002",
                      "variantId": "1008",
                      "count": 1,
                      "subscriptionShipmentNum": 2,
                      "shipmentDelayIntervalDays": 20,
                      "subscriptionStartDate": "2020-09-30",
                      "itemPrice": 150.0
                  },
                  {
                      "productId": "1002",
                      "variantId": "1009",
                      "count": 1,
                      "subscriptionShipmentNum": 2,
                      "shipmentDelayIntervalDays": 20,
                      "subscriptionStartDate": "2020-09-30",
                      "itemPrice": 150.0
                  },
                  {
                      "productId": "1002",
                      "variantId": "1010",
                      "count": 1,
                      "subscriptionShipmentNum": 3,
                      "shipmentDelayIntervalDays": 20,
                      "subscriptionStartDate": "2020-10-20",
                      "itemPrice": 250.0
                    }
                   ]
                }
          }
        }
    ]
}

Выгружать только остатки (специальный режим выгрузки)

Дополнительно можно передать параметр ?only_stock=true. Если он присутствует в запросе, то выгружается минимально необходимое кол-во полей.

Пример:/api/lite/products?only_stock=true

Максимальное количество продуктов в режиме остатков - 1000. Даже если указано значение более 1000

Пример результата запроса(режим остатков):

{
    "success": true,
    "recordsTotal": 1322,
    "products": [
        {
            "id": "1000",
            "extId": null,
            "extId2": null,
            "extId3": null,
            "extId4": null,
            "extId5": null,
            "variants": [
                {
                    "id": "1000",
                    "extId": null,
                    "extId2": null,
                    "extId3": null,
                    "extId4": null,
                    "extId5": null,
                    "stock": [
                        {
                            "warehouseCode": "5a93f7e7-4785-0332-8324-bf3a03ee8211",
                            "stockTotal": 10,
                            "stockAvailable": 8,
                            "stockReserved": 2,
                            "stockDefective": 0,
                            "stockDefectiveReserved": 0
                        }
                    ],
                    "taggedProductsStock": [
                        {
                            "outOfStock": 0,
                            "stockAvailable": 10,
                            "stockDefective": 0,
                            "stockDefectiveReserved": 0,
                            "stockReserved": 0,
                            "stockTotal": 10,
                            "tag": "ROZNECHNIE_SETY",
                            "warehouseCode": "5a93f7e7-4785-0332-8324-bf3a03ee8211"
                        }
                     ]
                }
            ]
        }
    ]
}

 

 

Создание/обновление продукта (POST /api/lite/products)

/api/lite/products

Создает или обновляет продукт.

Если id указан - проводится обновление продукта с указанным id, если не указан - создается новый.

Если проводится обновление продукта (или варианта) - то обновляются все поля на те, что переданы. Если какие то поля в продукте были непустые, а в запросе они не переданы - то после обновления поля очищаются.

Опционально можно передавать список вариантов товара для обновления, в поле variantsToUpdate. Обновление продукта выполняется первым, если успешно - то начинается обновление вариантов.

Этот список не означает, что коллекция вариантов данного продукта будет приведена к виду в переданном списке вариантов. Будет выполнено только обновление указанных вариантов, безотносительно остальных вариантов их продукта.

Если передан список вариантов - то в ответе в поле variantsResult будет список результатов обновления по каждому варианту, для сопоставления на вызывающей стороне (по полям productId + variantId)

Поле Тип / формат

Описание

идентификатор нить

Идентификатор продукта. Если не указан, создается новый продукт. Если указан, обновляется продукт с данным id или создаётся новый продукт с пользовательским id.

extId нить Дополнительный идентификатор продукта
короткое имя нить Название продукта
описание нить Описание (может содержать html)
tnvedCode нить код TNVED
международное описание нить Описание на анлийском
доступный логический Отображение для продажи в онлайн-магазине
удалено логический Архивная карточка
тип перечисление Тип продукта. SKU/PHYSICAL_SET/SERVICE.    Товар, набор товаров, услуга
НДС перечисление НДС товара. NO_VAT/VAT_0/VAT_10/VAT_20
коллекции множество Массив идентификаторов коллекций, в который входит данный продукт
атрибуты множество Массив значений атрибутов продукта
код нить Код атрибута
stringValue нить Значение атрибута (строка)
decimalValue десятичная дробь Значение атрибута (число)
атрибуты учета множество Массив значений атрибутов учета
код нить Код атрибута
stringValue нить Значение атрибута
eshopSettings
множество Массив внешних кодов для интеграций
eshopId
нить ID интеграции
включено логический Включает товар для интеграции
extId
нить Внешний код продукта для интеграции
вариантыОбновить объект Объект варианта товара (см. POST /api/lite/products/variants)
warehouseCategoryCode нить Код категории товара (из WMS)
parentPackageId нить Родительский вариант для монокороба
множественность нить Кратность монокороба

 

Пример вызова:

Пример запроса № 1.
!!!Внимание!!! Данный запрос будет успешен только в том случае, если предварительно был добавлен атрибут "material" и
accountingAttributes "chestnyznak".
{
      "id": "1015",
      "extId": "FAQ-D-000112",
      "extId2": null,
      "extId3": null,
      "extId4": null,
      "extId5": null,
      "shortName": "Limited Edition Паста (помада) для укладки волос Bro Cosmetics // средняя фиксация, матовый эффект",
      "description": "Limited Edition Паста (помада) для укладки волос Bro Cosmetics // средняя фиксация, матовый эффект",
  	  "additionalDescriptions":[{"title":"some title", "description":"some description"}],
      "available": true,
      "deleted": false,
      "brandName": null,
      "countryOfOrigin": null,
      "tnvedCode": "123",
      "internationalDescription": "abc",
      "isBestseller": null,
      "isNovelty": null,
      "type": "SKU",
      "vat": "NO_VAT",
      "warehouseCategoryCode": "000000001",
    "collections": [
        "1029",
        "1031"
    ], 
    "attributes": [
        {
            "code": "material",        
            "stringValue": "Хлопок 97%, эластан 3%"        
        }
    ],
    "accountingAttributes": [
        {
          "code": "chestnyznak",
          "stringValue": "11111"
        }
    ],
  	"eshopSettings": [
        {
          "eshopId": "e4a1920d-f154-7284-bad4-a7b9546032fe",
          "enabled": true,
          "extId": "product-ext-id-for-beru"
        }
    ],
    "variantsToUpdate": [
            {
                    "productId":"1002",
                    "variantId": "1007",
              		"extId": null,
                    "extId2": null,
                    "extId3": null,
                    "extId4": null,
                    "extId5": null,
                    "article": "well done",
                    "price": 6000, //deprecated
                    "oldPrice": 6500, //deprecated
              		"prices":[
                        {
                           "priceCode":"Розничная цена",
                           "value":6000
                        },
                      	{
                           "priceCode":"Цена до скидки",
                           "value":6500
                        }
                     ],
                    "stock": [
                        {
                           "warehouseCode": "9a84e96f-3e8c-8f74-3b7a-50a1d3c2a130",                         
                           "stockTotal": 111                          
                        }
                    ],
                    "updateStockTotal": true,                  
                    "ordering": "300.000000000000000",
                    "defaultImage": null,
                    "weight": 500,
                    "dimensions": {
                        "height": 30,
                        "width": 31,
                        "depth": 32
                    },
                    "canBeRotated": true,
                    "optionsUsed": [
                        {
                            "code": "color",
                            "stringValue": "синий",
                            "decimalValue": null,
                            "name": "Цвет"
                        }
                    ],
                    "eshopSettings": [
                        {
                          "eshopId": "e4a1920d-f154-7284-bad4-a7b9546032fe",
                          "enabled": true,
                          "extId": "variant-ext-id-for-beru"
                        }
                    ],
              		"discountType": "PERCENT", // FIX
              		"discountValue": 50
                }
        ]
}

Пример запроса №2.

{    
    "shortName": "Товар для демострации",
    "description": "Здесь указывается описание товара. Его свойства, назначение, и прочие данные.",
    "available": true,
    "brandName": "Здесь указывается бренд товара",
    "deleted": false,
    "tnvedCode": "1234567890",
    "internationalDescription": "abc1231AФФ",
    "vat": "NO_VAT",
    "type": "SKU",
    "attributes": null,
    "accountingAttributes": null,
    "countryOfOrigin": "RU",
    "useBatchAccounting": true,
    "expirationDaysLimit": null,
    "expirationMode": "USE_EXPIRATION",
    "expirationMonthsLimit": "36",
    "composition": "Состав продукта.",
    "manufacturedBy": "Производитель",
    "warranty": "6"
    }



Пример положительного ответа:

В зависимости от состояния конфига needApiProductsReturnDetails в настройках аккаунта(http://app.kak2c.ru/#!settings/lite) есть два варианта ответа: развернутый и сокращенный. Время выполнения сокращенного ответа значительно меньше, что позволяет загружать товары большими массивами. По умолчанию новые аккаунты создаются с сокращенным вариантом ответа.
Пример сокращенного ответа:
{
    "success": true,
    "id": "1002"
}
Пример развернутого ответа:
{
    "success": true,
    "id": "1002",
    "product": {
        "id": "1002",
        "extId": "FAQ-D-000112",
        "extId2": null,
        "extId3": null,
        "extId4": null,
        "extId5": null,
        "shortName": "Limited Edition Паста (помада) для укладки волос Bro Cosmetics // средняя фиксация, матовый эффект",
        "description": "Limited Edition Паста (помада) для укладки волос Bro Cosmetics // средняя фиксация, матовый эффект",
      	"additionalDescriptions":[{"title":"some title", "description":"some description"}],
        "available": true,
        "deleted": false,
        "brandName": null,
        "countryOfOrigin": null,
        "tnvedCode": "123",
        "internationalDescription": "abc",
        "isBestseller": null,
        "isNovelty": null,
        "type": "SKU",
        "vat": "NO_VAT",
        "reviewScore": null,
        "options": null,
        "images": null,
        "variants": [
            {
                "productId":"1002",
                "variantId": "1007",
              	"extId": null,
                "extId2": null,
                "extId3": null,
                "extId4": null,
                "extId5": null,
                "article": "well done",
                "price": 6000,
                "oldPrice": 6500,
              	"prices":[
                        {
                           "priceCode":"Розничная цена",
                           "priceName":"Розничная цена",
                           "value":6000
                        },
                      	{
                           "priceCode":"Цена до скидки",
                           "priceName":"Цена до скидки",
                           "value":6500
                        }
                     ],
                "stock": [
                        {
                            "warehouseCode": "9a84e96f-3e8c-8f74-3b7a-50a1d3c2a130",
                            "stockTotal": 111,
                            "stockAvailable": 111,
                            "stockReserved": 0
                        }
                    ],
                "ordering": "300.000000000000000",
                "defaultImage": null,
                "weight": 500,
                "dimensions": {
                    "height": 30,
                    "width": 31,
                    "depth": 32
                },
                "barcodes": null,
                "vat": "NO_VAT",
                "type": "SKU",
                "optionsUsed": [
                    {
                        "code": "color",
                        "stringValue": "синий",
                        "decimalValue": null,
                        "name": "Цвет"
                    }
                ]
            }
        ],
        "collections": [
            "1029",
            "1031"
        ], 
        "attributes": [
            {
                "code": "material",        
                "stringValue": "Хлопок 97%, эластан 3%"        
            }
        ],
        "accountingAttributes": [
            {
              "code": "chestnyznak",
              "title": "Честный знак",
              "stringValue": "11111"
            }
        ],
    },
    "variantsResult": [
        {
            "success": true,
            "productId": "1002",
            "variantId": "1003"
        }
    ]
}

 

Пример положительного ответа с ошибкой сохранения по указанному варианту:

Пример ответа
{
    "success": true,
    "id": "1002",
    "variantsResult": [
        {
            "success": false,
            "errors": [
                {
                    "code": 0,
                    "message": "Вариант с указанным id не найден"
                }
            ],
            "productId": "1002",
            "variantId": "100343"
        }
    ],
    "product": {
        "id": "1002",
        "extId": "FAQ-D-000112",
      	"extId2": null,
        "extId3": null,
        "extId4": null,
        "extId5": null,
        "shortName": "Limited Edition Паста (помада) для укладки волос Bro Cosmetics // средняя фиксация, матовый эффект",
        "description": "Limited Edition Паста (помада) для укладки волос Bro Cosmetics // средняя фиксация, матовый эффект",
        "available": true,
        "deleted": false,
        "brandName": null,
        "countryOfOrigin": null,
        "tnvedCode": "123",
        "internationalDescription": "abc",
        "isBestseller": null,
        "isNovelty": null,
        "type": "SKU",
        "vat": "NO_VAT",
        "reviewScore": null,
        "options": null,
        "images": null,
        "variants": [
            {
                "productId":"1002",
                "variantId": "1007",
               	"extId": null,
                "extId2": null,
                "extId3": null,
                "extId4": null,
                "extId5": null,
                "article": "well done",
                "price": 6000,
                "oldPrice": 6500,
                "stock": [
                        {
                            "warehouseCode": "9a84e96f-3e8c-8f74-3b7a-50a1d3c2a130",
                            "stockTotal": 111,
                            "stockAvailable": 111,
                            "stockReserved": 0
                        }
                    ],
                "ordering": "300.000000000000000",
                "defaultImage": null,
                "weight": 500,
                "dimensions": {
                    "height": 30,
                    "width": 31,
                    "depth": 32
                },
                "barcodes": null,
                "vat": "NO_VAT",
                "type": "SKU",
                "optionsUsed": [
                    {
                        "code": "color",
                        "stringValue": "синий",
                        "decimalValue": null,
                        "name": "Цвет"
                    }
                ]
            }
        ],
        "collections": [
            "1029",
            "1031"
        ], 
        "attributes": [
            {
                "code": "material",        
                "stringValue": "Хлопок 97%, эластан 3%"        
            }
        ],
        "accountingAttributes": [
            {
              "code": "chestnyznak",
              "title": "Честный знак",
              "stringValue": "11111"
            }
        ],
    }
}

Пример вызова c изменением карточки монокороба:

Пример запроса

{
    "dimensions": {
        "width": "11",
        "height": "11",
        "depth": "5"
    },
    "id": "566335465",
    "isFfPhysicalSetSynchronized": false,
    "isFfSynchronised": true,
    "isPhysicalSet": false,
    "marginParams": {
        "marketplaceCosts": []
    },
    "multiplicity": 5,
    "parentPackageId": "566335464",
    "shortName": "test (Короб 5 шт, test monokorob)",
    "stock": [
        {
            "outOfStock": 0,
            "stockAvailable": 0,
            "stockDefective": 0,
            "stockDefectiveReserved": 0,
            "stockExpired": 0,
            "stockReserved": 0,
            "stockTotal": 0,
            "warehouseCode": "21ad85be-09a9-c4f8-72e1-4976f9d5bda6"
        },
        {
            "outOfStock": 0,
            "stockAvailable": 0,
            "stockDefective": 0,
            "stockDefectiveReserved": 0,
            "stockExpired": 0,
            "stockReserved": 0,
            "stockTotal": 0,
            "warehouseCode": "6a50a3fe-29b6-42d7-2be0-a19a01d1f288"
        },
        {
            "outOfStock": 0,
            "stockAvailable": 0,
            "stockDefective": 0,
            "stockDefectiveReserved": 0,
            "stockExpired": 0,
            "stockReserved": 0,
            "stockTotal": 0,
            "warehouseCode": "9c639eca-7c7d-9231-5c1c-fbc3a84ac7f9"
        },
        {
            "outOfStock": 0,
            "stockAvailable": 0,
            "stockDefective": 0,
            "stockDefectiveReserved": 0,
            "stockExpired": 0,
            "stockReserved": 0,
            "stockTotal": 0,
            "warehouseCode": "a25965c4-06bd-9691-d468-1221371f1e71"
        }
    ],
    "type": "SKU",
    "vat": "VAT_0",
    "prices": [
        {
            "priceCode": "Розничная цена",
            "priceName": "Розничная цена",
            "value": 0
        },
        {
            "priceCode": "Цена до скидки",
            "priceName": "Цена до скидки",
            "value": 0
        }
    ],
    "weight": 1000,
    "weightType": "kg",
    "barcodes": [],
    "updateStockTotal": false,
    "eshopSettings": [],
    "productId": "1256635834",
    "isArchived": false,
    "variantId": "566335465"
}

Обновление отдельных полей продукта (PATCH /api/lite/products)

/api/lite/products

Обновляет одно или несколько полей продукта, значения отсутствующих в запросе полей при этом не изменяются.

Тело запроса аналогично POST /api/lite/products

id - необходимо указывать обязательно

Пример вызова:

Пример запроса
{
      "id": "1015",
      "shortName": "Limited Edition Паста (помада) для укладки волос",
  	  "internationalDescription": "abc"
}

ответ аналогичен POST /api/lite/products

 

Копирование продукта

/api/lite/products/copy

id - код существующего продукта для копирования

 

Запрос

{
     "id": "1234"            
}

 

Пример успешного ответа

{
    "success": true,
    "id": "1234-copy"
}

В случае ошибки:

{
    "success": false,
    "errors": [
        {
            "code": 0,
            "message": "Текст ошибки"
        }
    ]  
}