Adding and editing products in the catalog

Deprecated

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

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 products 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 shopSku your SKU, which is not yet in the catalog.
  • To edit an item from the catalog, specify in the parameter shopSku your 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

The ID of the campaign (store) — The technical identifier that represents your store in the Yandex Market system when working through the API. It is uniquely linked to your store, but it is intended only for automated interaction.

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:

  • block Campaign ID;
  • tab Query log → drop-down list in the block Show logs.

⚠️ Do not confuse it with:

  • the store's identifier, which is displayed in the merchant's personal account.
  • advertising campaigns.

Min value: 1

Body

application/json
{
  "offerMappingEntries": [
    {
      "offer": {},
      "mapping": {
        "marketSku": 1,
        "modelId": 0,
        "categoryId": 0
      },
      "awaitingModerationMapping": {
        "marketSku": 1,
        "modelId": 0,
        "categoryId": 0
      },
      "rejectedMapping": {
        "marketSku": 1,
        "modelId": 0,
        "categoryId": 0
      }
    }
  ]
}

Name

Description

offerMappingEntries

Type: object[]

Information about the products in the catalog.

Min items: 1

Max items: 500

Example
[
  {
    "offer": {
      "name": "Ударная дрель Makita HP1630, 710 Вт",
      "shopSku": "example",
      "category": "example",
      "vendor": "LEVENHUK",
      "vendorCode": "VNDR-0005A",
      "description": "example",
      "id": "example",
      "feedId": 0,
      "barcodes": [
        null
      ],
      "urls": [
        null
      ],
      "pictures": [
        null
      ],
      "manufacturer": "example",
      "manufacturerCountries": [
        null
      ],
      "minShipment": 0,
      "transportUnitSize": 0,
      "quantumOfSupply": 0,
      "deliveryDurationDays": 0,
      "boxCount": 0,
      "customsCommodityCodes": [
        null
      ],
      "weightDimensions": {},
      "supplyScheduleDays": [
        null
      ],
      "shelfLifeDays": 0,
      "lifeTimeDays": 0,
      "guaranteePeriodDays": 0,
      "processingState": {},
      "availability": "ACTIVE",
      "shelfLife": {},
      "lifeTime": {},
      "guaranteePeriod": {},
      "certificate": "example"
    },
    "mapping": {
      "marketSku": 1,
      "categoryId": 0
    },
    "awaitingModerationMapping": {
      "marketSku": 1,
      "categoryId": 0
    },
    "rejectedMapping": {
      "marketSku": 1,
      "categoryId": 0
    }
  }
]

Responses

200 OK

The status of the operation.

Body

application/json
{
  "status": "OK"
}

Type: object

All of 1 type
  • 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"
    }
    

400 Bad Request

The request contains incorrect data. 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"
        }
      ]
    }
    

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.