Adding and editing products in the catalog
The method is available for all models.
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
Which method should I use instead of the outdated one?
Adds the products specified in the request to your product catalog and edits existing products.
Information about the goods must be transmitted in the body POST- request.
Each product must have your SKU — the unique code that you use to identify the product:
- To add a new product to the catalog, specify in the parameter
shopSkuyour SKU, which is not yet in the catalog. - To edit an item from the catalog, specify in the parameter
shopSkuyour SKU this product is in the catalog.
In both cases, you need to provide the full product description in the request, even if you only want to change a few characteristics.
If you know which product card on the Market corresponds to your product, specify its ID (SKU on the Market) in the input parameter mapping. Receive SKU You can access the recommended product card on the Market through your account. If SKU it is not listed on the Market, the Market staff will select or create a suitable product card themselves, or it will have a status NEED_CONTENT (you need to find the card or create it yourself) in the request output POST v2/businesses/{businessId}/offer-mappings.
The products are moderated before publication. If an error is found in one of the sent items, the response to the request will have an HTTP code. 400 Bad Request, and none of the products will be submitted for moderation. However, if you do not pass all the required parameters for any product, it will have the status after moderation. NEED_INFO (there is not enough information in the product description) in the request output POST v2/businesses/{businessId}/offer-mappings.
You can add up to 500 products per request.
The data in the catalog is not updated instantly
It takes up to a few minutes.
| ⚙️ Limit: 5,000 items per minute |
|---|
Request
POST
https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/offer-mapping-entries/updates
Path parameters
|
Name |
Description |
|
campaignId* |
Type: integer<int64> The campaign ID. You can find it using a query GET v2/campaigns or find it in the seller's office on the Market — click on your account icon → Settings and in the menu on the left, select APIs and modules:
⚠️ Do not send the store ID instead, which is indicated in the seller's account on the Market next to the store name and in some reports.
Min value: |
Body
application/json
{
"offerMappingEntries": [
{
"offer": {
"name": "Ударная дрель Makita HP1630, 710 Вт",
"shopSku": "string",
"category": "string",
"vendor": "LEVENHUK",
"vendorCode": "VNDR-0005A",
"description": "string",
"id": "string",
"feedId": 0,
"barcodes": [
"46012300000000"
],
"urls": [
"string"
],
"pictures": [
"string"
],
"manufacturer": "string",
"manufacturerCountries": [
"string"
],
"minShipment": 0,
"transportUnitSize": 0,
"quantumOfSupply": 0,
"deliveryDurationDays": 0,
"boxCount": 0,
"customsCommodityCodes": [
"string"
],
"weightDimensions": {
"length": 65.55,
"width": 50.7,
"height": 20,
"weight": 1.001
},
"supplyScheduleDays": [
"MONDAY"
],
"shelfLifeDays": 0,
"lifeTimeDays": 0,
"guaranteePeriodDays": 0,
"processingState": {
"status": "UNKNOWN",
"notes": [
{
"type": "ASSORTMENT",
"payload": "string"
}
]
},
"availability": "ACTIVE",
"shelfLife": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"lifeTime": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"guaranteePeriod": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"certificate": "string"
},
"mapping": {
"marketSku": 0,
"modelId": 0,
"categoryId": 0
},
"awaitingModerationMapping": {
"marketSku": 0,
"modelId": 0,
"categoryId": 0
},
"rejectedMapping": {
"marketSku": 0,
"modelId": 0,
"categoryId": 0
}
}
]
}
|
Name |
Description |
|
offerMappingEntries* |
Type: object[] Information about the products in the catalog. Min items: Max items: |
Responses
200 OK
The status of the operation.
Body
application/json
{
"status": "OK"
}
|
Name |
Description |
|
status* |
Type: string The type of response. Possible values:
Enum: |
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.