Структура и содержание отчетов могут изменяться без предварительного уведомления
Например, может добавиться новая колонка или поменяться название листа.
Отчет по остаткам на складах
Метод доступен для моделей: FBY, FBS, Экспресс и DBS.
Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке
- offers-and-cards-management — Управление товарами и карточками
- all-methods — Полное управление кабинетом
Запускает генерацию отчета по остаткам на складах. Что это за отчет
Какая информация вернется:
- Для модели FBY, если указать
campaignId, — об остатках на складах Маркета. - Для остальных моделей, если указать
campaignId, — об остатках на соответствующем складе магазина. - Для остальных моделей, если указать
businessId, — об остатках на всех складах магазинов в кабинете, кроме FBY. Используйте фильтрcampaignIds, чтобы указать определенные магазины.
⚠️ Не передавайте одновременно campaignId и businessId.
Узнать статус генерации и получить ссылку на готовый отчет можно с помощью запроса GET v2/reports/info/{reportId}.
Пояснение к колонкам отчета:
Лист Остатки на складе (файл stocks_on_warehouses)
|
Название колонки в CSV |
Название колонки в JSON |
Название колонки в XLSX |
Тип значения |
|
SHOP_SKU |
shopSku |
SSKU |
string |
|
ARTICLE |
article |
Ваш SKU |
string |
|
MARKET_SKU |
marketSku |
SKU на Яндексе |
integer |
|
PRODUCT_NAME |
productName |
Название товара |
string |
|
VALID |
valid |
Годный |
integer |
|
RESERVED |
reserved |
Резерв |
integer |
|
AVAILABLE_FOR_ORDER |
availableForOrder |
Доступно для заказа |
integer |
|
QUARANTINE |
quarantine |
Карантин |
integer |
|
UTILIZATION |
utilization |
Передан на утилизацию |
integer |
|
DEFECT |
defect |
Брак |
integer |
|
EXPIRED |
expired |
Просрочен |
integer |
|
LENGTH |
length |
Длина, см |
integer |
|
WIDTH |
width |
Ширина, см |
integer |
|
HEIGHT |
height |
Высота, см |
integer |
|
WEIGHT |
weight |
Вес, кг |
number |
|
WAREHOUSE |
warehouse |
Склад |
string |
|
SELLING_STATUS |
sellingStatus |
Статус продаж |
string |
|
RECOMMENDATIONS |
recommendations |
Рекомендации |
string |
|
TURNOVER |
turnover |
Оборачиваемость за \d{2}.\d{2}.\d{2}-\d{2}.\d{2}.\d |
string |
Пояснение к колонкам отчета:
Лист Список товаров (файл mass_shared_stocks)
|
Название колонки в CSV |
Название колонки в JSON |
Название колонки в XLSX |
Тип значения |
|
ERRORS |
errors |
Критичные ошибки |
string |
|
WARNINGS |
warnings |
Некритичные ошибки |
string |
|
SHOP_SKU |
shopSku |
Ваш SKU * |
string |
|
PRODUCT_NAME |
productName |
Название товара |
string |
|
COUNT |
count |
Доступное количество товара * |
integer |
Пояснение к колонкам отчета:
Лист Остатки на складах (файл stocks_business)
|
Название колонки в CSV |
Название колонки в JSON |
Название колонки в XLSX |
Тип значения |
|
ERRORS |
errors |
Критичные ошибки |
string |
|
SHOP_SKU |
shopSku |
Ваш SKU * |
string |
|
PRODUCT_NAME |
productName |
Название товара |
string |
|
PLACEMENT_TYPE |
placementType |
Модель работы |
string |
|
WAREHOUSE_AND_SHOP |
warehouseAndShop |
Склад * |
string |
|
COUNT |
count |
Доступно для заказа * |
integer |
|
RESERVE |
reserve |
Резерв |
integer |
|
PRICE |
price |
Цена |
string |
|
STATUS |
status |
Статус |
string |
|
COMMENT |
comment |
Примечание |
string |
| ⚙️ Лимит: 100 запросов в час |
|---|
Request
POST
https://api.partner.market.yandex.ru/v2/reports/stocks-on-warehouses/generate
Query parameters
|
Name |
Description |
|
format |
Type: ReportFormatType Формат отчета или документа. Формат отчета:
Default: Enum: |
ReportFormatType
Формат отчета:
FILE— файл с электронной таблицей (XLSX).CSV— ZIP-архив с CSV-файлами на каждый лист отчета.JSON— ZIP-архив с JSON-файлами на каждый лист отчета.
Type: string
Default: FILE
Enum: FILE, CSV, JSON
Body
application/json
{
"campaignId": 1,
"businessId": 1,
"warehouseIds": [
0
],
"reportDate": "2025-01-01",
"categoryIds": [
0
],
"hasStocks": true,
"campaignIds": [
null
]
}
|
Name |
Description |
|
businessId |
Type: BusinessId Только для моделей DBS, FBS и Экспресс Идентификатор кабинета, по магазинам которого нужно сформировать отчет (кроме FBY-магазинов). Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns. ℹ️ Что такое кабинет и магазин на Маркете Min value: Example: |
|
campaignId |
Type: CampaignId Для моделей DBS, FBS и Экспресс параметр скоро станет недоступен Для получения информации об остатках на складе магазина передайте Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия. Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:
⚠️ Не путайте его с:
Min value: Example: |
|
campaignIds |
Type: CampaignId[] | null Фильтр по магазинам для отчета по кабинету (кроме модели FBY). Передавайте вместе с Min items: Unique items: Example
|
|
categoryIds |
Type: integer[] | null Фильтр по категориям на Маркете (кроме модели FBY). Min items: Unique items: Example
|
|
hasStocks |
Type: boolean Фильтр по наличию остатков (кроме модели FBY). |
|
reportDate |
Type: string<date> Фильтр по дате (для модели FBY). В отчет попадут данные за предшествующий дате день. Формат даты: Example: |
|
warehouseIds |
Type: integer[] | null Фильтр по идентификаторам складов (только модель FBY). Чтобы узнать идентификатор, воспользуйтесь запросом GET v2/warehouses. Min items: Unique items: Example
|
CampaignId
Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.
Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:
- блок Идентификатор кампании;
- вкладка Лог запросов → выпадающий список в блоке Показывать логи.
⚠️ Не путайте его с:
- идентификатором магазина, который отображается в личном кабинете продавца;
- рекламными кампаниями.
Type: integer
Min value: 1
BusinessId
Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns.
ℹ️ Что такое кабинет и магазин на Маркете
Type: integer
Min value: 1
Responses
200 OK
В ответ приходит идентификатор, который позволяет узнавать статус генерации и скачать готовый отчет.
Body
application/json
{
"status": "OK",
"result": {
"reportId": "example",
"estimatedGenerationTime": 0
}
}
Type: object
All of 2 types
-
Type: ApiResponse
Стандартная обертка для ответов сервера.
Example
{ "status": "OK" } -
Type: object
result
Type: GenerateReportDTO
Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета или документа.
Example
{ "reportId": "example", "estimatedGenerationTime": 0 }Example
{ "result": { "reportId": "example", "estimatedGenerationTime": 0 } }
ApiResponseStatusType
Тип ответа. Возможные значения:
OK— ошибок нет.ERROR— при обработке запроса произошла ошибка.
Type: string
Enum: OK, ERROR
ApiResponse
Стандартная обертка для ответов сервера.
|
Name |
Description |
|
status |
Type: ApiResponseStatusType Тип ответа. Возможные значения:
Enum: |
Example
{
"status": "OK"
}
GenerateReportDTO
Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета или документа.
|
Name |
Description |
|
estimatedGenerationTime |
Type: integer Ожидаемая продолжительность генерации в миллисекундах. |
|
reportId |
Type: string Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета или документа. Example: |
Example
{
"reportId": "example",
"estimatedGenerationTime": 0
}
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.