Product Management (products)
Manage content, prices and stocks
Products parent categories{{ /content/v2/object/parent/all }}
Authorizations:
query Parameters
locale | string Example: locale=en Product name language ( |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "Электроника",
- "id": 479,
- "isVisible": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Subjects list{{ /content/v2/object/all }}
Authorizations:
query Parameters
locale | string Example: locale=en Response language (ru, en, zh) |
name | string Example: name=Socks Search by product name (any supported language) |
limit | integer Default: 30 Example: limit=1000 Number of search results, maximum 1,000 |
offset | integer Default: 0 Example: offset=5000 How many results to skip |
parentID | integer Example: parentID=1000 Parent category ID |
Responses
Response samples
- 200
- 401
- 429
{- "data": [
- {
- "subjectID": 2560,
- "parentID": 479,
- "subjectName": "3D очки",
- "parentName": "Электроника"
}, - {
- "subjectID": 1152,
- "parentID": 858,
- "subjectName": "3D-принтеры",
- "parentName": "Оргтехника"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Subject characteristics{{ /content/v2/object/charcs/{subjectId} }}
Authorizations:
path Parameters
subjectId required | integer Example: 105 ID предмета |
query Parameters
locale | string Example: locale=en Language of |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "charcID": 54337,
- "subjectName": "Кроссовки",
- "subjectID": 105,
- "name": "Размер",
- "required": false,
- "unitName": "см",
- "maxCount": 0,
- "popular": false,
- "charcType": 4
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Color{{ /content/v2/directory/colors }}
Authorizations:
query Parameters
locale | string Example: locale=en Language of |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "персиковый мелок",
- "parentName": "оранжевый"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Gender{{ /content/v2/directory/kinds }}
Authorizations:
query Parameters
locale | string Example: locale=en Language of |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "Мужской"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Country of origin{{ /content/v2/directory/countries }}
Authorizations:
query Parameters
locale | string Example: locale=en Language of |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "Афганистан",
- "fullName": "Исламский Эмират Афганистан"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Season{{ /content/v2/directory/seasons }}
Authorizations:
query Parameters
locale | string Example: locale=en Language of |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "демисезон"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
VAT rate{{ /content/v2/directory/vat }}
Authorizations:
query Parameters
locale required | string Example: locale=ru Language of the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "0",
- "10",
- "20",
- "Без НДС",
- "13"
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
HS codes{{ /content/v2/directory/tnved }}
Authorizations:
query Parameters
subjectID required | integer Example: subjectID=105 Subject ID |
search | integer Example: search=6106903000 Search by HS code. Works only with the subjectID parameter |
locale | string Example: locale=en Language ( |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "tnved": "6106903000",
- "isKiz": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Limits for the product cards{{ /content/v2/cards/limits }}
The method allows to get separately free and paid vendor limits for creating product cards.
To calculate the number of cards that can be created, use the formula: (freeLimits + paidLimits) - Number of cards created.
All cards that can be obtained using the product cards list and list of product cards that are in the trash methods are considered created.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
{- "data": {
- "freeLimits": 1500,
- "paidLimits": 10
}, - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Generation of barcodes{{ /content/v2/barcodes }}
Authorizations:
Request Body schema: application/jsonrequired
count | integer Number of barcodes to be generated, maximum 5,000 |
Responses
Request samples
- Payload
{- "count": 100
}
Response samples
- 200
- 401
- 403
- 429
{- "data": [
- "5032781145187"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Create product cards{{ /content/v2/cards/upload }}
Creates products cards. You can specify product description and characteristics.
How to create a card:
- Get parent categories list
- Get the category and get all subjects
- Choose the subject and get all available characteristics. For
Color
,Gender
,Country of origin
,Season
,VAT rate
,HS code
characteristics use values from category. - Send the request. If the response is Success (200) but the card was not created, check errors using list of failed product card with errors.
The dimensions of the products can only be specified in centimeters
, and the weight of packed products must be specified in kilograms
.
With one request you can create maximum 100 merged product cards (imtID
), 30 product cards (nmID
) in each. Maximum request size is 10 Mb.
Creating a card is asynchronous, after sending the request is put in a queue for processing.
Authorizations:
Request Body schema: application/json
subjectID required | integer Subject ID |
required | Array of objects Product variants, maximum 30 in one card. |
Responses
Request samples
- Payload
[- {
- "subjectID": 105,
- "variants": [
- {
- "vendorCode": "АртикулПродавца",
- "title": "Наименование товара",
- "description": "Описание товара",
- "brand": "Бренд",
- "dimensions": {
- "length": 11,
- "width": 2,
- "height": 8,
- "weightBrutto": 1.624
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Turkish flag"
]
}, - {
- "id": 25471,
- "value": 1200
}, - {
- "id": 14177449,
- "value": [
- "red"
]
}
], - "sizes": [
- {
- "techSize": "S",
- "wbSize": "42",
- "price": 5000,
- "skus": [
- "88005553535"
]
}
]
}
]
}
]
Response samples
- 200
- 400
- 401
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Create product cards with merge{{ /content/v2/cards/upload/add }}
The method creates new product cards by merging them with existing ones.
The dimensions of the products can only be specified in centimeters
, and the weight of packed products must be specified in kilograms
.
You can not edit or delete barcodes but you can add new ones. You have not to send photos
, video
and tags
and can not edit them.
If this method response is Success (200) but product card was not updated, check errors using list of failed nomenclature with errors.
With one request you can edit maximum 3000 nomenclatures (nmID
). Maximum request size is 10 Mb
Authorizations:
Request Body schema: application/json
nmID required | integer WB article |
vendorCode required | string Supplier's article |
brand | string Brand |
title | string <= 60 characters Product title |
description | string Product description. The maximum number of characters depends on the product category. Standard - 2000, minimum - 1000, maximum - 5000. |
object Dimensions and weight of packed product in | |
Array of objects Product characteristics | |
required | Array of objects Product sizes. |
Responses
Request samples
- Payload
[- {
- "nmID": 11111111,
- "vendorCode": "wbiz72wmro",
- "brand": "",
- "title": "Свитер женский оверсайз с горлом",
- "description": "12345",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15,
- "weightBrutto": 3
}, - "characteristics": [
- {
- "id": 14177450,
- "value": [
- "хлопок 50% акрил 50%"
]
}, - {
- "id": 50,
- "value": [
- "свободный крой"
]
}
], - "sizes": [
- {
- "chrtID": 12345678,
- "techSize": "ONE SIZE",
- "wbSize": "78-90",
- "skus": [
- "123487653460134"
]
}
]
}
]
Response samples
- 200
- 400
- 401
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Product cards list{{ /content/v2/get/cards/list }}
Returns the list of created product cards.
To get more than 100 product cards, you need to use pagination:
- Make first request (all listed params are required):
{ "settings": { "cursor": { "limit": 100 }, "filter": { "withPhoto": -1 } } }
- From last part of response list, copy 2 strings from `cursor` field response:
"updatedAt": "***"
"nmID": ***
- Paste the copied strings to the request
cursor
, repeat the request. - Repeat 2 and 3, until
total
will be less thanlimit
in response. This will mean you got all cards.
Authorizations:
query Parameters
locale | string Example: locale=ru Language for response fields Is not used in the sandbox |
Request Body schema: application/jsonrequired
object Settings |
Responses
Request samples
- Payload
{- "settings": {
- "sort": {
- "ascending": false
}, - "filter": {
- "textSearch": "4603743187500888",
- "allowedCategoriesOnly": true,
- "tagIDs": [
- 345,
- 415
], - "objectIDs": [
- 235,
- 67
], - "brands": [
- "уллу",
- "EkkE"
], - "imtID": 328632,
- "withPhoto": -1
}, - "cursor": {
- "updatedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 370870300,
- "limit": 11
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "cards": [
- {
- "nmID": 12345678,
- "imtID": 123654789,
- "nmUUID": "01bda0b1-5c0b-736c-b2be-d0a6543e9be",
- "subjectID": 7771,
- "subjectName": "AKF системы",
- "vendorCode": "wb7f6mumjr1",
- "brand": "Тест",
- "title": "Тест-система",
- "description": "Тестовое описание",
- "needKiz": false,
- "photos": [
- {
}
], - "dimensions": {
- "length": 5,
- "width": 3,
- "height": 8,
- "weightBrutto": 0.968,
- "isValid": false
}, - "characteristics": [
- {
- "id": 14177449,
- "name": "Цвет",
- "value": [
- "красно-сиреневый"
]
}
], - "sizes": [
- {
- "chrtID": 316399238,
- "techSize": "0",
- "skus": [
- "987456321654"
]
}
], - "tags": [
- {
- "id": 592569,
- "name": "Популярный",
- "color": "D1CFD7"
}
], - "createdAt": "2023-12-06T11:17:00.96577Z",
- "updatedAt": "2023-12-06T11:17:00.96577Z"
}
], - "cursor": {
- "updatedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 123654123,
- "total": 1
}
}
List of failed product cards with errors{{ /content/v2/cards/error/list }}
Returns the list of product cards and the list of errors encountered during product card creation
Authorizations:
query Parameters
locale | string Example: locale=en Language of multi-language parameters (for which the multi-language option is provided). Is not used in the sandbox |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "object": "Блузки",
- "objectID": 1234,
- "vendorCode": "6000000001",
- "updateAt": "2022-06-15T14:37:13Z",
- "errors": [
- "Поля Рос. размер, Размер обязательны для заполнения"
]
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Update product cards{{ /content/v2/cards/update }}
Edits product cards. If you need some product data, get it using product cards list.
The dimensions of the products can only be specified in centimeters
, and the weight of packed products must be specified in kilograms
.
You can not edit or delete barcodes but you can add new ones. You have not to send photos
, video
and tags
and can not edit them.
If this method response is Success (200) but product card was not updated, check errors using list of failed product cards with errors.
With one request you can edit maximum product cards (nmID
). Maximum request size is 10 Mb
Authorizations:
Request Body schema: application/json
nmID required | integer WB article |
vendorCode required | string Supplier's article |
brand | string Brand |
title | string <= 60 characters Product title |
description | string Product description. The maximum number of characters depends on the product category. Standard - 2000, minimum - 1000, maximum - 5000. |
object Dimensions and weight of packed product in | |
Array of objects Product characteristics | |
required | Array of objects Product sizes. |
Responses
Request samples
- Payload
[- {
- "nmID": 11111111,
- "vendorCode": "wbiz72wmro",
- "brand": "",
- "title": "Свитер женский оверсайз с горлом",
- "description": "12345",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15,
- "weightBrutto": 3
}, - "characteristics": [
- {
- "id": 14177450,
- "value": [
- "хлопок 50% акрил 50%"
]
}, - {
- "id": 50,
- "value": [
- "свободный крой"
]
}
], - "sizes": [
- {
- "chrtID": 12345678,
- "techSize": "ONE SIZE",
- "wbSize": "78-90",
- "skus": [
- "123487653460134"
]
}
]
}
]
Response samples
- 200
- 400
- 401
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Merging or separating of product cards{{ /content/v2/cards/moveNm }}
The method merges and separates product cards. Product cards are considered merged if they have the same imtID
.
To merge product cards, make a request specifying the imtID
. You can merge up to 30 product cards at a time.
To separate product cards, make a request without specifying the imtID
. New imtID
s will be generated for the separated cards.
If you separate multiple product cards simultaneously, these cards will merge into one and receive a new imtID
.
To assign a unique imtID
to each product card, you need to send one product card per request.
The maximum request size is 10 MB.
Authorizations:
Request Body schema: application/json
targetIMT required | integer Seller's existing |
nmIDs required | Array of integers
|
Responses
Request samples
- Payload
{- "targetIMT": 123,
- "nmIDs": [
- 837459235,
- 828572090
]
}
Response samples
- 200
- 400
- 401
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Transfer product card to trash{{ /content/v2/cards/delete/trash }}
Transfers the product card to trash. In doing so, the product card would not be deleted.
imtID
.
After 30 days in the trash the product card would be deleted automatically. The trash is cleared every night according to Moscow time.
The product card can be deleted at any time in personal account.
Authorizations:
Request Body schema: application/jsonrequired
nmIDs | Array of integers WB article (max. 1000) |
Responses
Request samples
- Payload
{- "nmIDs": [
- 123456789,
- 987654321
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Recover product card from trash{{ /content/v2/cards/recover }}
Authorizations:
Request Body schema: application/jsonrequired
nmIDs | Array of integers WB article (max. 1000) |
Responses
Request samples
- Payload
{- "nmIDs": [
- 123456789,
- 987654321
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Product cards in trash list{{ /content/v2/get/cards/trash }}
Returns list of product cards in trash.
To get full list of product cards, if their number exceed 100, user need to use pagination.
- Make the first request:
{ "settings": { "cursor": { "limit": 100 } } }
- From last part of response list copy 2 strings from
cursor
field response:"trashedAt": "***"
"nmID": ***
- Paste copied strings in
cursor
request parameter, repeat the method request. - Repeat 2 and 3, until
total
will be less thanlimit
in response. This will mean you got all cards.
Authorizations:
query Parameters
locale | string Enum: "ru" "en" "zh" Language of |
Request Body schema: application/jsonrequired
object Settings |
Responses
Request samples
- Payload
{- "settings": {
- "sort": {
- "ascending": false
}, - "filter": {
- "textSearch": "4603743187500888"
}, - "cursor": {
- "trashedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 370870300,
- "limit": 11
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "cards": [
- {
- "nmID": 1234567,
- "vendorCode": "wb5xsy5ftj",
- "subjectID": 1436,
- "subjectName": "Ведра хозяйственные",
- "photos": [
- {
}
], - "sizes": [
- {
- "chrtID": 111111111,
- "techSize": "0",
- "skus": [
- "xxxxxxxxxxxx"
]
}
], - "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15,
- "weightBrutto": 3.2,
- "isValid": false
}, - "createdAt": "2023-12-05T14:55:09.323462Z",
- "trashedAt": "2023-12-06T10:57:42.193028Z"
}
], - "cursor": {
- "trashedAt": "2023-12-06T10:57:42.193028Z",
- "nmID": 194128521,
- "total": 1
}
}
Upload media file{{ /content/v3/media/file }}
Uploads and adds one media file for the product card.
Requirements for images:
- maximum images for each product card — 30,
- minimal resolution – 700 × 900 pixels,
- maximum size — 32 МB,
- minimal quality — 65%,
- formats — JPG, PNG, BMP, GIF (static), WebP.
Requirements for video:
- maximum one video for each product card
- maximum size — 50 MB
- formats — MOV, MP4
Authorizations:
header Parameters
X-Nm-Id required | string Example: 213864079 Wildberries article |
X-Photo-Number required | integer Example: 2 Number of media file, starting from To add the image to the uploaded ones, set file the number more then number of uploaded files. |
Request Body schema: multipart/form-datarequired
uploadfile | string <binary> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Upload media files via links{{ /content/v3/media/save }}
The method uploads a set of media files to a product card by specifying links in the request.
data
) replace old ones (mediaFiles
). To add new files, set links both to new and old files.
Requirements for images:
- maximum images for each product card — 30,
- minimal resolution – 700 × 900 pixels,
- maximum size — 32 MB,
- minimal quality — 65%,
- formats — JPG, PNG, BMP, GIF (static), WebP.
Requirements for video:
- maximum one video for each product card,
- maximum size — 50 MB,
- formats — MOV, MP4.
If one or several images or a video do not meet the requirements, no images and a video will be uploaded even if you have the success response (200)
Authorizations:
Request Body schema: application/jsonrequired
nmId | integer Wildberries article |
data | Array of strings Links to images in the order that they are on the card, and a video at any position of the array |
Responses
Request samples
- Payload
Response samples
- 200
- 400
- 401
- 403
- 409
- 422
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Service for operating with the tags of product cards. Tags are designed to quickly find a product card in your user panel.
Create a tag{{ /content/v2/tag }}
Authorizations:
Request Body schema: application/jsonrequired
color | string Tag color.
|
name | string Tag name |
Responses
Request samples
- Payload
{- "color": "D1CFD7",
- "name": "Sale"
}
Response samples
- 200
- 400
- 401
- 403
- 429
Success
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Update the tag{{ /content/v2/tag/{id} }}
Authorizations:
path Parameters
id required | integer Example: 1 Numeric tag ID |
Request Body schema: application/jsonrequired
color | string Tag color |
name | string Tag name |
Responses
Request samples
- Payload
{- "color": "D1CFD7",
- "name": "Sale"
}
Response samples
- 200
- 400
- 401
- 403
- 429
Success
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Tag management in the product card{{ /content/v2/tag/nomenclature/link }}
The method allows to add tags to the product card and remove tags from the product card.
When removing a tag from a product card, the tag itself is not removed.
It is possible to add 15 tags to a product card.
Authorizations:
Request Body schema: application/jsonrequired
nmID | integer WB article |
tagsIDs | Array of integers An array of numeric tag IDs. |
Responses
Request samples
- Payload
{- "nmID": 179891389,
- "tagsIDs": [
- 123456
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
Success
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Methods to set prices and discounts.
When you update price or discounts, some product data may be not updated. For example, if you set incorrect price or discount. Check the upload status with the processed upload state methods.
Upload status:
3
— processed, no errors in products, prices and discounts were updated4
— canceled5
— processed, but some products have errors. Prices and Discounts for the other products were updated. You can get errors with the processed upload details method.6
— processed, but all products have errors. You can get errors with the processed upload details method too.
If you set prices and discounts in seller's account, with promo calendar, the upload is processing. Prices and Discounts will be updated to promo start.
This upload has status 1
, and you can get upload state and details with unprocessed upload details and unprocessed upload state methods.
2
.
Set prices and discounts{{ /api/v2/upload/task }}
Sets prices and discounts
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (Goods) Products, prices and discounts. Maximum 1,000 products. Both price and discount can not be empty
|
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "price": 999,
- "discount": 30
}
]
}
Response samples
- 200
- 208
- 400
- 401
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}
Sets size prices{{ /api/v2/upload/task/size }}
Sets different prices for different sizes.
Only for products from categories where size price setting is available. For these products editableSizePrice: true
in Get product sizes response.
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (SizeGoodsBody) Sizes and prices. Maximum 1,000 sizes
|
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "sizeID": 98989887,
- "price": 999
}
]
}
Response samples
- 200
- 208
- 400
- 401
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}
Set WB Club discounts{{ /api/v2/upload/task/club-discount }}
Sets WB Club subscription discounts
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (ClubDisc) Products and WB Club discounts. Maximum 1,000 products. |
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "clubDiscount": 5
}
]
}
Response samples
- 200
- 208
- 400
- 401
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}
Processed upload state{{ /api/v2/history/tasks }}
Returns the processed upload data
Authorizations:
query Parameters
uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 395643565,
- "status": 3,
- "uploadDate": "2022-08-21T22:00:13+02:00",
- "activationDate": "2022-08-21T22:00:13+02:00",
- "overAllGoodsNumber": 0,
- "successGoodsNumber": 0
}, - "error": false,
- "errorText": "You've reduced the price by several times. Item moved to Price Qurantine"
}
Processed upload details{{ /api/v2/history/goods/task }}
Returns products in processed upload including product errors
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Number of elements per page (pagination). Maximum 1,000 elements |
offset | integer <uint> >= 0 Example: offset=0 From which element to start outputting data |
uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 3235236546,
- "historyGoods": [
- {
- "nmID": 544833232,
- "vendorCode": "34552332",
- "sizeID": 54483342,
- "techSizeName": 42,
- "price": 1500,
- "currencyIsoCode4217": "RUB",
- "discount": 25,
- "clubDiscount": 5,
- "status": 1,
- "errorText": "You've reduced the price by several times. Item moved to Price Qurantine"
}
]
}
}
Unprocessed upload state{{ /api/v2/buffer/tasks }}
Returns the processing upload data
Authorizations:
query Parameters
uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 395643565,
- "status": 1,
- "uploadDate": "2022-08-21T22:00:13+02:00",
- "activationDate": "2022-08-21T22:00:13+02:00",
- "overAllGoodsNumber": 100,
- "successGoodsNumber": 0
}, - "error": false,
- "errorText": ""
}
Unprocessed upload details{{ /api/v2/buffer/goods/task }}
Returns products in processing upload including product errors
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Number of elements per page (pagination). Maximum 1,000 elements |
offset | integer <uint> >= 0 Example: offset=0 From which element to start outputting data |
uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 3235236546,
- "bufferGoods": [
- {
- "nmID": 544833232,
- "vendorCode": "34552332",
- "sizeID": 54483342,
- "techSizeName": "XXL",
- "price": 1500,
- "currencyIsoCode4217": "RUB",
- "discount": 25,
- "clubDiscount": 5,
- "status": 1,
- "errorText": ""
}
]
}, - "error": false,
- "errorText": ""
}
Get products with prices{{ /api/v2/list/goods/filter }}
Returns product data by its article.
To get data for all products, do not set the article, set limit=1000
, and use the offset
field to set the data offset. The offset should be calculated using the formula: offset
plus limit
from the previous request. Repeat the request until you receive a response with an empty array.
To get data for the size of the product, use a separate method
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Number of elements per page (pagination). Maximum 1,000 elements |
offset | integer <uint> >= 0 Example: offset=0 From which element to start outputting data |
filterNmID | integer Example: filterNmID=44589768676 WB article to search |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 98486,
- "vendorCode": "07326060",
- "sizes": [
- {
- "sizeID": 3123515574,
- "price": 500,
- "discountedPrice": 0,
- "clubDiscountedPrice": 332.5,
- "techSizeName": 42
}
], - "currencyIsoCode4217": "RUB",
- "discount": 30,
- "clubDiscount": 5,
- "editableSizePrice": true
}
]
}
}
Get product sizes with prices{{ /api/v2/list/goods/size/nm }}
Returns sizes data for the product. Only for products from categories where size price setting is available. For these products editableSizePrice: true
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Number of elements per page (pagination). Maximum 1,000 elements |
offset | integer <uint> >= 0 Example: offset=0 From which element to start outputting data |
nmID required | integer Example: nmID=1 WB article |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 123,
- "sizeID": 98989887,
- "vendorCode": "34552332",
- "price": 1000,
- "currencyIsoCode4217": "RUB",
- "discountedPrice": 700,
- "clubDiscountedPrice": 665,
- "discount": 30,
- "clubDiscount": 5,
- "techSizeName": 42,
- "editableSizePrice": true
}
]
}, - "error": false,
- "errorText": "string"
}
Get products in quarantine{{ /api/v2/quarantine/goods }}
Returns information about products in quarantine.
If the product new price with discount will be minimum 3 times less than the old price, the product will be placed in quarantine and will be sold at the old price. An error about this will be in upload states method response.
You can change price or discount via API or release product from quarantine in personal account.
For products with size-based pricing, quarantine does not apply
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Number of elements per page (pagination). Maximum 1,000 elements |
offset | integer <uint> >= 0 Example: offset=0 From which element to start outputting data |
Responses
Response samples
- 200
- 400
- 401
- 422
- 429
{- "data": {
- "quarantineGoods": [
- {
- "nmID": 206025152,
- "sizeID": null,
- "techSizeName": "",
- "currencyIsoCode4217": "RUB",
- "newPrice": 134,
- "oldPrice": 4000,
- "newDiscount": 25,
- "oldDiscount": 25,
- "priceDiff": -2899.5
}
]
}, - "error": false,
- "errorText": ""
}
Get offices{{ /api/v3/offices }}
Returns a list of all offices to link to seller warehouse.
One request with a response code of
409
is counted as 5 requests.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "address": "Kosmonavtov 10А",
- "name": "Koledino",
- "city": "Vyborg",
- "id": 15,
- "longitude": 55.386871,
- "latitude": 37.588898,
- "cargoType": 1,
- "deliveryType": 1,
- "selected": true
}
]
Get warehouses{{ /api/v3/warehouses }}
Returns a list of all seller's warehouses
One request with a response code of
409
is counted as 5 requests.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "name": "Kosmonavtov 14",
- "officeId": 15,
- "id": 1,
- "cargoType": 1,
- "deliveryType": 1
}
]
Create warehouse{{ /api/v3/warehouses }}
Creates a seller's warehouse. You cannot link an office that is already in use.
One request with a response code of
409
is counted as 5 requests.
Authorizations:
Request Body schema: application/jsonrequired
name required | string [ 1 .. 200 ] characters Supplier's warehouse name |
officeId required | integer >= 1 Office ID |
Responses
Request samples
- Payload
{- "name": "Koledino 2",
- "officeId": 15
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 409
- 429
{- "id": 2
}
Update warehouse{{ /api/v3/warehouses/{warehouseId} }}
Updates the seller's warehouse details. Changing the linked office is allowed once per day. You cannot link an office that is already in use
One request with a response code of
409
is counted as 5 requests.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 2 The supplier's warehouse ID |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 200 ] characters Supplier's warehouse name |
officeId required | integer >= 1 Office ID |
Responses
Request samples
- Payload
{- "name": "Koledino",
- "officeId": 15
}
Response samples
- 400
- 401
- 403
- 404
- 409
- 429
{- "code": "IncorrectRequestBody",
- "message": "Incorrect request body"
}
Delete warehouse{{ /api/v3/warehouses/{warehouseId} }}
Deletes the supplier's warehouse.
One request with a response code of
409
is counted as 5 requests.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 2 The supplier's warehouse ID |
Responses
Response samples
- 401
- 403
- 404
- 429
{- "title": "unauthorized",
- "detail": "token problem; token is malformed: could not base64 decode signature: illegal base64 data at input byte 84",
- "code": "07e4668e--a53a3d31f8b0-[UK-oWaVDUqNrKG]; 03bce=277; 84bd353bf-75",
- "requestId": "7b80742415072fe8b6b7f7761f1d1211",
- "origin": "s2s-api-auth-catalog",
- "status": 401,
- "statusText": "Unauthorized",
- "timestamp": "2024-09-30T06:52:38Z"
}
Inventory in sellers' warehouses
Get inventory{{ /api/v3/stocks/{warehouseId} }}
Returns product inventory
One request with a response code of
409
is counted as 5 requests.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 2 The supplier's warehouse ID |
Request Body schema: application/jsonrequired
skus | Array of strings [ 1 .. 1000 ] items SKUs array |
Responses
Request samples
- Payload
{- "skus": [
- "BarcodeTest123"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
{- "stocks": [
- {
- "sku": "SkuTest123",
- "amount": 10
}
]
}
Update inventory{{ /api/v3/stocks/{warehouseId} }}
Updates product inventory
One request with a response code of
409
is counted as 5 requests.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 2 The supplier's warehouse ID |
Request Body schema: application/json
required | Array of objects [ 1 .. 1000 ] items SKU array |
Responses
Request samples
- Payload
{- "stocks": [
- {
- "sku": "SkuTest123",
- "amount": 10
}
]
}
Response samples
- 400
- 401
- 403
- 404
- 406
- 409
- 429
{- "code": "IncorrectRequestBody",
- "message": "Incorrect request body"
}
Delete inventory{{ /api/v3/stocks/{warehouseId} }}
Deletes product inventory
One request with a response code of
409
is counted as 5 requests.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 2 The supplier's warehouse ID |
Request Body schema: application/jsonrequired
skus | Array of strings [ 1 .. 1000 ] items SKUs array |
Responses
Request samples
- Payload
{- "skus": [
- "BarcodeTest123"
]
}
Response samples
- 400
- 401
- 403
- 404
- 409
- 429
{- "code": "IncorrectRequestBody",
- "message": "Incorrect request body"
}