Информация об остатках
Метод доступен для моделей: FBS, Экспресс и DBS.
Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке
- offers-and-cards-management — Управление товарами и карточками
- offers-and-cards-management:read-only — Просмотр товаров и карточек
- all-methods — Полное управление кабинетом
- all-methods:read-only — Просмотр всех данных
Возвращает данные об остатках товаров на складе кабинета.
Метод подходит, только если в кабинете нет групп складов
Если в кабинете есть группы складов, используйте метод POST v2/campaigns/{campaignId}/offers/stocks. Что такое группы складов и зачем они нужны.
⚙️ Лимит: 500 запросов в минуту |
|---|
Request
POST
https://api.partner.market.yandex.ru/v3/businesses/{businessId}/offers/stocks
Path parameters
|
Name |
Description |
|
businessId |
Type: integer Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns. ℹ️ Что такое кабинет и магазин на Маркете Min value: |
Query parameters
|
Name |
Description |
|
limit |
Type: integer Количество значений на одной странице. Default: Min value: Max value: |
|
pageToken |
Type: string Идентификатор страницы c результатами. Если параметр не указан, возвращается первая страница. Передавайте значение выходного параметра Example: `` |
Body
application/json
{
"partnerWarehouseId": 1,
"archived": true,
"offerIds": [
"example"
]
}
|
Name |
Description |
|
partnerWarehouseId |
Type: integer Идентификатор склада. Чтобы узнать идентификатор склада, воспользуйтесь запросом POST v3/businesses/{businessId}/warehouses. Min value: |
|
archived |
Type: boolean Фильтр по нахождению в архиве. Передайте |
|
offerIds |
Type: ShopSku[] | null Фильтр по вашим SKU товаров. Возвращается информация об остатках всех переданных SKU, включая товары в архиве. Такой список возвращается только целиком Если вы запрашиваете информацию по конкретным SKU, не заполняйте:
Min items: Max 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
Responses
200 OK
Остатки товаров на складе.
Body
application/json
{
"status": "OK",
"result": {
"partnerWarehouseId": 1,
"offers": [
{
"offerId": "example",
"stocks": [
null
],
"updatedAt": "2025-01-01T00:00:00Z"
}
],
"paging": {
"nextPageToken": "example"
}
}
}
Type: object
All of 2 types
-
Type: ApiResponse
Стандартная обертка для ответов сервера.
Example
{ "status": "OK" } -
Type: object
result
Type: GetStocksOnPartnerWarehousesDTO
Информация об остатках товаров на складе.
Example
{ "partnerWarehouseId": 1, "offers": [ { "offerId": "example", "stocks": [ { "type": "FIT", "count": 0 } ], "updatedAt": "2025-01-01T00:00:00Z" } ], "paging": { "nextPageToken": "example" } }Example
{ "result": { "partnerWarehouseId": 1, "offers": [ { "offerId": "example", "stocks": [ {} ], "updatedAt": "2025-01-01T00:00:00Z" } ], "paging": { "nextPageToken": "example" } } }
ApiResponseStatusType
Тип ответа. Возможные значения:
OK— ошибок нет.ERROR— при обработке запроса произошла ошибка.
Type: string
Enum: OK, ERROR
ApiResponse
Стандартная обертка для ответов сервера.
|
Name |
Description |
|
status |
Type: ApiResponseStatusType Тип ответа. Возможные значения:
Enum: |
Example
{
"status": "OK"
}
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
}
PartnerWarehouseOfferDTO
Информация об остатках товара.
|
Name |
Description |
|
offerId |
Type: ShopSku Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Важно Пробельные символы в начале и конце значения автоматически удаляются. Например, Что такое SKU и как его назначать Min length: Max length: Pattern: Example: |
|
stocks |
Type: WarehouseStockDTO[] Информация об остатках. Example
|
|
updatedAt |
Type: string<date-time> Дата и время последнего обновления информации об остатках. Формат даты и времени: ISO 8601 со смещением относительно UTC. Например, Example: |
Example
{
"offerId": "example",
"stocks": [
{
"type": "FIT",
"count": 0
}
],
"updatedAt": "2025-01-01T00:00:00Z"
}
PackagingForwardScrollingPagerDTO
Идентификатор следующей страницы.
|
Name |
Description |
|
nextPageToken |
Type: string Идентификатор следующей страницы результатов. Example: |
Example
{
"nextPageToken": "example"
}
GetStocksOnPartnerWarehousesDTO
Информация об остатках товаров на складе.
|
Name |
Description |
|
offers |
Type: PartnerWarehouseOfferDTO[] Страница списка товаров. Example
|
|
partnerWarehouseId |
Type: integer Идентификатор склада. Min value: |
|
paging |
Type: PackagingForwardScrollingPagerDTO Идентификатор следующей страницы. Example
|
Example
{
"partnerWarehouseId": 1,
"offers": [
{
"offerId": "example",
"stocks": [
{
"type": "FIT",
"count": 0
}
],
"updatedAt": "2025-01-01T00:00:00Z"
}
],
"paging": {
"nextPageToken": "example"
}
}
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" } ] }