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

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

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

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

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

Request

POST

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

Path parameters

Name

Description

campaignId*

Type: integer<int64>

Идентификатор кампании в API и магазина в кабинете. Каждая кампания в API соответствует магазину в кабинете.

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

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

Query parameters

Name

Description

page_token

Type: string

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

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

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

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

limit

Type: integer<int32>

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

Body

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

Name

Description

withTurnover

Type: boolean

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

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

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

archived

Type: boolean

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

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

offerIds

Type: string[]

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

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

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

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

  • page_token
  • limit
  • archived


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

Разрешена любая последовательность длиной до 255 знаков.

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

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

  • SKU товара нельзя менять — можно только удалить товар и добавить заново с новым SKU.

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

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


Min length: 1
Max length: 255
Pattern: ^[^\x00-\x08\x0A-\x1f\x7f]{1,255}$
Max items: 500
Unique items:

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

status

Type: ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

result

Type: GetWarehouseStocksDTO

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

ApiResponseStatusType

Тип ответа.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

GetWarehouseStocksDTO

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

Name

Description

paging

Type: ScrollingPagerDTO

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

warehouses

Type: WarehouseOffersDTO[]

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

ScrollingPagerDTO

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

Name

Description

nextPageToken

Type: string

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

prevPageToken

Type: string

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

WarehouseOffersDTO

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

Name

Description

warehouseId*

Type: integer<int64>

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

offers*

Type: WarehouseOfferDTO[]

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

WarehouseOfferDTO

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

Name

Description

offerId*

Type: string

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

Разрешена любая последовательность длиной до 255 знаков.

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

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

  • SKU товара нельзя менять — можно только удалить товар и добавить заново с новым SKU.

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

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


Min length: 1
Max length: 255
Pattern: ^[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

turnoverSummary

Type: TurnoverDTO

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

stocks

Type: WarehouseStockDTO[]

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

updatedAt

Type: string<date-time>

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

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

TurnoverDTO

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

Name

Description

turnover*

Type: TurnoverType

Оценка оборачиваемости.
Enum: LOW, ALMOST_LOW, HIGH, VERY_HIGH, NO_SALES, FREE_STORE

turnoverDays

Type: number<double>

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

WarehouseStockDTO

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

Name

Description

type*

Type: WarehouseStockType

Тип остатков.
Enum: FIT, FREEZE, AVAILABLE, QUARANTINE, UTILIZATION, DEFECT, EXPIRED

count*

Type: integer<int64>

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

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

WarehouseStockType

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

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

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

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

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

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

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

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

Type

Description

WarehouseStockType

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

400 Bad Request

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

Body

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

Name

Description

status

Type: ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

Type: ApiErrorDTO[]

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

ApiErrorDTO

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

Name

Description

code*

Type: string

Код ошибки.

message

Type: string

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

401 Unauthorized

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

Body

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

Name

Description

status

Type: ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

Type: ApiErrorDTO[]

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

403 Forbidden

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

Body

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

Name

Description

status

Type: ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

Type: ApiErrorDTO[]

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

420 Method Failure

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

Body

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

Name

Description

status

Type: ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

Type: ApiErrorDTO[]

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

500 Internal Server Error

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

Body

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

Name

Description

status

Type: ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

Type: ApiErrorDTO[]

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