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

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": "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[]

offer

Type: object

All of 2 types
  • 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: 1

    Max length: 255

    Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

    Example: example

    adult

    Type: boolean

    The parameter includes the label 18+ for the product. Set it only for products that are related to satisfying sexual needs.

    age

    Type: object

    ageUnit

    Type: string

    Age measurement units:

    • YEAR — year.
    • MONTH — month.

    Enum: YEAR, MONTH

    value

    Type: number

    Meaning.

    Min value: 0

    Age in the specified units of measurement.

    Example
    {
      "value": 0,
      "ageUnit": "YEAR"
    }
    

    barcodes

    Type: string[] | null

    Barcode.

    Specify it as a sequence of numbers. The codes will do EAN-13, EAN-8, UPC-A, UPC-E or Code 128. For books — ISBN.

    For products certain categories and brands The barcode must be a valid code. GTIN. Please note: internal barcodes starting with 2 or 02, and format codes Code 128 They are not GTIN.

    What is it GTIN

    Min items: 1

    Unique items: true

    Example
    [
      "46012300000000"
    ]
    

    boxCount

    Type: integer

    The number of cargo spaces.

    This parameter is used if the product consists of several boxes, packages, and so on. For example, the air conditioner takes up two seats — the external and internal units are in two boxes.

    For products that occupy one place, do not pass this parameter.

    Min value: 1

    category

    Type: string

    Instead, use marketCategoryId.

    The product category in your store.

    Example: example

    certificates

    Type: string[] | null

    The numbers of the documents for the product: certificate, declaration of conformity, etc.

    You can only transfer the numbers of the documents, the scans of which are uploaded in the merchant's office by Instructions.

    Min items: 1

    Max items: 6

    Unique items: true

    Example
    [
      "example"
    ]
    

    commodityCodes

    Type: object[]

    code

    Type: string

    Product code.

    Example: example

    type

    Type: string

    Type of product code:

    • CUSTOMS_COMMODITY_CODE — the product code in the unified Commodity Nomenclature of Foreign Economic Activity (HS) — 10 or 14 digits without spaces.
    • IKPU_CODE — The identification code of products and services in Uzbekistan is 17 digits without spaces.

    Do not send multiple codes of the same type.

    Enum: CUSTOMS_COMMODITY_CODE, IKPU_CODE

    Product codes.

    Min items: 1

    Example
    [
      {
        "code": "example",
        "type": "CUSTOMS_COMMODITY_CODE"
      }
    ]
    

    condition

    Type: object

    quality

    Type: string

    Product appearance:

    • PERFECT — ideal.
    • EXCELLENT — excellent.
    • GOOD — good.
    • NOT_SPECIFIED — not selected.

    Enum: PERFECT, EXCELLENT, GOOD, NOT_SPECIFIED

    reason

    Type: string

    Product description. Describe the defects in detail, how noticeable they are and where to look for them.

    Example: example

    type

    Type: string

    Markdown type:

    • PREOWNED — used goods that used to belong to another person.
    • SHOWCASESAMPLE — showcase sample.
    • REFURBISHED — re-sale of the product.
    • REDUCTION — the product is defective.
    • RENOVATED — the restored product.
    • NOT_SPECIFIED — not selected.

    REFURBISHED — special significance for clothing, shoes, and accessories. It is used only for discounted products from this category. Other values for clothing, shoes, and accessories are not used.

    Enum: PREOWNED, SHOWCASESAMPLE, REFURBISHED, REDUCTION, RENOVATED, NOT_SPECIFIED

    The condition of the discounted product.

    Example
    {
      "type": "PREOWNED",
      "quality": "PERFECT",
      "reason": "example"
    }
    

    customsCommodityCode

    Type: string

    Instead, use commodityCodes with the type CUSTOMS_COMMODITY_CODE.

    The product code in the unified Commodity Nomenclature of Foreign Economic Activity (HS) — 10 or 14 digits without spaces.

    Be sure to indicate if there is one.

    Example: 8517610008

    description

    Type: string

    Detailed product description: for example, its advantages and features.

    Do not provide installation and assembly instructions in the description. Do not use the words "discount", "sale", "cheap", "gift" (except gift categories), "free", "special offer", "special price", "novelty", "new", "analog", "order", "hit". Do not provide any contact information or links.

    You can use HTML tags to format the text:

    • <h>, <h1>, <h2> and so on — for headlines;
    • <br> and <p> — for line breaks;
    • <ol> — for a numbered list;
    • <ul> — for a bulleted list.
    • <li> — to create list items (must be inside <ol> or <ul>);
    • <div> — It is supported, but it does not affect the text display.

    Optimal length — 400-600 characters.

    Recommendations and rules

    Max length: 6000

    Example: example

    downloadable

    Type: boolean

    A sign of a digital product. Specify true if the product is delivered by e-mail.

    How to work with digital goods

    guaranteePeriod

    Type: object

    timePeriod

    Type: integer

    Duration in the specified units.

    timeUnit

    Type: string

    Time measurement unit:

    • HOUR — hour.
    • DAY — day.
    • WEEK — a week.
    • MONTH — month.
    • YEAR — year.

    Enum: HOUR, DAY, WEEK, MONTH, YEAR

    comment

    Type: string

    Comment.

    Max length: 500

    Example: example

    A time period with a comment. The requirements for the comment content depend on the context of the parameter usage and are specified in the description of the field that contains it.

    Example
    {
      "timePeriod": 0,
      "timeUnit": "HOUR",
      "comment": "example"
    }
    

    lifeTime

    Type: object

    timePeriod

    Type: integer

    Duration in the specified units.

    timeUnit

    Type: string

    Time measurement unit:

    • HOUR — hour.
    • DAY — day.
    • WEEK — a week.
    • MONTH — month.
    • YEAR — year.

    Enum: HOUR, DAY, WEEK, MONTH, YEAR

    comment

    Type: string

    Comment.

    Max length: 500

    Example: example

    A time period with a comment. The requirements for the comment content depend on the context of the parameter usage and are specified in the description of the field that contains it.

    Example
    {
      "timePeriod": 0,
      "timeUnit": "HOUR",
      "comment": "example"
    }
    

    manuals

    Type: object[]

    url

    Type: string

    Min length: 1

    Max length: 2000

    Example: example

    title

    Type: string

    The name of the instruction that will be displayed on the product card.

    Max length: 500

    Example: example

    A list of instructions on how to use the product.

    Min items: 1

    Max items: 6

    Example
    [
      {
        "url": "example",
        "title": "example"
      }
    ]
    

    manufacturerCountries

    Type: string[] | null

    The country where the product was produced.

    Write down the names of the countries as they are written in the list.

    Min items: 1

    Unique items: true

    Example
    [
      "Россия"
    ]
    

    marketCategoryId

    Type: integer

    The ID of the category on the Market to which you attribute your product.

    Always indicate when you transmit parameterValues

    If, when changing the characteristics, you pass parameterValues and don't specify marketCategoryId, the characteristics will be updated, but you will receive a warning in the response (parameter warnings).

    If you do not pass both of them, information from outdated parameters will be used. params and category, and marketCategoryId it will be detected automatically.

    When changing the category, make sure that the product characteristics and their values in the parameter parameterValues you are submitting for a new category.

    You can get a list of Market categories using a request. POST v2/categories/tree.

    Min value: 0

    Exclusive min: true

    name

    Type: string

    Make up the name according to the scheme: type + brand or manufacturer + model + features, if any (for example, color, size or weight) and quantity in the package.

    Do not include emotional characteristics ("hit", "super", etc.) in the name of the terms of sale (for example, "discount", "free shipping", etc.). Don't write words in capital letters. — except for well-established brand names and models.

    Optimal length — 50-60 characters.

    Recommendations and rules

    Max length: 256

    Example: Ударная дрель Makita HP1630, 710 Вт

    params

    Type: object[]

    name

    Type: string

    The name of the characteristic.

    It must match the name of the feature on the Market. You can find it from the category's Excel template or through a query. POST v2/category/{categoryId}/parameters.

    Max length: 200

    Example: Wi-Fi

    value

    Type: string

    Meaning.

    Example: есть

    When transmitting characteristics, use parameterValues.

    Characteristics that only products of a specific category have. — for example, the diameter of the bicycle wheels or the material of the shoe sole.

    Min items: 1

    Example
    [
      {
        "name": "Wi-Fi",
        "value": "есть"
      }
    ]
    

    pictures

    Type: string[] | null

    Links to product images. The image on the first link is considered the main one, the others are additional.

    Link Requirements

    • Specify the entire link, including the http or https protocol.
    • Russian letters in URL may.
    • You can use direct links to images and to Yandex.Disk. Links on Yandex.Disk must be copied using the function Share. Relative links and links to other cloud storage — They don't work.

    https://example-shop.ru/images/sku12345.jpg

    https://yadi.sk/i/NaBoRsimVOLov

    /images/sku12345.jpg

    https://www.dropbox.com/s/818f/tovar.jpg

    Links to the image must be permanent. You cannot use dynamic links that change from upload to upload.

    If you need to replace the image, upload the new image via a new link, and delete the link to the old one. If you simply replace the image using the old link, it will not update.

    Image Requirements

    Min items: 1

    Max items: 30

    Example
    [
      "example"
    ]
    

    shelfLife

    Type: object

    timePeriod

    Type: integer

    Duration in the specified units.

    timeUnit

    Type: string

    Time measurement unit:

    • HOUR — hour.
    • DAY — day.
    • WEEK — a week.
    • MONTH — month.
    • YEAR — year.

    Enum: HOUR, DAY, WEEK, MONTH, YEAR

    comment

    Type: string

    Comment.

    Max length: 500

    Example: example

    A time period with a comment. The requirements for the comment content depend on the context of the parameter usage and are specified in the description of the field that contains it.

    Example
    {
      "timePeriod": 0,
      "timeUnit": "HOUR",
      "comment": "example"
    }
    

    tags

    Type: string[] | null

    Product labels that the store uses. The tags are not visible to customers. You can group and filter different products in the catalog by tags. — for example, products of the same series, collection, or line.

    Maximum tag length — 20 characters. One product can have a maximum of 10 tags.

    Min items: 1

    Max items: 50

    Unique items: true

    Example
    [
      "до 500 рублей"
    ]
    

    type

    Type: string

    Special type of product:

    • DEFAULT — products for which you previously provided a special type and want to remove it.
    • MEDICINE — medicines.
    • BOOK — paper and electronic books.
    • AUDIOBOOK — audiobooks.
    • ARTIST_TITLE — music and video production.
    • ON_DEMAND — custom-made products.
    • ALCOHOL — alcohol.

    If your product is — book

    Specify the year of publication in the product specifications. More information about the parameter

    Enum: DEFAULT, MEDICINE, BOOK, AUDIOBOOK, ARTIST_TITLE, ON_DEMAND, ALCOHOL

    vendor

    Type: string

    The name of the brand or manufacturer. It should be written the way the brand itself writes it.

    Example: LEVENHUK

    vendorCode

    Type: string

    The article of the product from the manufacturer.

    Example: VNDR-0005A

    videos

    Type: string[] | null

    Links (URL) on the product video.

    Link Requirements

    • Specify the entire link, including the http or https protocol.
    • Russian letters in URL may.
    • You can use direct links to videos and to Yandex.Disk. Links on Yandex.Disk must be copied using the function Share. Relative links and links to other cloud storage — They don't work.

    https://example-shop.ru/video/sku12345.avi

    https://yadi.sk/i/NaBoRsimVOLov

    /video/sku12345.avi

    https://www.dropbox.com/s/818f/super-tovar.avi

    Links to videos must be permanent. You cannot use dynamic links that change from upload to upload.

    If you need to replace the video, upload the new video via a new link, and delete the link to the old one. If you simply replace the video using the old link, it will not update.

    Video Requirements

    Min items: 1

    Max items: 6

    Example
    [
      "example"
    ]
    

    weightDimensions

    Type: object

    height

    Type: number

    Package height in cm.

    Min value: 0

    length

    Type: number

    Package length in cm.

    Min value: 0

    weight

    Type: number

    The weight of the product in kg, including packaging (gross).

    Min value: 0

    width

    Type: number

    Package width in cm.

    Min value: 0

    The dimensions of the package and the weight of the product.

    If the product takes up several boxes, fold them compactly before measuring the dimensions.

    Multi-seat cargo measurement scheme

    Example
    {
      "length": 65.55,
      "width": 50.7,
      "height": 20,
      "weight": 1.001
    }
    

    The main parameters of the product.

    Example
    {
      "offerId": "example",
      "name": "Ударная дрель Makita HP1630, 710 Вт",
      "marketCategoryId": 0,
      "category": "example",
      "pictures": [
        "example"
      ],
      "videos": [
        "example"
      ],
      "manuals": [
        {
          "url": "example",
          "title": "example"
        }
      ],
      "vendor": "LEVENHUK",
      "barcodes": [
        "46012300000000"
      ],
      "description": "example",
      "manufacturerCountries": [
        "Россия"
      ],
      "weightDimensions": {
        "length": 65.55,
        "width": 50.7,
        "height": 20,
        "weight": 1.001
      },
      "vendorCode": "VNDR-0005A",
      "tags": [
        "до 500 рублей"
      ],
      "shelfLife": {
        "timePeriod": 0,
        "timeUnit": "HOUR",
        "comment": "example"
      },
      "lifeTime": {
        "timePeriod": 0,
        "timeUnit": "HOUR",
        "comment": "example"
      },
      "guaranteePeriod": {
        "timePeriod": 0,
        "timeUnit": "HOUR",
        "comment": "example"
      },
      "customsCommodityCode": "8517610008",
      "commodityCodes": [
        {
          "code": "example",
          "type": "CUSTOMS_COMMODITY_CODE"
        }
      ],
      "certificates": [
        "example"
      ],
      "boxCount": 1,
      "condition": {
        "type": "PREOWNED",
        "quality": "PERFECT",
        "reason": "example"
      },
      "type": "DEFAULT",
      "downloadable": true,
      "adult": true,
      "age": {
        "value": 0,
        "ageUnit": "YEAR"
      },
      "params": [
        {
          "name": "Wi-Fi",
          "value": "есть"
        }
      ]
    }
    
  • Type: object

    additionalExpenses

    Type: object

    currencyId

    Type: string

    Currency codes:

    • RUR — the Russian ruble.
    • UAH — the Ukrainian hryvnia.
    • BYR — the Belarusian ruble.
    • KZT — Kazakhstani tenge.
    • UZS — Uzbek sum.

    Enum: RUR, USD, EUR, UAH, AUD, GBP, BYR, BYN, DKK, ISK, KZT, CAD, CNY, NOK, XDR, SGD, TRY, SEK, CHF, JPY, AZN, ALL, DZD, AOA, ARS, AMD, AFN, BHD, BGN, BOB, BWP, BND, BRL, BIF, HUF, VEF, KPW, VND, GMD, GHS, GNF, HKD, GEL, AED, EGP, ZMK, ILS, INR, IDR, JOD, IQD, IRR, YER, QAR, KES, KGS, COP, CDF, CRC, KWD, CUP, LAK, LVL, SLL, LBP, LYD, SZL, LTL, MUR, MRO, MKD, MWK, MGA, MYR, MAD, MXN, MZN, MDL, MNT, NPR, NGN, NIO, NZD, OMR, PKR, PYG, PEN, PLN, KHR, SAR, RON, SCR, SYP, SKK, SOS, SDG, SRD, TJS, THB, TWD, BDT, TZS, TND, TMM, UGX, UZS, UYU, PHP, DJF, XAF, XOF, HRK, CZK, CLP, LKR, EEK, ETB, RSD, ZAR, KRW, NAD, TL, UE

    value

    Type: number

    The price of the product.

    Min value: 0

    Exclusive min: true

    The price of the product.

    Example
    {
      "value": 0,
      "currencyId": "RUR"
    }
    

    basicPrice

    Type: object

    All of 2 types
    • Type: object

      currencyId

      Type: string

      Currency codes:

      • RUR — the Russian ruble.
      • UAH — the Ukrainian hryvnia.
      • BYR — the Belarusian ruble.
      • KZT — Kazakhstani tenge.
      • UZS — Uzbek sum.

      Enum: RUR, USD, EUR, UAH, AUD, GBP, BYR, BYN, DKK, ISK, KZT, CAD, CNY, NOK, XDR, SGD, TRY, SEK, CHF, JPY, AZN, ALL, DZD, AOA, ARS, AMD, AFN, BHD, BGN, BOB, BWP, BND, BRL, BIF, HUF, VEF, KPW, VND, GMD, GHS, GNF, HKD, GEL, AED, EGP, ZMK, ILS, INR, IDR, JOD, IQD, IRR, YER, QAR, KES, KGS, COP, CDF, CRC, KWD, CUP, LAK, LVL, SLL, LBP, LYD, SZL, LTL, MUR, MRO, MKD, MWK, MGA, MYR, MAD, MXN, MZN, MDL, MNT, NPR, NGN, NIO, NZD, OMR, PKR, PYG, PEN, PLN, KHR, SAR, RON, SCR, SYP, SKK, SOS, SDG, SRD, TJS, THB, TWD, BDT, TZS, TND, TMM, UGX, UZS, UYU, PHP, DJF, XAF, XOF, HRK, CZK, CLP, LKR, EEK, ETB, RSD, ZAR, KRW, NAD, TL, UE

      value

      Type: number

      The price of the product.

      Min value: 0

      Exclusive min: true

      The price of the product.

      Example
      {
        "value": 0,
        "currencyId": "RUR"
      }
      
    • Type: object

      discountBase

      Type: number

      The crossed-out price.

      The number must be an integer. You can specify a price with a discount from 5 to 99%.

      Pass this parameter every time the price is updated if you provide a discount on the product.

      Min value: 0

      Exclusive min: true

      Example
      {
        "discountBase": 0
      }
      

    Price with discount indication.

    Example
    {
      "value": 0,
      "currencyId": "RUR",
      "discountBase": 0
    }
    

    deleteParameters

    Type: string[] | null

    The parameters that you previously passed to UpdateOfferDTO, and now you want to delete it.

    If you send adult, downloadable and firstVideoAsCover They will not be deleted — their value will change to false.

    You can pass multiple values at once.

    Do not use together with the corresponding parameter in UpdateOfferDTO. This will result in an error. 400.

    Min items: 1

    Unique items: true

    Example
    [
      "ADDITIONAL_EXPENSES"
    ]
    

    firstVideoAsCover

    Type: boolean

    Use the first video in the card as a video background.

    Pass it on true for the first video to be used as a video background, or false so that the video background is not displayed in the product profile.

    parameterValues

    Type: object[]

    parameterId

    Type: integer

    The identifier of the characteristic.

    Min value: 1

    unitId

    Type: integer

    ID of the unit of measurement. If you did not pass the parameter unitId, the default unit of measurement is used.

    value

    Type: string

    Meaning.

    For type characteristics ENUM send:

    • Together with valueId, if you take the value from the directory;
    • without valueId, if the value is its own.

    Example: example

    valueId

    Type: integer

    ID of the value.

    • Be sure to specify the identifier if you are transmitting a value from the list of acceptable values received from the Market.
    • Do not specify for your own values.
    • Only for type characteristics ENUM.

    A list of characteristics with their values.

    Always transmit along with marketCategoryId

    If you don't pass it marketCategoryId when the characteristics change, they will be updated, but a warning will be received in the response (parameter warnings).

    If you do not pass both of them, information from outdated parameters will be used. params and category, and marketCategoryId it will be detected automatically.

    When changing characteristics, transmit only those whose value needs to be updated. If in marketCategoryId you are changing the category, the values of the common characteristics for the old and new categories will remain, and you do not need to transfer them.

    Read more in "Transfer of characteristic values".

    Min items: 1

    Max items: 300

    Example
    [
      {
        "parameterId": 1,
        "unitId": 0,
        "valueId": 0,
        "value": "example"
      }
    ]
    

    purchasePrice

    Type: object

    currencyId

    Type: string

    Currency codes:

    • RUR — the Russian ruble.
    • UAH — the Ukrainian hryvnia.
    • BYR — the Belarusian ruble.
    • KZT — Kazakhstani tenge.
    • UZS — Uzbek sum.

    Enum: RUR, USD, EUR, UAH, AUD, GBP, BYR, BYN, DKK, ISK, KZT, CAD, CNY, NOK, XDR, SGD, TRY, SEK, CHF, JPY, AZN, ALL, DZD, AOA, ARS, AMD, AFN, BHD, BGN, BOB, BWP, BND, BRL, BIF, HUF, VEF, KPW, VND, GMD, GHS, GNF, HKD, GEL, AED, EGP, ZMK, ILS, INR, IDR, JOD, IQD, IRR, YER, QAR, KES, KGS, COP, CDF, CRC, KWD, CUP, LAK, LVL, SLL, LBP, LYD, SZL, LTL, MUR, MRO, MKD, MWK, MGA, MYR, MAD, MXN, MZN, MDL, MNT, NPR, NGN, NIO, NZD, OMR, PKR, PYG, PEN, PLN, KHR, SAR, RON, SCR, SYP, SKK, SOS, SDG, SRD, TJS, THB, TWD, BDT, TZS, TND, TMM, UGX, UZS, UYU, PHP, DJF, XAF, XOF, HRK, CZK, CLP, LKR, EEK, ETB, RSD, ZAR, KRW, NAD, TL, UE

    value

    Type: number

    The price of the product.

    Min value: 0

    Exclusive min: true

    The price of the product.

    Example
    {
      "value": 0,
      "currencyId": "RUR"
    }
    
    Example
    {
      "parameterValues": [
        {
          "parameterId": 1,
          "unitId": 0,
          "valueId": 0,
          "value": "example"
        }
      ],
      "basicPrice": {
        "value": 0,
        "currencyId": "RUR",
        "discountBase": 0
      },
      "purchasePrice": {
        "value": 0,
        "currencyId": "RUR"
      },
      "additionalExpenses": {
        "value": 0,
        "currencyId": "RUR"
      },
      "firstVideoAsCover": true,
      "deleteParameters": [
        "ADDITIONAL_EXPENSES"
      ]
    }
    

Product parameters.

Example
{
  "offerId": "example",
  "name": "Ударная дрель Makita HP1630, 710 Вт",
  "marketCategoryId": 0,
  "category": "example",
  "pictures": [
    "example"
  ],
  "videos": [
    "example"
  ],
  "manuals": [
    {
      "url": "example",
      "title": "example"
    }
  ],
  "vendor": "LEVENHUK",
  "barcodes": [
    "46012300000000"
  ],
  "description": "example",
  "manufacturerCountries": [
    "Россия"
  ],
  "weightDimensions": {
    "length": 65.55,
    "width": 50.7,
    "height": 20,
    "weight": 1.001
  },
  "vendorCode": "VNDR-0005A",
  "tags": [
    "до 500 рублей"
  ],
  "shelfLife": {
    "timePeriod": 0,
    "timeUnit": "HOUR",
    "comment": "example"
  },
  "lifeTime": {
    "timePeriod": 0,
    "timeUnit": "HOUR",
    "comment": "example"
  },
  "guaranteePeriod": {
    "timePeriod": 0,
    "timeUnit": "HOUR",
    "comment": "example"
  },
  "customsCommodityCode": "8517610008",
  "commodityCodes": [
    {
      "code": "example",
      "type": "CUSTOMS_COMMODITY_CODE"
    }
  ],
  "certificates": [
    "example"
  ],
  "boxCount": 1,
  "condition": {
    "type": "PREOWNED",
    "quality": "PERFECT",
    "reason": "example"
  },
  "type": "DEFAULT",
  "downloadable": true,
  "adult": true,
  "age": {
    "value": 0,
    "ageUnit": "YEAR"
  },
  "params": [
    {
      "name": "Wi-Fi",
      "value": "есть"
    }
  ],
  "parameterValues": [
    {
      "parameterId": 1,
      "unitId": 0,
      "valueId": 0,
      "value": "example"
    }
  ],
  "basicPrice": {
    "value": 0,
    "currencyId": "RUR",
    "discountBase": 0
  },
  "purchasePrice": {
    "value": 0,
    "currencyId": "RUR"
  },
  "additionalExpenses": {
    "value": 0,
    "currencyId": "RUR"
  },
  "firstVideoAsCover": true,
  "deleteParameters": [
    "ADDITIONAL_EXPENSES"
  ]
}

mapping

Type: object

marketSku

Type: integer

The ID of the product card on the Market.

Min value: 1

A card on the Market that, from your point of view, fits the product. To determine the ID of the appropriate card, use the search in the cabinet (ProductsCatalogUpload products).

Based on the verification results, the Market can link the product to a more suitable card.

Example
{
  "marketSku": 1
}

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: 1

Max items: 500

Example
[
  {
    "offer": {
      "offerId": "example",
      "name": "Ударная дрель Makita HP1630, 710 Вт",
      "marketCategoryId": 0,
      "category": "example",
      "pictures": [
        "example"
      ],
      "videos": [
        "example"
      ],
      "manuals": [
        {}
      ],
      "vendor": "LEVENHUK",
      "barcodes": [
        "46012300000000"
      ],
      "description": "example",
      "manufacturerCountries": [
        "Россия"
      ],
      "weightDimensions": {
        "length": 65.55,
        "width": 50.7,
        "height": 20,
        "weight": 1.001
      },
      "vendorCode": "VNDR-0005A",
      "tags": [
        "до 500 рублей"
      ],
      "shelfLife": {
        "timePeriod": 0,
        "timeUnit": "HOUR",
        "comment": "example"
      },
      "lifeTime": {
        "timePeriod": 0,
        "timeUnit": "HOUR",
        "comment": "example"
      },
      "guaranteePeriod": {
        "timePeriod": 0,
        "timeUnit": "HOUR",
        "comment": "example"
      },
      "customsCommodityCode": "8517610008",
      "commodityCodes": [
        {}
      ],
      "certificates": [
        "example"
      ],
      "boxCount": 1,
      "condition": {
        "type": "PREOWNED",
        "quality": "PERFECT",
        "reason": "example"
      },
      "type": "DEFAULT",
      "downloadable": true,
      "adult": true,
      "age": {
        "value": 0,
        "ageUnit": "YEAR"
      },
      "params": [
        {}
      ],
      "parameterValues": [
        {}
      ],
      "basicPrice": {},
      "purchasePrice": {
        "value": 0,
        "currencyId": "RUR"
      },
      "additionalExpenses": {
        "value": 0,
        "currencyId": "RUR"
      },
      "firstVideoAsCover": true,
      "deleteParameters": [
        "ADDITIONAL_EXPENSES"
      ]
    },
    "mapping": {
      "marketSku": 1
    }
  }
]

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": "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, ERROR

    The 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: 1

    Max length: 255

    Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

    Example: example

    errors

    Type: object[]

    message

    Type: string

    The text of the error or warning.

    Example: example

    type

    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_CODE

    parameterId

    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: 1

    Example
    [
      {
        "type": "UNKNOWN_CATEGORY",
        "parameterId": 0,
        "message": "example"
      }
    ]
    

    warnings

    Type: object[]

    message

    Type: string

    The text of the error or warning.

    Example: example

    type

    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_CODE

    parameterId

    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: 1

    Example
    [
      {
        "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: 1

    Example
    [
      {
        "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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, ERROR

      The standard wrapper for server responses.

      Example
      {
        "status": "OK"
      }
      
    • Type: object

      errors

      Type: object[]

      code

      Type: string

      The error code.

      Example: example

      message

      Type: string

      Description of the error.

      Example: example

      A list of errors.

      Min items: 1

      Example
      [
        {
          "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.