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<int64> 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:
Enum: |
Body
application/json
{
"offerMappings": [
{
"offer": {
"offerId": "string",
"name": "Ударная дрель Makita HP1630, 710 Вт",
"marketCategoryId": 0,
"category": "string",
"pictures": [
"string"
],
"videos": [
"string"
],
"manuals": [
{
"url": "string",
"title": "string"
}
],
"vendor": "LEVENHUK",
"barcodes": [
"46012300000000"
],
"description": "string",
"manufacturerCountries": [
"Россия"
],
"weightDimensions": {
"length": 65.55,
"width": 50.7,
"height": 20,
"weight": 1.001
},
"vendorCode": "VNDR-0005A",
"tags": [
"до 500 рублей"
],
"shelfLife": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"lifeTime": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"guaranteePeriod": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"customsCommodityCode": "8517610008",
"commodityCodes": [
{
"code": "string",
"type": "CUSTOMS_COMMODITY_CODE"
}
],
"certificates": [
"string"
],
"boxCount": 0,
"condition": {
"type": "PREOWNED",
"quality": "PERFECT",
"reason": "string"
},
"type": "DEFAULT",
"downloadable": false,
"adult": false,
"age": {
"value": 0,
"ageUnit": "YEAR"
},
"params": [
{
"name": "Wi-Fi",
"value": "есть"
}
],
"parameterValues": [
{
"parameterId": 0,
"unitId": 0,
"valueId": 0,
"value": "string"
}
],
"basicPrice": {
"value": 0,
"currencyId": "RUR",
"discountBase": 0
},
"purchasePrice": {
"value": 0,
"currencyId": "RUR"
},
"additionalExpenses": {
"value": 0,
"currencyId": "RUR"
},
"firstVideoAsCover": false,
"deleteParameters": [
"ADDITIONAL_EXPENSES"
]
},
"mapping": {
"marketSku": 0
}
}
],
"onlyPartnerMediaContent": false
}
|
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: |
|
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": "string",
"errors": [
{
"type": "UNKNOWN_CATEGORY",
"parameterId": 0,
"message": "string"
}
],
"warnings": [
{
"type": "UNKNOWN_CATEGORY",
"parameterId": 0,
"message": "string"
}
]
}
]
}
|
Name |
Description |
|
status* |
Type: string The type of response. Possible values:
Enum: |
|
results |
Type: object[] 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: |
400 Bad Request
The request contains incorrect data. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
401 Unauthorized
The authorization data is not specified in the request. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
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": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
404 Not Found
The requested resource was not found. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
420 Method Failure
The resource access limit has been exceeded. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
423 Locked
The specified method cannot be applied to the resource. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
500 Internal Server Error
Internal error of the Market. More information about the error
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
|
Name |
Description |
|
errors |
Type: object[] A list of errors. Min items: |
|
status |
Type: string The type of response. Possible values:
Enum: |
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.