Информация об остатках и оборачиваемости

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

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

Возвращает данные об остатках товаров (для всех моделей) и об оборачиваемости товаров (для модели FBY).

Для модели FBY: информация об остатках может возвращаться с нескольких складов Маркета, у которых будут разные warehouseId. Получить список складов Маркета можно с помощью метода GET warehouses.

По умолчанию данные по оборачивамости не возращаются

Чтобы они были в ответе, передавайте true в поле withTurnover.

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

Request

POST

https://api.partner.market.yandex.ru/campaigns/{campaignId}/offers/stocks

Path parameters

Name

Description

campaignId*

Type: integer<int64>

Идентификатор магазина в кабинете.

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

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

Min value: 1

Query parameters

Name

Description

limit

Type: integer<int32>

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

page_token

Type: string

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

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

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

Если задан page_token и в запросе есть параметры page_number и page_size, они игнорируются.
Example: eyBuZXh0SWQ6IDIzNDIgfQ==

Body

application/json
{
    "stocksWarehouseId": 0,
    "withTurnover": false,
    "archived": false,
    "offerIds": [
        "string"
    ]
}

Name

Description

archived

Type: boolean

Фильтр по нахождению в архиве.

Передайте true, чтобы получить информацию об остатках товаров, которые находятся в архиве. Если фильтр не заполнен или передано false, в ответе возвращается информация о товарах, которые не находятся в архиве.

offerIds

Type: string[]

Фильтр по вашим SKU товаров.

Возвращается информация об остатках всех переданных SKU, включая товары в архиве.

Такой список возвращается только целиком

Если вы запрашиваете информацию по конкретным SKU, не заполняйте:

  • page_token
  • limit
  • archived
  • stocksOnWarehouse


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

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

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

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

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

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

Min length: 1

Max length: 255

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

Min items: 1

Max items: 500

Unique items  

stocksWarehouseId

Type: integer<int64>

Идентификатор склада.

Если параметр указан, возвращаются только товары в наличии на переданном складе.

Для модели FBY: получить список складов Маркета можно с помощью метода GET warehouses.

Min value: 1

withTurnover

Type: boolean

Только для модели FBY

Возвращать ли информацию по оборачиваемости.

Значение по умолчанию: false. Если информация нужна, передайте значение true.

Default: false

Responses

200 OK

Остатки товаров на складах.

Body

application/json
{
    "status": "OK",
    "result": {
        "paging": {
            "nextPageToken": "string",
            "prevPageToken": "string"
        },
        "warehouses": [
            {
                "warehouseId": 0,
                "offers": [
                    {
                        "offerId": "string",
                        "turnoverSummary": {
                            "turnover": "LOW",
                            "turnoverDays": 0
                        },
                        "stocks": [
                            {
                                "type": "FIT",
                                "count": 0
                            }
                        ],
                        "updatedAt": "2022-12-29T18:02:01Z"
                    }
                ]
            }
        ]
    }
}

Name

Description

result

Type: GetWarehouseStocksDTO

Список складов с информацией об остатках на каждом из них.

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

GetWarehouseStocksDTO

Список складов с информацией об остатках на каждом из них.

Name

Description

warehouses*

Type: WarehouseOffersDTO[]

Страница списка складов.
Информация об остатках товаров на складе.

paging

Type: ScrollingPagerDTO

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

ApiResponseStatusType

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

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

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

WarehouseOffersDTO

Информация об остатках товаров на складе.

Name

Description

offers*

Type: WarehouseOfferDTO[]

Информация об остатках.
Информация об остатках товара.

warehouseId*

Type: integer<int64>

Идентификатор склада.

ScrollingPagerDTO

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

Name

Description

nextPageToken

Type: string

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

prevPageToken

Type: string

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

WarehouseOfferDTO

Информация об остатках товара.

Name

Description

offerId*

Type: string

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

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

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

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

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

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

Min length: 1

Max length: 255

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

stocks*

Type: WarehouseStockDTO[]

Информация об остатках.
Информация об остатках товара.

turnoverSummary

Type: TurnoverDTO

Информация об оборачиваемости.

updatedAt

Type: string<date-time>

Дата и время последнего обновления информации об остатках.

Формат даты и времени: ISO 8601 со смещением относительно UTC. Например, 2023-11-21T00:42:42+03:00.

WarehouseStockDTO

Информация об остатках товара.

Name

Description

count*

Type: integer<int64>

Значение остатков.

type*

Type: WarehouseStockType

Тип остатков.

Enum: FIT, FREEZE, AVAILABLE, QUARANTINE, UTILIZATION, DEFECT, EXPIRED

TurnoverDTO

Информация об оборачиваемости товара.

Name

Description

turnover*

Type: TurnoverType

Оценка оборачиваемости.

Enum: LOW, ALMOST_LOW, HIGH, VERY_HIGH, NO_SALES, FREE_STORE

turnoverDays

Type: number<double>

Значение в днях. Что это за число?

WarehouseStockType

Тип остатков товаров на складе:

  • AVAILABLE (соответствует типу «Доступный к заказу» в отчете «Остатки на складе» в кабинете продавца на Маркете) — товар, доступный для продажи.

  • DEFECT (соответствует типу «Брак») — товар с браком.

  • EXPIRED (соответствует типу «Просрочен») — товар с истекшим сроком годности.

  • FIT (соответствует типу «Годный») — товар, который доступен для продажи или уже зарезервирован.

  • FREEZE — товар, который зарезервирован для заказов.

  • QUARANTINE (соответствует типу «Карантин») — товар, временно недоступный для продажи (например, товар перемещают из одного помещения склада в другое).

  • UTILIZATION — товар, который будет утилизирован.

Type

Description

WarehouseStockType

Enum: FIT, FREEZE, AVAILABLE, QUARANTINE, UTILIZATION, DEFECT, EXPIRED

TurnoverType

Оценка оборачиваемости.

enum Диапазон оборачиваемости Комментарий
LOW turnoverDays ≥ 120
ALMOST_LOW 100 ≤ turnoverDays < 120
HIGH 45 ≤ turnoverDays < 100
VERY_HIGH 0 ≤ turnoverDays < 45
NO_SALES Продаж нет.
FREE_STORE Любое значение. Платить за хранение товаров этой категории не требуется.

Type

Description

TurnoverType

Enum: LOW, ALMOST_LOW, HIGH, VERY_HIGH, NO_SALES, FREE_STORE

400 Bad Request

Запрос содержит неправильные данные.

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

ApiErrorDTO

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

Name

Description

code*

Type: string

Код ошибки.

message

Type: string

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

401 Unauthorized

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

403 Forbidden

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

420 Method Failure

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

500 Internal Server Error

Внутренняя ошибка сервера.

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR