Установка цен на товары для всех магазинов

Метод доступен для моделей: FBY, FBS, Экспресс и DBS.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

Устанавливает цены, которые действуют во всех магазинах. Чтобы получить рекомендации Маркета, касающиеся цен, выполните запрос POST v2/businesses/{businessId}/offers/recommendations.

При необходимости передавайте НДС с помощью параметра vat в запросе POST v2/campaigns/{campaignId}/offers/update.

Данные в каталоге обновляются не мгновенно

Это занимает до нескольких минут.

⚙️ Лимит: 10 000 товаров в минуту, не более 500 товаров в одном запросе

Request

POST

https://api.partner.market.yandex.ru/v2/businesses/{businessId}/offer-prices/updates

Path parameters

Name

Description

businessId

Type: integer

Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

Min value: 1

Body

application/json
{
  "offers": [
    {
      "offerId": "example",
      "price": {
        "minimumForBestseller": 0
      }
    }
  ]
}

Name

Description

offers

Type: UpdateBusinessOfferPriceDTO[]

Список товаров с ценами.

В рамках одного запроса все значения offerId должны быть уникальными. Не допускается передача двух объектов с одинаковым offerId.

Min items: 1

Max items: 500

Example
[
  {
    "offerId": "example",
    "price": {
      "value": 0,
      "currencyId": "RUR",
      "discountBase": 0,
      "minimumForBestseller": 0
    }
  }
]

ShopSku

Ваш SKU — идентификатор товара в вашей системе.

Правила использования SKU:

  • У каждого товара SKU должен быть свой.

  • Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.

SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.

Важно

Пробельные символы в начале и конце значения автоматически удаляются. Например, " SKU123 " и "SKU123" будут обработаны как одинаковые значения.

Что такое SKU и как его назначать

Type: string

Min length: 1

Max length: 255

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

Example: example

CurrencyType

Коды валют:

  • RUR — российский рубль.
  • UAH — украинская гривна.
  • BYR — белорусский рубль.
  • KZT — казахстанский тенге.
  • UZS — узбекский сум.

Type: string

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

BasePriceDTO

Цена товара.

Name

Description

currencyId

Type: CurrencyType

Валюта.

Коды валют:

  • RUR — российский рубль.
  • UAH — украинская гривна.
  • BYR — белорусский рубль.
  • KZT — казахстанский тенге.
  • UZS — узбекский сум.

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

Цена товара.

Min value: 0

Exclusive min: true

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

DiscountBase

Зачеркнутая цена.

Число должно быть целым. Вы можете указать цену со скидкой от 5 до 99%.

Передавайте этот параметр при каждом обновлении цены, если предоставляете скидку на товар.

Type: number

Min value: 0

Exclusive min: true

PriceWithDiscountDTO

Цена с указанием скидки.

Type: object

All of 2 types
  • Type: BasePriceDTO

    Цена товара.

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

    discountBase

    Type: DiscountBase

    Зачеркнутая цена.

    Число должно быть целым. Вы можете указать цену со скидкой от 5 до 99%.

    Передавайте этот параметр при каждом обновлении цены, если предоставляете скидку на товар.

    Min value: 0

    Exclusive min: true

    Example: 0

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

UpdateBusinessPricesDTO

Цены.

Type: object

All of 2 types
  • Type: PriceWithDiscountDTO

    Цена с указанием скидки.

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

    minimumForBestseller

    Type: number

    Минимальная цена товара для попадания в акцию «Бестселлеры Маркета». Подробнее об этом способе участия читайте в Справке Маркета для продавцов.

    При передаче цены ориентируйтесь на значение параметра maxPromoPrice (максимально возможная цена для участия в акции) в методе POST v2/businesses/{businessId}/promos/offers.

    Товар не попадет в акцию с помощью этого способа, если:

    • Не передать этот параметр. Удалится значение, которое вы указали ранее.

    • В методе POST v2/businesses/{businessId}/offer-prices для этого товара возвращается параметр excludedFromBestsellers со значением true.

      Но товар по-прежнему сможет попасть в акцию через автоматическое участие или ручное добавление.

    Min value: 0

    Max value: 100000000

    Exclusive min: true

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

UpdateBusinessOfferPriceDTO

Товар с новой ценой.

Name

Description

offerId

Type: ShopSku

Ваш SKU — идентификатор товара в вашей системе.

Правила использования SKU:

  • У каждого товара SKU должен быть свой.

  • Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.

SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.

Важно

Пробельные символы в начале и конце значения автоматически удаляются. Например, " SKU123 " и "SKU123" будут обработаны как одинаковые значения.

Что такое SKU и как его назначать

Min length: 1

Max length: 255

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

Example: example

price

Type: UpdateBusinessPricesDTO

Цены.

Example
{
  "value": 0,
  "currencyId": "RUR",
  "discountBase": 0,
  "minimumForBestseller": 0
}
Example
{
  "offerId": "example",
  "price": {
    "value": 0,
    "currencyId": "RUR",
    "discountBase": 0,
    "minimumForBestseller": 0
  }
}

Responses

200 OK

Маркет принял информацию о новых ценах.

Body

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

Type: object

All of 1 type
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type: string

Enum: OK, ERROR

ApiResponse

Стандартная обертка для ответов сервера.

Name

Description

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

Example
{
  "status": "OK"
}

400 Bad Request

Запрос содержит неправильные данные. Подробнее об ошибках при работе с ценами

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

ApiErrorDTO

Общий формат ошибки.

Name

Description

code

Type: string

Код ошибки.

Example: example

message

Type: string

Описание ошибки.

Example: example

Example
{
  "code": "example",
  "message": "example"
}

ApiErrorResponse

Стандартная обертка для ошибок сервера.

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

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

    errors

    Type: ApiErrorDTO[] | null

    Список ошибок.

    Min items: 1

    Example
    [
      {
        "code": "example",
        "message": "example"
      }
    ]
    
    Example
    {
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    
Example
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

401 Unauthorized

В запросе не указаны данные для авторизации. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

404 Not Found

Запрашиваемый ресурс не найден. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

420 Method Failure

Превышено ограничение на доступ к ресурсу. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

423 Locked

К ресурсу нельзя применить указанный метод. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

500 Internal Server Error

Внутренняя ошибка Маркета. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

No longer supported, please use an alternative and newer version.

Подробнее об этом читайте в Справке Маркета для продавцов.

Метод POST v2/businesses/{businessId}/promos/offers/update.

Предыдущая
Следующая