Product Management (products)
Manage content, prices and stocks
Products parent categories{{ /content/v2/object/parent/all }}
Returns the list of all products parent categories
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 }}
Returns the list of all available subjects, subjects parent categories and their IDs
Authorizations:
query Parameters
name | string Example: name=Socks Search by product name (any supported language) |
limit | integer Example: limit=1000 Number of search results, maximum 1,000 |
locale | string Example: locale=en Response language (ru, en, zh) |
offset | integer 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 (subcategories){{ /content/v2/object/charcs/{subjectId} }}
Returns list of the subject characteristics by its ID
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 }}
Provides values of color characteristic.
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 }}
Provides values of gender characteristic.
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 }}
Provides value of characteristic country of origin.
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 }}
Provide values of season characteristic
Authorizations:
query Parameters
locale | string Example: locale=en Language of |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "демисезон"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
HS codes{{ /content/v2/directory/tnved }}
Method provides list of HS codes by category name and filter by HS code.
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
}
VAT rate{{ /content/v2/directory/vat }}
Returns a list of values for the VAT rate characteristic
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
}
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 Nomenclature list and List of nomenclatures 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
}
Upload cards{{ /content/v2/cards/upload }}
Creates products card. You can specify product description and characteristics in product card.
How to create a card:
- Get parent categories list
- Get the category and get all subcategories
- Choose the subcategory 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 nomenclature with errors.
The dimensions of the goods can only be specified in centimeters.
With one request you can create maximum 100 cards (imtID
) and 30 nomenclatures (nmID
) in each card. 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 Subcategory 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": 55,
- "width": 40,
- "height": 15
}, - "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": { }
}
Update cards{{ /content/v2/cards/update }}
Edits products cards. If you need some product data, get it using nomenclatures list.
The dimensions of the goods can only be specified in centimeters.
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 Product title |
description | string Product description. The maximum number of characters depends on the product category. Standard - 2000, minimum - 1000, maximum - 5000. |
object Product dimensions in centimeters | |
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": 0,
- "width": 0,
- "height": 0
}, - "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": { }
}
Adding nomenclature to the card{{ /content/v2/cards/upload/add }}
Adds new nomenclature to the product card. The dimensions of the goods can only be specified in centimeters. Adding nomenclature is asynchronous, after sending the request is put in a queue for processing. If the adding request passed but the nomenclature was not created, check errors using list of failed nomenclature with errors. Maximum request size is 10 Mb
Authorizations:
Request Body schema: application/json
imtID | integer
|
Array of objects Nomenclature |
Responses
Request samples
- Payload
{- "imtID": 987654321,
- "cardsToAdd": [
- {
- "vendorCode": "myVariant1",
- "title": "Product title",
- "description": "Описание товара",
- "brand": "Бренд",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Russian flag"
]
}, - {
- "id": 25471,
- "value": 1300
}, - {
- "id": 14177449,
- "value": [
- "blue"
]
}
], - "sizes": [
- {
- "skus": [
- "12345678"
]
}
]
}, - {
- "vendorCode": "myVariant2",
- "title": "Product title",
- "description": "Описание товаров",
- "brand": "Бренд",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Russian flag"
]
}, - {
- "id": 25471,
- "value": 1300
}, - {
- "id": 14177449,
- "value": [
- "blue"
]
}
], - "sizes": [
- {
- "skus": [
- "222222222222"
]
}
]
}
]
}
Response samples
- 200
- 400
- 401
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Merging or separating of nomenclatures{{ /content/v2/cards/moveNm }}
Merges nomenclatures (nmID
) in same product card (imtID
) or separate them.
To merge nomenclatures, the request with a list of nomenclatures has to be sent with the targetIMT
parameter specified in the body of the request.
In this case, all nomenclatures will be merged under the imtID
specified in the targetIMT
.
To separate the nomenclature from the product card, it is necessary to pass this nomenclature without the targetIMT
parameter in the request body.
This creates a new imtID
for the transferred nomenclature.
If several nomenclatures are passed in the separating request, they will all be automatically merged under one new imtID
.
To assign a unique imtID
to each nomenclature, it is necessary to send one nomenclature per query.
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": { }
}
Generation of barcodes{{ /content/v2/barcodes }}
Generates array of unique barcodes to create size of nomenclature in product card
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": ""
}
Add media files{{ /content/v3/media/file }}
Adds one media file for the product (nomenclature).
Requirements to images:
- maximum images for each product (nomenclature) — 30,
- minimal resolution – 700 × 900 pixels,
- maximum size — 32 МB,
- minimal quality — 65%,
- formats — JPG, PNG, BMP, GIF (static), WebP.
Requirements video:
- maximum video for each product (nomenclature)
- 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
}
Edit media files{{ /content/v3/media/save }}
Edits product (nomenclature) media files.
data
) replace old ones (mediaFiles
). To add new files, set links both to new and old files.
- maximum images for each product (nomenclature) — 30,
- minimal resolution – 700 × 900 pixels,
- maximum size — 32 MB,
- minimal quality — 65%,
- formats — JPG, PNG, BMP, GIF (static), WebP.
Requirements video:
- maximum video for each product (nomenclature),
- maximum size — 50 MB,
- formats — MOV, MP4.
If one or several images do not meet the requirements, no images 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 |
Responses
Request samples
- Payload
{- "nmId": 213864079,
}
Response samples
- 200
- 400
- 401
- 403
- 409
- 422
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Nomenclatures list{{ /content/v2/get/cards/list }}
Returns the list of created nomenclatures.
To get more than 100 nomenclatures, 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": "",
- "allowedCategoriesOnly": true,
- "tagIDs": [ ],
- "objectIDs": [ ],
- "brands": [ ],
- "imtID": 0,
- "withPhoto": -1
}, - "cursor": {
- "updatedAt": "",
- "nmID": 0,
- "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": "",
- "photos": [
- {
}
], - "dimensions": {
- "length": 0,
- "width": 0,
- "height": 0,
- "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 nomenclature with errors{{ /content/v2/cards/error/list }}
Returns the list of nomenclatures 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
}
Transfer nomenclature to trash{{ /content/v2/cards/delete/trash }}
Transfers the nomenclature to trash. In doing so, the product card would not be deleted.
imtID
.
Authorizations:
Request Body schema: application/jsonrequired
nmIDs | Array of integers WB article (max. 1000) |
Responses
Request samples
- Payload
[- {
- "nmIDs": [
- 987654321,
- 123456789
]
}
]
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Recover nomenclature from trash{{ /content/v2/cards/recover }}
Returns the nomenclature from trash
imtID
doesn't remain the same as it was for the nomenclature in the trash.
Authorizations:
Request Body schema: application/jsonrequired
nmIDs | Array of arrays WB article (max. 1000) |
Responses
Request samples
- Payload
[- {
- "nmIDs": [
- 123456789,
- 987654321
]
}
]
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Nomenclatures in trash list{{ /content/v2/get/cards/trash }}
Returns list of nomenclatures in trash.
To get full list of nomenclatures, 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": ""
}, - "cursor": {
- "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": 0,
- "width": 0,
- "height": 0,
- "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
}
}
Create a tag{{ /content/v2/tag }}
Creates a tag. It is possible to create 15 tags. The maximum length of a tag is 15 characters
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} }}
Changes tag data: name and color
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
}
Delete the tag{{ /content/v2/tag/{id} }}
Deletes the tag
Authorizations:
path Parameters
id required | integer Example: 1 Numeric tag ID |
Responses
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": "The product is in quarantine"
}
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": "The product is in quarantine"
}
]
}
}
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{{ /api/v2/list/goods/filter }}
Returns product data by its article. To get data for all products, do not set the article
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{{ /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.
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
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.
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
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.
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"
}
Get inventory{{ /api/v3/stocks/{warehouseId} }}
Returns product inventory
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
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
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
- 429
{- "code": "IncorrectRequestBody",
- "message": "Incorrect request body"
}