Информация об остатках и оборачиваемости
Метод доступен для моделей: FBY, FBS, Экспресс и DBS.
Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке
- offers-and-cards-management — Управление товарами и карточками
- offers-and-cards-management:read-only — Просмотр товаров и карточек
- all-methods — Полное управление кабинетом
- all-methods:read-only — Просмотр всех данных
Возвращает данные об остатках товаров (для всех моделей) и об оборачиваемости товаров (для модели FBY).
По умолчанию данные по оборачивамости не возращаются
Чтобы они были в ответе, передавайте true в поле withTurnover.
Для модели FBY: информация об остатках может возвращаться с нескольких складов Маркета, у которых будут разные warehouseId. Получить список складов Маркета можно с помощью метода GET v2/warehouses.
Для модели FBS: в ответе может вернуться не только партнерский склад, но и склад возвратов Маркета. Это возможно, если возврат поступил в указанную продавцом точку возвратов и долго не был забран.
Ограничение для параметра limit
Не передавайте значение больше 200.
| ⚙️ Лимит: 100 000 товаров в минуту |
|---|
Request
POST
https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/offers/stocks
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
{
"stocksWarehouseId": 1,
"hasStocks": true,
"withTurnover": false,
"archived": true,
"offerIds": [
"example"
]
}
|
Name |
Description |
|
archived |
Type: boolean Фильтр по нахождению в архиве. Передайте |
|
hasStocks |
Type: boolean Только для модели FBY Фильтр по наличию товаров. Используйте только вместе со Передайте |
|
offerIds |
Type: ShopSku[] | null Фильтр по вашим SKU товаров. Возвращается информация об остатках всех переданных SKU, включая товары в архиве. Такой список возвращается только целиком Если вы запрашиваете информацию по конкретным SKU, не заполняйте:
Min items: Max items: Unique items: Example
|
|
stocksWarehouseId |
Type: integer Идентификатор склада. Если параметр указан, возвращаются только товары на переданном складе. Для модели FBY: получить список складов Маркета можно с помощью метода GET v2/warehouses. Min value: |
|
withTurnover |
Type: boolean Только для модели FBY Возвращать ли информацию по оборачиваемости. Значение по умолчанию: Default: |
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
Responses
200 OK
Остатки товаров на складах.
Body
application/json
{
"status": "OK"
}
Type: object
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"
}
TurnoverType
Оценка оборачиваемости.
| enum | Диапазон оборачиваемости | Комментарий |
|---|---|---|
LOW |
turnoverDays ≥ 120 |
|
ALMOST_LOW |
100 ≤ turnoverDays < 120 |
|
HIGH |
45 ≤ turnoverDays < 100 |
|
VERY_HIGH |
0 ≤ turnoverDays < 45 |
|
NO_SALES |
— | Продаж нет. |
FREE_STORE |
Любое значение. | Платить за хранение товаров этой категории не требуется. |
Type: string
Enum: LOW, ALMOST_LOW, HIGH, VERY_HIGH, NO_SALES, FREE_STORE
TurnoverDTO
Информация об оборачиваемости товара.
Подробнее о хранении и оборачиваемости товаров читайте в Справке Маркета для продавцов.
|
Name |
Description |
|
turnover |
Type: TurnoverType Оценка оборачиваемости. Оценка оборачиваемости. |enum|Диапазон оборачиваемости|Комментарий|
|-|-|-|
| Enum: |
|
turnoverDays |
Type: number Значение в днях. |
Example
{
"turnover": "LOW",
"turnoverDays": 0.5
}
WarehouseStockType
Тип остатков товаров на складе:
-
AVAILABLE(соответствует типу «Доступный к заказу» в отчете «Остатки на складе» в кабинете продавца на Маркете) — товар, доступный для продажи. -
DEFECT(соответствует типу «Брак») — товар с браком. -
EXPIRED(соответствует типу «Просрочен») — товар с истекшим сроком годности. -
FIT(соответствует типу «Годный») — товар, который доступен для продажи или уже зарезервирован. -
FREEZE— товар, который зарезервирован для заказов. -
QUARANTINE(соответствует типу «Карантин») — товар, временно недоступный для продажи (например, товар перемещают из одного помещения склада в другое). -
UTILIZATION— товар, который будет утилизирован.
Type: string
Enum: FIT, FREEZE, AVAILABLE, QUARANTINE, UTILIZATION, DEFECT, EXPIRED
WarehouseStockDTO
Информация об остатках товара.
|
Name |
Description |
|
count |
Type: integer Значение остатков. |
|
type |
Type: WarehouseStockType Тип остатков. Тип остатков товаров на складе:
Enum: |
Example
{
"type": "FIT",
"count": 0
}
WarehouseOfferDTO
Информация об остатках товара.
|
Name |
Description |
|
offerId |
Type: ShopSku Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Важно Пробельные символы в начале и конце значения автоматически удаляются. Например, Что такое SKU и как его назначать Min length: Max length: Pattern: Example: |
|
stocks |
Type: WarehouseStockDTO[] Информация об остатках. Example
|
|
turnoverSummary |
Type: TurnoverDTO Информация об оборачиваемости. Информация об оборачиваемости товара. Подробнее о хранении и оборачиваемости товаров читайте в Справке Маркета для продавцов. Example
|
|
updatedAt |
Type: string<date-time> Дата и время последнего обновления информации об остатках. Формат даты и времени: ISO 8601 со смещением относительно UTC. Например, Example: |
Example
{
"offerId": "example",
"turnoverSummary": {
"turnover": "LOW",
"turnoverDays": 0.5
},
"stocks": [
{
"type": "FIT",
"count": 0
}
],
"updatedAt": "2025-01-01T00:00:00Z"
}
WarehouseOffersDTO
Информация об остатках товаров на складе.
|
Name |
Description |
|
offers |
Type: WarehouseOfferDTO[] Информация об остатках. Example
|
|
warehouseId |
Type: integer Идентификатор склада. Для модели FBY: возвращается идентификатор склада Маркета. Для модели FBS: может возвращаться идентификатор как партнерского склада, так и склада возвратов Маркета. |
Example
{
"warehouseId": 0,
"offers": [
{
"offerId": "example",
"turnoverSummary": {
"turnover": "LOW",
"turnoverDays": 0.5
},
"stocks": [
{
"type": "FIT",
"count": 0
}
],
"updatedAt": "2025-01-01T00:00:00Z"
}
]
}
GetWarehouseStocksDTO
Список складов с информацией об остатках на каждом из них.
|
Name |
Description |
|
warehouses |
Type: WarehouseOffersDTO[] Страница списка складов. Для модели FBY: может содержать несколько складов Маркета. Для модели FBS: может содержать как партнерский склад, так и склад возвратов Маркета. Example
|
|
paging |
Type: ScrollingPagerDTO Информация о страницах результатов. Example
|
Example
{
"paging": {
"nextPageToken": "example"
},
"warehouses": [
{
"warehouseId": 0,
"offers": [
{
"offerId": "example",
"turnoverSummary": {},
"stocks": [
null
],
"updatedAt": "2025-01-01T00:00:00Z"
}
]
}
]
}
400 Bad Request
Запрос содержит неправильные данные. Подробнее об ошибке
Body
application/json
{
"status": "OK"
}
Type: object
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"
}
401 Unauthorized
В запросе не указаны данные для авторизации. Подробнее об ошибке
Body
application/json
{
"status": "OK"
}
Type: object
403 Forbidden
Данные для авторизации неверны или доступ к ресурсу запрещен. Подробнее об ошибке
Body
application/json
{
"status": "OK"
}
Type: object
420 Method Failure
Превышено ограничение на доступ к ресурсу. Подробнее об ошибке
Body
application/json
{
"status": "OK"
}
Type: object
500 Internal Server Error
Внутренняя ошибка Маркета. Подробнее об ошибке
Body
application/json
{
"status": "OK"
}
Type: object
pathParams:
- description: "Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.\n\nЕго можно узнать с помощью запроса [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md) или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → **Настройки** и в меню слева выберите **API и модули**:\n\n* блок **Идентификатор кампании**;\n* вкладка **Лог запросов** → выпадающий список в блоке **Показывать логи**.\n\n⚠️ Не путайте его с:\n- идентификатором магазина, который отображается в личном кабинете продавца;\n- рекламными кампаниями.\n"
name: campaignId
in: path
required: true
schema:
type: integer
format: int64
minimum: 1
searchParams:
- name: page_token
description: >
Идентификатор страницы c результатами.
Если параметр не указан, возвращается первая страница.
Рекомендуем передавать значение выходного параметра `nextPageToken`,
полученное при последнем запросе.
Если задан `page_token` и в запросе есть параметры `page` и `pageSize`,
они игнорируются.
in: query
required: false
example: eyBuZXh0SWQ6IDIzNDIgfQ==
schema:
type: string
- name: limit
description: |
Количество значений на одной странице.
in: query
required: false
example: 20
schema:
type: integer
format: int32
minimum: 1
headers: []
body: |-
{
"stocksWarehouseId": 1,
"hasStocks": true,
"withTurnover": false,
"archived": true,
"offerIds": [
"example"
]
}
schema:
description: |
Фильтры для запроса остатков.
type: object
properties:
stocksWarehouseId:
description: "Идентификатор склада.\n\nЕсли параметр указан, возвращаются только товары на переданном складе.\n\n**Для модели FBY:** получить список складов Маркета можно с помощью метода [GET\_v2/warehouses](../../reference/warehouses/getFulfillmentWarehouses.md).\n"
type: integer
format: int64
minimum: 1
hasStocks:
description: >
**Только для модели FBY**
Фильтр по наличию товаров. Используйте только вместе со
`stocksWarehouseId`.
Передайте `false`, чтобы получить информацию о товарах, которых нет в
наличие. При значении `true` возвращаются данные о товарах, которые есть
на указанном складе.
type: boolean
withTurnover:
description: >
**Только для модели FBY**
Возвращать ли информацию по оборачиваемости.
Значение по умолчанию: `false`. Если информация нужна, передайте
значение `true`.
type: boolean
default: false
archived:
description: >
Фильтр по нахождению в архиве.
Передайте `true`, чтобы получить информацию об остатках товаров, которые
находятся в архиве. Если фильтр не заполнен или передано `false`, в
ответе возвращается информация о товарах, которые не находятся в архиве.
type: boolean
offerIds:
description: "Фильтр по вашим SKU товаров.\n\nВозвращается информация об остатках всех переданных SKU, включая товары в архиве.\n\n{% note warning \"Такой список возвращается только целиком\" %}\n\nЕсли вы запрашиваете информацию по конкретным SKU, не заполняйте:\n\n* `page_token`\n* `limit`\n* `archived`\n* `stocksOnWarehouse`\n\n{% endnote %}\n\n\_\n"
type: array
uniqueItems: true
minItems: 1
maxItems: 500
nullable: true
items:
description: "Ваш SKU —\_идентификатор товара в вашей системе.\n\nПравила использования SKU:\n\n* У каждого товара SKU должен быть свой.\n\n* Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.\n\nSKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте [в Справке Маркета для продавцов](https://yandex.ru/support2/marketplace/ru/assortment/operations/edit-sku).\n\n{% note warning %}\n\nПробельные символы в начале и конце значения автоматически удаляются. Например, `\" SKU123 \"` и `\"SKU123\"` будут обработаны как одинаковые значения.\n\n{% endnote %}\n\n[Что такое SKU и как его назначать](https://yandex.ru/support/marketplace/assortment/add/index.html#fields)\n"
type: string
pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$
x-transform: trim
minLength: 1
maxLength: 255
bodyType: application/json
method: post
security:
- type: apiKey
name: Api-Key
in: header
- type: oauth2
x-inline: true
flows:
implicit:
authorizationUrl: https://oauth.yandex.ru/authorize
scopes:
market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
path: v2/campaigns/{campaignId}/offers/stocks
host: https://api.partner.market.yandex.ru
No longer supported, please use an alternative and newer version.
Среднее количество дней, за которое товар продается. Подробно об оборачиваемости рассказано в Справке Маркета для продавцов.