Список товаров, находящихся в карантине по цене в магазине

Метод доступен для всех моделей.

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

Возвращает список товаров, которые находятся в карантине по цене, установленной в заданном магазине.

Проверьте цену каждого из товаров, который попал в карантин. Если ошибки нет и цена правильная, подтвердите ее с помощью запроса POST v2/campaigns/{campaignId}/price-quarantine/confirm. Если цена в самом деле ошибочная, установите верную с помощью запроса POST v2/campaigns/{campaignId}/offer-prices/updates.

Что такое карантин?

Товар попадает в карантин, если его цена меняется слишком резко или слишком сильно отличается от рыночной. Подробнее

В запросе можно использовать фильтры.

Результаты возвращаются постранично.

⚙️ Лимит: 10 000 товаров в минуту

Request

POST

https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/price-quarantine

Path parameters

Name

Description

campaignId

Type: integer

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

  • идентификатором магазина, который отображается в личном кабинете продавца;
  • рекламными кампаниями.

Min value: 1

Query parameters

Name

Description

limit

Type: integer

Количество значений на одной странице.

Min value: 1

page_token

Type: string

Идентификатор страницы c результатами.

Если параметр не указан, возвращается первая страница.

Рекомендуем передавать значение выходного параметра nextPageToken, полученное при последнем запросе.

Если задан page_token и в запросе есть параметры page и pageSize, они игнорируются.

Example: eyBuZXh0SWQ6IDIzNDIgfQ==

Body

application/json
{
  "offerIds": [
    "example"
  ],
  "cardStatuses": [
    "HAS_CARD_CAN_NOT_UPDATE"
  ],
  "categoryIds": [
    0
  ],
  "vendorNames": [
    "example"
  ],
  "tags": [
    "example"
  ]
}

Name

Description

cardStatuses

Type: OfferCardStatusType[] | null

Фильтр по статусам карточек.

Что такое карточка товара

Min items: 1

Unique items: true

Example
[
  "HAS_CARD_CAN_NOT_UPDATE"
]

categoryIds

Type: integer[] | null

Фильтр по категориям на Маркете.

Min items: 1

Unique items: true

Example
[
  0
]

offerIds

Type: ShopSku[] | null

Идентификаторы товаров, информация о которых нужна.

⚠️ Не используйте это поле одновременно с фильтрами по статусам карточек, категориям, брендам или тегам. Если вы хотите воспользоваться фильтрами, оставьте поле пустым.

Min items: 1

Max items: 500

Unique items: true

Example
[
  "example"
]

tags

Type: string[] | null

Фильтр по тегам.

Min items: 1

Unique items: true

Example
[
  "example"
]

vendorNames

Type: string[] | null

Фильтр по брендам.

Min items: 1

Unique items: true

Example
[
  "example"
]

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

OfferCardStatusType

Статус карточки товара:

  • HAS_CARD_CAN_NOT_UPDATE — Карточка Маркета.
  • HAS_CARD_CAN_UPDATE — Можно дополнить.
  • HAS_CARD_CAN_UPDATE_ERRORS — Изменения не приняты.
  • HAS_CARD_CAN_UPDATE_PROCESSING — Изменения на проверке.
  • NO_CARD_NEED_CONTENT — Создайте карточку.
  • NO_CARD_MARKET_WILL_CREATE — Создаст Маркет.
  • NO_CARD_ERRORS — Не создана из-за ошибки.
  • NO_CARD_PROCESSING — Проверяем данные.
  • NO_CARD_ADD_TO_CAMPAIGN — Разместите товар в магазине.

Type: string

Enum: HAS_CARD_CAN_NOT_UPDATE, HAS_CARD_CAN_UPDATE, HAS_CARD_CAN_UPDATE_ERRORS, HAS_CARD_CAN_UPDATE_PROCESSING, NO_CARD_NEED_CONTENT, NO_CARD_MARKET_WILL_CREATE, NO_CARD_ERRORS, NO_CARD_PROCESSING, NO_CARD_ADD_TO_CAMPAIGN

Responses

200 OK

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

Body

application/json
{
  "status": "OK",
  "result": {
    "paging": {
      "nextPageToken": "example",
      "prevPageToken": "example"
    },
    "offers": [
      {
        "offerId": "example",
        "currentPrice": {},
        "lastValidPrice": null,
        "verdicts": [
          null
        ]
      }
    ]
  }
}

Type: object

All of 2 types
  • Type: ApiResponse

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

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

    result

    Type: GetQuarantineOffersResultDTO

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

    Example
    {
      "paging": {
        "nextPageToken": "example",
        "prevPageToken": "example"
      },
      "offers": [
        {
          "offerId": "example",
          "currentPrice": {
            "value": 0,
            "currencyId": "RUR"
          },
          "lastValidPrice": null,
          "verdicts": [
            {
              "type": "PRICE_CHANGE",
              "params": [
                null
              ]
            }
          ]
        }
      ]
    }
    
    Example
    {
      "result": {
        "paging": {
          "nextPageToken": "example",
          "prevPageToken": "example"
        },
        "offers": [
          {
            "offerId": "example",
            "currentPrice": {
              "value": 0,
              "currencyId": "RUR"
            },
            "lastValidPrice": null,
            "verdicts": [
              {}
            ]
          }
        ]
      }
    }
    

ApiResponseStatusType

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

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

Type: string

Enum: OK, ERROR

ApiResponse

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

Name

Description

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

Example
{
  "status": "OK"
}

ForwardScrollingPagerDTO

Идентификатор следующей страницы.

Name

Description

nextPageToken

Type: string

Идентификатор следующей страницы результатов.

Example: example

Example
{
  "nextPageToken": "example"
}

ScrollingPagerDTO

Информация о страницах результатов.

Type: object

All of 2 types
  • Type: ForwardScrollingPagerDTO

    Идентификатор следующей страницы.

    Example
    {
      "nextPageToken": "example"
    }
    
  • Type: object

    prevPageToken

    Type: string

    Идентификатор предыдущей страницы результатов.

    Example: example

    Example
    {
      "prevPageToken": "example"
    }
    
Example
{
  "nextPageToken": "example",
  "prevPageToken": "example"
}

PriceQuarantineVerdictType

Типы карантина:

  • PRICE_CHANGE — новая цена слишком сильно отличается от прежней. В поле params будет новая цена CURRENT_PRICE и последняя цена до попадания в карантин LAST_VALID_PRICE.
  • LOW_PRICE — установленная цена слишком сильно отличается от рыночной. В поле params будет установленная вами цена CURRENT_PRICE и порог попадания в карантин MIN_PRICE.
  • LOW_PRICE_PROMO — цена после применения акций слишком сильно отличается от рыночной. В поле params будет цена после применения акций CURRENT_PRICE и порог попадания в карантин MIN_PRICE.

Type: string

Enum: PRICE_CHANGE, LOW_PRICE, LOW_PRICE_PROMO

PriceQuarantineVerdictParamNameType

Имя параметра причины скрытия товара по цене.

  • CURRENT_PRICE — цена, из-за которой товар попал в карантин.
  • LAST_VALID_PRICE — последняя цена до попадания в карантин (только для карантина типа PRICE_CHANGE).
  • MIN_PRICE — порог попадания в карантин (только для карантина типов LOW_PRICE и LOW_PRICE_PROMO).
  • CURRENCY — валюта.

Type: string

Enum: CURRENT_PRICE, LAST_VALID_PRICE, MIN_PRICE, CURRENCY

PriceQuarantineVerdictParameterDTO

Параметр карантина.

Name

Description

name

Type: PriceQuarantineVerdictParamNameType

Название параметра.

Имя параметра причины скрытия товара по цене.

  • CURRENT_PRICE — цена, из-за которой товар попал в карантин.
  • LAST_VALID_PRICE — последняя цена до попадания в карантин (только для карантина типа PRICE_CHANGE).
  • MIN_PRICE — порог попадания в карантин (только для карантина типов LOW_PRICE и LOW_PRICE_PROMO).
  • CURRENCY — валюта.

Enum: CURRENT_PRICE, LAST_VALID_PRICE, MIN_PRICE, CURRENCY

value

Type: string

Значение параметра.

Example: example

Example
{
  "name": "CURRENT_PRICE",
  "value": "example"
}

PriceQuarantineVerdictDTO

Причина попадания товара в карантин.

Name

Description

params

Type: PriceQuarantineVerdictParameterDTO[]

Цена, из-за которой товар попал в карантин, и значения для сравнения. Конкретный набор параметров зависит от типа карантина.

Example
[
  {
    "name": "CURRENT_PRICE",
    "value": "example"
  }
]

type

Type: PriceQuarantineVerdictType

Тип карантина.

Типы карантина:

  • PRICE_CHANGE — новая цена слишком сильно отличается от прежней. В поле params будет новая цена CURRENT_PRICE и последняя цена до попадания в карантин LAST_VALID_PRICE.
  • LOW_PRICE — установленная цена слишком сильно отличается от рыночной. В поле params будет установленная вами цена CURRENT_PRICE и порог попадания в карантин MIN_PRICE.
  • LOW_PRICE_PROMO — цена после применения акций слишком сильно отличается от рыночной. В поле params будет цена после применения акций CURRENT_PRICE и порог попадания в карантин MIN_PRICE.

Enum: PRICE_CHANGE, LOW_PRICE, LOW_PRICE_PROMO

Example
{
  "type": "PRICE_CHANGE",
  "params": [
    {
      "name": "CURRENT_PRICE",
      "value": "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"
}

QuarantineOfferDTO

Товар в карантине.

Name

Description

currentPrice

Type: BasePriceDTO

Вместо него используйте значение из verdictsparams.

Новая цена.

Цена товара.

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

lastValidPrice

Type: BasePriceDTO

Вместо него используйте значение из verdictsparams.

Последняя цена до попадания в карантин.

Цена товара.

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

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

verdicts

Type: PriceQuarantineVerdictDTO[] | null

Причины попадания товара в карантин.

Min items: 1

Example
[
  {
    "type": "PRICE_CHANGE",
    "params": [
      {
        "name": "CURRENT_PRICE",
        "value": "example"
      }
    ]
  }
]
Example
{
  "offerId": "example",
  "currentPrice": {
    "value": 0,
    "currencyId": "RUR"
  },
  "lastValidPrice": null,
  "verdicts": [
    {
      "type": "PRICE_CHANGE",
      "params": [
        {
          "name": "CURRENT_PRICE",
          "value": "example"
        }
      ]
    }
  ]
}

GetQuarantineOffersResultDTO

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

Name

Description

offers

Type: QuarantineOfferDTO[]

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

Example
[
  {
    "offerId": "example",
    "currentPrice": {
      "value": 0,
      "currencyId": "RUR"
    },
    "lastValidPrice": null,
    "verdicts": [
      {
        "type": "PRICE_CHANGE",
        "params": [
          {}
        ]
      }
    ]
  }
]

paging

Type: ScrollingPagerDTO

Информация о страницах результатов.

Example
{
  "nextPageToken": "example",
  "prevPageToken": "example"
}
Example
{
  "paging": {
    "nextPageToken": "example",
    "prevPageToken": "example"
  },
  "offers": [
    {
      "offerId": "example",
      "currentPrice": {
        "value": 0,
        "currencyId": "RUR"
      },
      "lastValidPrice": null,
      "verdicts": [
        {
          "type": "PRICE_CHANGE",
          "params": [
            null
          ]
        }
      ]
    }
  ]
}

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"
        }
      ]
    }
    

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.