Список товаров, находящихся в карантине по цене в магазине
Метод доступен для всех моделей.
Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке
- pricing — Управление ценами
- pricing:read-only — Просмотр цен
- all-methods — Полное управление кабинетом
- all-methods:read-only — Просмотр всех данных
Возвращает список товаров, которые находятся в карантине по цене, установленной в заданном магазине.
Проверьте цену каждого из товаров, который попал в карантин. Если ошибки нет и цена правильная, подтвердите ее с помощью запроса 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: |
Query parameters
|
Name |
Description |
|
limit |
Type: integer Количество значений на одной странице. Min value: |
|
page_token |
Type: string Идентификатор страницы c результатами. Если параметр не указан, возвращается первая страница. Рекомендуем передавать значение выходного параметра Если задан Example: |
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: Unique items: Example
|
|
categoryIds |
Type: integer[] | null Фильтр по категориям на Маркете. Min items: Unique items: Example
|
|
offerIds |
Type: ShopSku[] | null Идентификаторы товаров, информация о которых нужна.
Min items: Max items: Unique items: Example
|
|
tags |
Type: string[] | null Фильтр по тегам. Min items: Unique items: Example
|
|
vendorNames |
Type: string[] | null Фильтр по брендам. Min items: Unique items: 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 Тип ответа. Возможные значения:
Enum: |
Example
{
"status": "OK"
}
ForwardScrollingPagerDTO
Идентификатор следующей страницы.
|
Name |
Description |
|
nextPageToken |
Type: string Идентификатор следующей страницы результатов. Example: |
Example
{
"nextPageToken": "example"
}
ScrollingPagerDTO
Информация о страницах результатов.
Type: object
All of 2 types
-
Type: ForwardScrollingPagerDTO
Идентификатор следующей страницы.
Example
{ "nextPageToken": "example" } -
Type: object
prevPageToken
Type: string
Идентификатор предыдущей страницы результатов.
Example:
exampleExample
{ "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 Название параметра. Имя параметра причины скрытия товара по цене.
Enum: |
|
value |
Type: string Значение параметра. Example: |
Example
{
"name": "CURRENT_PRICE",
"value": "example"
}
PriceQuarantineVerdictDTO
Причина попадания товара в карантин.
|
Name |
Description |
|
params |
Type: PriceQuarantineVerdictParameterDTO[] Цена, из-за которой товар попал в карантин, и значения для сравнения. Конкретный набор параметров зависит от типа карантина. Example
|
|
type |
Type: PriceQuarantineVerdictType Тип карантина. Типы карантина:
Enum: |
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 Валюта. Коды валют:
Enum: |
|
value |
Type: number Цена товара. Min value: Exclusive min: |
Example
{
"value": 0,
"currencyId": "RUR"
}
QuarantineOfferDTO
Товар в карантине.
|
Name |
Description |
|
currentPrice |
Type: BasePriceDTO Вместо него используйте значение из Новая цена. Цена товара. Example
|
|
lastValidPrice |
Type: BasePriceDTO Вместо него используйте значение из Последняя цена до попадания в карантин. Цена товара. Example
|
|
offerId |
Type: ShopSku Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Важно Пробельные символы в начале и конце значения автоматически удаляются. Например, Что такое SKU и как его назначать Min length: Max length: Pattern: Example: |
|
verdicts |
Type: PriceQuarantineVerdictDTO[] | null Причины попадания товара в карантин. Min items: 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
|
|
paging |
Type: ScrollingPagerDTO Информация о страницах результатов. 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: |
|
message |
Type: string Описание ошибки. 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:
1Example
[ { "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.