Adding products to the catalog and changing information about them
The method is available for models: FBY, FBS, Express and DBS.
If you are using an API Key token, one of the accesses in the list is required to call the method
- offers-and-cards-management — Manage products and cards
- all-methods — Full account management
Adds products to the catalog and transmits:
- their leaf categories on the Market and categorical characteristics;
- main features;
- prices of goods in the cabinet.
It also combines products on the card, edits and deletes information about already added products, including prices in the cabinet and product categories.
You can get a list of Market categories using a request. POST v2/categories/tree, and product characteristics by category using POST v2/category/{categoryId}/parameters.
Add a new product
Transfer it with a new ID that has never been used in the folder before.
Be sure to specify the parameters: offerId, name, marketCategoryId, pictures, vendor, description.
Try to convey as much information as possible at once — The Market will need it to select a suitable card or create a new one.
If you know which card on the Market corresponds to the product, you can immediately specify the ID of this card (SKU on the Market) in the field marketSKU.
For sellers of the Yandex Go Market:
When you add products to the catalog, specify the parameter values name and description in Russian. To display them in a different language on the showcase, make the request again. POST v2/businesses/{businessId}/offer-mappings/update where to specify:
- the language in the parameter
language; - parameter values
nameanddescriptionin the specified language.
You do not need to retransmit the remaining product characteristics.
Change product information
Send the new data by specifying in offerId SKU the product is in your system.
Fields where nothing changes can be omitted.
Delete previously transmitted product parameters
In deleteParameters specify the values of the parameters that you want to delete. You can pass multiple values at once.
For parameters with the type string you can also pass an empty value.
Parameter offerId (SKU the product in your system) must be unique for all the products that you transfer.
Usage rules SKU
-
For each product SKU there must be one.
-
Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.
SKU The product can be changed in the seller's account on the Market. Read about how to do this. in the Help of the Market for sellers.
The data in the catalog is not updated instantly
It takes up to a few minutes.
| ⚙️ Limit: 10,000 products per minute, no more than 100 products per request |
|---|
Request
POST
https://api.partner.market.yandex.ru/v2/businesses/{businessId}/offer-mappings/update
Path parameters
|
Name |
Description |
|
businessId |
Type: integer Cabinet ID. To find out, use the request GET v2/campaigns. ℹ️ What is a cabinet and a store on the Market? Min value: |
Query parameters
|
Name |
Description |
|
language |
Type: string The language in which the values in the parameters are accepted and returned Default value: Language:
Enum: |
Body
application/json
{
"offerMappings": [
{
"offer": {
"offerId": "example",
"name": "Ударная дрель Makita HP1630, 710 Вт",
"marketCategoryId": 0,
"category": "example",
"pictures": [
null
],
"videos": [
null
],
"manuals": [
null
],
"vendor": "LEVENHUK",
"barcodes": [
null
],
"description": "example",
"manufacturerCountries": [
null
],
"weightDimensions": {},
"vendorCode": "VNDR-0005A",
"tags": [
null
],
"shelfLife": {},
"lifeTime": {},
"guaranteePeriod": {},
"customsCommodityCode": "8517610008",
"commodityCodes": [
null
],
"certificates": [
null
],
"boxCount": 1,
"condition": {},
"type": "DEFAULT",
"downloadable": true,
"adult": true,
"age": {},
"params": [
null
],
"parameterValues": [
null
],
"basicPrice": {},
"purchasePrice": {},
"additionalExpenses": {},
"firstVideoAsCover": true,
"deleteParameters": [
null
]
},
"mapping": {
"marketSku": 1
}
}
],
"onlyPartnerMediaContent": true
}
|
Name |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
offerMappings |
Type: object[]
A list of products that need to be added or updated. We will soon reduce the maximum number of products per request. Don't send more than 100 right now. Min items: Max items: Example
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
onlyPartnerMediaContent |
Type: boolean Whether only the product data you provided will be used. Default value: |
Responses
200 OK
The request was executed correctly, and the data has been processed.
Answer 200 by itself, it does not mean that the values passed are correct.
Be sure to look at the details of the response.: status, as well as a list of errors (results.errors) and comments (results.warnings), if there are any.
- If an error is returned for at least one product (
results.errors), fieldstatus=ERROR. Changes to all transferred items will not be applied. - If there are no errors, but at least one product has a comment returned (
results.warnings), fieldstatus=OK, and the changes will be applied.
Body
application/json
{
"status": "OK",
"results": [
{
"offerId": "example",
"errors": [
{}
],
"warnings": [
{}
]
}
]
}
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
results
Type: object[]
offerId
Type: string
Your SKU — the product ID in your system.
Usage rules SKU:
-
For each product SKU there must be one.
-
Already set SKU it cannot be released and reused for another product. Each product should receive a new identifier that has never been used in your catalog before.
SKU The product can be changed in the seller's account on the Market. Read about how to do this. in the Help of the Market for sellers.
Warning
Spaces at the beginning and end of the value are automatically deleted. For example,
" SKU123 "and"SKU123"they will be treated as identical values.What is SKU and how to assign it
Min length:
1Max length:
255Pattern:
^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$Example:
exampleerrors
Type: object[]
message
Type: string
The text of the error or warning.
Example:
exampletype
Type: string
Types of errors and warnings:
UNKNOWN_CATEGORY— an unknown category is specified.INVALID_CATEGORY— a non-leaf category is specified. Specify the one that has no child categories.EMPTY_MARKET_CATEGORY— the Market category is not specified when transmitting the category characteristics.UNKNOWN_PARAMETER— A characteristic has been transmitted that is not among the characteristics of the category.UNEXPECTED_BOOLEAN_VALUE— something else is passed instead of the boolean value.NUMBER_FORMAT— a string was passed that does not represent a number, instead of a number.INVALID_UNIT_ID— the unit of measurement that is unacceptable for the characteristic has been passed.INVALID_GROUP_ID_LENGTH— the allowed character value is exceeded in the name — 255.INVALID_GROUP_ID_CHARACTERS— passed invalid characters.INVALID_PICKER_URL— a link to the thumbnail image was transmitted, which is not included in the transmitted links to the product image.LOCKED_DIMENSIONS— The dimensions of the package have been transferred, which cannot be changed.INVALID_COMMODITY_CODE— an incorrect product code was transmitted.
You can check which category characteristics are available for a given category and get their settings using a request. POST v2/category/{categoryId}/parameters.
Enum:
UNKNOWN_CATEGORY,INVALID_CATEGORY,EMPTY_MARKET_CATEGORY,UNKNOWN_PARAMETER,UNEXPECTED_BOOLEAN_VALUE,NUMBER_FORMAT,INVALID_UNIT_ID,INVALID_GROUP_ID_LENGTH,INVALID_GROUP_ID_CHARACTERS,INVALID_PICKER_URL,LOCKED_DIMENSIONS,INVALID_COMMODITY_CODEparameterId
Type: integer
ID of the characteristic that the error or warning is associated with.
Mistakes.
If there is an error for at least one product, the information in the catalog will not be updated for all transferred products.
Min items:
1Example
[ { "type": "UNKNOWN_CATEGORY", "parameterId": 0, "message": "example" } ]warnings
Type: object[]
message
Type: string
The text of the error or warning.
Example:
exampletype
Type: string
Types of errors and warnings:
UNKNOWN_CATEGORY— an unknown category is specified.INVALID_CATEGORY— a non-leaf category is specified. Specify the one that has no child categories.EMPTY_MARKET_CATEGORY— the Market category is not specified when transmitting the category characteristics.UNKNOWN_PARAMETER— A characteristic has been transmitted that is not among the characteristics of the category.UNEXPECTED_BOOLEAN_VALUE— something else is passed instead of the boolean value.NUMBER_FORMAT— a string was passed that does not represent a number, instead of a number.INVALID_UNIT_ID— the unit of measurement that is unacceptable for the characteristic has been passed.INVALID_GROUP_ID_LENGTH— the allowed character value is exceeded in the name — 255.INVALID_GROUP_ID_CHARACTERS— passed invalid characters.INVALID_PICKER_URL— a link to the thumbnail image was transmitted, which is not included in the transmitted links to the product image.LOCKED_DIMENSIONS— The dimensions of the package have been transferred, which cannot be changed.INVALID_COMMODITY_CODE— an incorrect product code was transmitted.
You can check which category characteristics are available for a given category and get their settings using a request. POST v2/category/{categoryId}/parameters.
Enum:
UNKNOWN_CATEGORY,INVALID_CATEGORY,EMPTY_MARKET_CATEGORY,UNKNOWN_PARAMETER,UNEXPECTED_BOOLEAN_VALUE,NUMBER_FORMAT,INVALID_UNIT_ID,INVALID_GROUP_ID_LENGTH,INVALID_GROUP_ID_CHARACTERS,INVALID_PICKER_URL,LOCKED_DIMENSIONS,INVALID_COMMODITY_CODEparameterId
Type: integer
ID of the characteristic that the error or warning is associated with.
Warnings.
The information in the catalog will be updated.
Min items:
1Example
[ { "type": "UNKNOWN_CATEGORY", "parameterId": 0, "message": "example" } ]Errors and warnings that appeared when processing the list of characteristics. Each item in the list corresponds to one product.
If there are no errors or warnings, the field is not passed.
Min items:
1Example
[ { "offerId": "example", "errors": [ { "type": "UNKNOWN_CATEGORY", "parameterId": 0, "message": "example" } ], "warnings": [ { "type": "UNKNOWN_CATEGORY", "parameterId": 0, "message": "example" } ] } ]Example
{ "results": [ { "offerId": "example", "errors": [ { "type": "UNKNOWN_CATEGORY", "parameterId": 0, "message": "example" } ], "warnings": [ { "type": "UNKNOWN_CATEGORY", "parameterId": 0, "message": "example" } ] } ] } -
400 Bad Request
⚠️ Even if the problem is related to only one product in the request, none will be sent to the catalog.
The request contains incorrect data. Learn more about errors when working with products and about errors when working with prices
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
401 Unauthorized
The authorization data is not specified in the request. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
403 Forbidden
The authorization data is incorrect or access to the resource is prohibited. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
404 Not Found
The requested resource was not found. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
420 Method Failure
The resource access limit has been exceeded. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
423 Locked
The specified method cannot be applied to the resource. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
500 Internal Server Error
Internal error of Yandex. Market. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: object
All of 2 types
-
Type: object
status
Type: string
The type of response. Possible values:
OK— There are no errors.ERROR— an error occurred while processing the request.
Enum:
OK,ERRORThe standard wrapper for server responses.
Example
{ "status": "OK" } -
Type: object
errors
Type: object[]
code
Type: string
The error code.
Example:
examplemessage
Type: string
Description of the error.
Example:
exampleA list of errors.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
A standard wrapper for server errors.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] } -
No longer supported, please use an alternative and newer version.
What is GTIN?
GTIN — This is a unique number assigned to a product in a single international database. GS1. This number generates an EAN, UPC, or ISBN barcode.
How to make sure that the product is in the database
You can check the code on verification page on the GS1 association's website. If the product is not found, request the GTIN code from your supplier.
How to get a GTIN for your products
To receive GTIN codes, the manufacturer needs to join the GS1 association and register the products.
ASCII characters 0 through 31 (except 9) and 127 are prohibited. from the table.
Categories that have no children.
