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

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 name and description in 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: 1

Query parameters

Name

Description

language

Type: string

The language in which the values in the parameters are accepted and returned name and description.

Default value: RU.
Language:

  • RU — Russian.
  • UZ — uzbek.

Enum: RU, UZ

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.


Product information.

Min items: 1

Max items: 500

onlyPartnerMediaContent

Type: boolean

Whether only the product data you provided will be used.

Default value: false. To delete the data that the Market added, pass the value true.

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), field status = 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), field status = 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:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
Errors and warnings that appeared due to the transmitted characteristics.

Min items: 1

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.
The general error format.

Min items: 1

status

Type: string

The type of response. Possible values:

  • OK — There are no errors.
  • ERROR — an error occurred while processing the request.

Enum: OK, ERROR

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.