Аналитика и данные (analytics)
В разделе описаны методы получения:
В разделе описаны методы получения:
Методы получения статистики:
Статистика карточек товаров за период{{ /api/analytics/v3/sales-funnel/products }}
Метод формирует отчёт о товарах, сравнивая ключевые показатели за текущий период с аналогичным прошлым.
Данные отчёта обновляются 1 раз в 2 часа.
В течение часа после события появляется большая часть данных:
- о заказах
- о переходах в карточку товара
- о добавлениях товаров в корзину
Малая часть этих данных может появляться в течение нескольких дней.
Выкупы, отмены и возвраты отображаются в отчёте за тот день, когда товар был заказан. Например, если заказ был сделан 1 января, а покупатель вернул товар 10 января, данные об этом возврате появятся в отчёте за 1 января.
Окончательные итоги продаж вы можете отслеживать с помощью детализаций к отчётам реализации.
Параметры brandNames,subjectIds, tagIds, nmIds могут быть пустыми [], тогда в ответе возвращаются все карточки продавца.
Если вы указали несколько параметров, в ответе будут карточки, в которых есть одновременно все эти параметры. Если карточки не подходят по параметрам запроса, вернётся пустой ответ [].
Можно получить отчёт максимум за последние 365 дней.
В данных предыдущего периода:
- Данные в
pastPeriodуказаны за такой же период, что и вselectedPeriod - Если дата начала
pastPeriodраньше, чем год назад от текущей даты, она будет приведена к виду:pastPeriod.start = текущая дата — 365 дней
Можно использовать пагинацию.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Запрашиваемый период |
object Период для сравнения | |
| nmIds | Array of integers <uint64> [ 0 .. 1000 ] items [ items <uint64 > ] Артикулы WB, по которым нужно составить отчёт. Оставьте пустым, чтобы получить отчёт обо всех товарах |
| brandNames | Array of strings Список брендов для фильтрации |
| subjectIds | Array of integers <uint64> [ items <uint64 > ] Список ID предметов для фильтрации |
| tagIds | Array of integers <uint64> [ items <uint64 > ] Список ID ярлыков для фильтрации |
| skipDeletedNm | boolean Скрыть удалённые товары |
object Параметры сортировки | |
| limit | integer <uint32> <= 1000 Default: 50 Количество карточек товара в ответе |
| offset | integer <uint32> Default: 0 Сколько элементов пропустить. Например, для значения |
Responses
Request samples
- Payload
{- "selectedPeriod": {
- "start": "2023-06-01",
- "end": "2024-03-01"
}, - "pastPeriod": {
- "start": "2023-06-01",
- "end": "2024-03-01"
}, - "nmIds": [
- 1234567
], - "brandNames": [
- "nike",
- "adidas"
], - "subjectIds": [
- 64,
- 334
], - "tagIds": [
- 32,
- 53
], - "skipDeletedNm": false,
- "orderBy": {
- "field": "openCard",
- "mode": "asc"
}, - "limit": 231,
- "offset": 10
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "products": [
- {
- "product": {
- "nmId": 268913787,
- "title": "Кроссовки для бега",
- "vendorCode": "12345456",
- "brandName": "Demix",
- "subjectId": 105,
- "subjectName": "Кроссовки",
- "tags": [
- {
- "id": 1,
- "name": "Обувь"
}
], - "productRating": 4.5,
- "feedbackRating": 4,
- "stocks": {
- "wb": 0,
- "mp": 0,
- "balanceSum": 0
}
}, - "statistic": {
- "selected": {
- "period": {
- "start": "2023-06-01",
- "end": "2024-03-01"
}, - "openCount": 45,
- "cartCount": 34,
- "orderCount": 19,
- "orderSum": 1262,
- "buyoutCount": 19,
- "buyoutSum": 1262,
- "cancelCount": 0,
- "cancelSum": 0,
- "avgPrice": 1262,
- "avgOrdersCountPerDay": 0.04,
- "shareOrderPercent": 3,
- "addToWishlist": 455,
- "timeToReady": {
- "days": 1,
- "hours": 8,
- "mins": 34
}, - "localizationPercent": 100,
- "wbClub": {
- "orderCount": 19,
- "orderSum": 1262,
- "buyoutSum": 1262,
- "buyoutCount": 19,
- "cancelSum": 0,
- "cancelCount": 0,
- "avgPrice": 1262,
- "buyoutPercent": 43,
- "avgOrderCountPerDay": 0.04
}, - "conversions": {
- "addToCartPercent": 19,
- "cartToOrderPercent": 65,
- "buyoutPercent": 0
}
}, - "past": {
- "period": {
- "start": "2023-06-01",
- "end": "2024-03-01"
}, - "openCount": 45,
- "cartCount": 34,
- "orderCount": 19,
- "orderSum": 1262,
- "buyoutCount": 19,
- "buyoutSum": 1262,
- "cancelCount": 0,
- "cancelSum": 0,
- "avgPrice": 1262,
- "avgOrdersCountPerDay": 0.04,
- "shareOrderPercent": 3,
- "addToWishlist": 455,
- "timeToReady": {
- "days": 1,
- "hours": 8,
- "mins": 34
}, - "localizationPercent": 100,
- "wbClub": {
- "orderCount": 19,
- "orderSum": 1262,
- "buyoutSum": 1262,
- "buyoutCount": 19,
- "cancelSum": 0,
- "cancelCount": 0,
- "avgPrice": 1262,
- "buyoutPercent": 43,
- "avgOrderCountPerDay": 0.04
}, - "conversions": {
- "addToCartPercent": 19,
- "cartToOrderPercent": 65,
- "buyoutPercent": 0
}
}, - "comparison": {
- "openCountDynamic": 10,
- "cartCountDynamic": 30,
- "orderCountDynamic": -100,
- "orderSumDynamic": -100,
- "buyoutCountDynamic": -100,
- "buyoutSumDynamic": -100,
- "cancelCountDynamic": 0,
- "cancelSumDynamic": 0,
- "avgOrdersCountPerDayDynamic": 0,
- "avgPriceDynamic": -100,
- "shareOrderPercentDynamic": -80,
- "addToWishlistDynamic": 60,
- "timeToReadyDynamic": {
- "days": 1,
- "hours": 8,
- "mins": 34
}, - "localizationPercentDynamic": 0,
- "wbClubDynamic": {
- "orderCount": -100,
- "orderSum": -100,
- "buyoutSum": -100,
- "buyoutCount": -100,
- "cancelSum": 0,
- "cancelCount": 0,
- "avgPrice": -100,
- "buyoutPercent": 43,
- "avgOrderCountPerDay": 0.04
}, - "conversions": {
- "addToCartPercent": 19,
- "cartToOrderPercent": 65,
- "buyoutPercent": 0
}
}
}
}
], - "currency": "RUB"
}
}Статистика карточек товаров по дням{{ /api/analytics/v3/sales-funnel/products/history }}
Метод возвращает статистику карточек товаров по дням или неделям.
Можно получить данные максимум за последнюю неделю.
Данные отчёта обновляются 1 раз в 2 часа.
В течение часа после события появляется большая часть данных:
- о заказах
- о переходах в карточку товара
- о добавлениях товаров в корзину
Малая часть этих данных может появляться в течение нескольких дней.
Выкупы, отмены и возвраты отображаются в отчёте за тот день, когда товар был заказан. Например, если заказ был сделан 1 января, а покупатель вернул товар 10 января, данные об этом возврате появятся в отчёте за 1 января.
Окончательные итоги продаж вы можете отслеживать с помощью детализаций к отчётам реализации.
DETAIL_HISTORY_REPORT. Отчёты этого типа доступны только с подпиской Джем
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Запрашиваемый период |
| nmIds required | Array of integers <uint64> [ 1 .. 20 ] items [ items <uint64 > ] Артикулы WB, по которым нужно составить отчёт |
| skipDeletedNm | boolean Скрыть удалённые товары |
| aggregationLevel | string Default: day Enum: day week Тип агрегации. Если не указано, то по умолчанию используется агрегация по дням. |
Responses
Request samples
- Payload
{- "selectedPeriod": {
- "start": "2023-06-01",
- "end": "2024-03-01"
}, - "nmIds": [
- 0
], - "skipDeletedNm": true,
- "aggregationLevel": "day"
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
[- {
- "product": {
- "nmId": 268913787,
- "title": "Кроссовки для бега",
- "vendorCode": "12345456",
- "brandName": "Demix",
- "subjectId": 105,
- "subjectName": "Кроссовки"
}, - "history": [
- {
- "date": "2024-10-23",
- "openCount": 45,
- "cartCount": 34,
- "orderCount": 19,
- "orderSum": 1262,
- "buyoutCount": 19,
- "buyoutSum": 1262,
- "buyoutPercent": 35,
- "addToCartConversion": 43,
- "cartToOrderConversion": 0,
- "addToWishlistCount": 0
}
], - "currency": "RUB"
}
]Статистика групп карточек товаров по дням{{ /api/analytics/v3/sales-funnel/grouped/history }}
Метод возвращает статистику карточек товаров по дням или неделям.
Карточки товаров сгруппированы по предметам, брендам и ярлыкам.
Можно получить данные максимум за последнюю неделю.
Данные отчёта обновляются 1 раз в 2 часа.
В течение часа после события появляется большая часть данных:
- о заказах
- о переходах в карточку товара
- о добавлениях товаров в корзину
Малая часть этих данных может появляться в течение нескольких дней.
Выкупы, отмены и возвраты отображаются в отчёте за тот день, когда товар был заказан. Например, если заказ был сделан 1 января, а покупатель вернул товар 10 января, данные об этом возврате появятся в отчёте за 1 января.
Окончательные итоги продаж вы можете отслеживать с помощью детализаций к отчётам реализации.
Параметры brandNames, subjectIds, tagIds могут быть пустыми [], тогда группировка происходит по всем карточкам продавца.
Произведение количества предметов, брендов, ярлыков в запросе может быть не больше 16. Например, 4 бренда и 4 предмета или 2 предмета, 2 ярлыка и 4 бренда.
GROUPED_HISTORY_REPORT. Отчёты этого типа доступны только с подпиской Джем
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Запрашиваемый период |
| brandNames | Array of strings Список брендов для фильтрации |
| subjectIds | Array of integers <uint64> [ items <uint64 > ] Список ID предметов для фильтрации |
| tagIds | Array of integers <uint64> [ items <uint64 > ] Список ID ярлыков для фильтрации |
| skipDeletedNm | boolean Скрыть удалённые товары |
| aggregationLevel | string Default: day Enum: day week Тип агрегации. Если не указано, то по умолчанию используется агрегация по дням. |
Responses
Request samples
- Payload
{- "selectedPeriod": {
- "start": "2023-06-01",
- "end": "2024-03-01"
}, - "brandNames": [
- "nike",
- "adidas"
], - "subjectIds": [
- 64,
- 334
], - "tagIds": [
- 32,
- 53
], - "skipDeletedNm": false,
- "aggregationLevel": "day"
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": [
- {
- "product": {
- "nmId": 268913787,
- "title": "Кроссовки для бега",
- "vendorCode": "12345456",
- "brandName": "Demix",
- "subjectId": 105,
- "subjectName": "Кроссовки"
}, - "history": [
- {
- "date": "2024-10-23",
- "openCount": 45,
- "cartCount": 34,
- "orderCount": 19,
- "orderSum": 1262,
- "buyoutCount": 19,
- "buyoutSum": 1262,
- "buyoutPercent": 35,
- "addToCartConversion": 43,
- "cartToOrderConversion": 0,
- "addToWishlistCount": 0
}
], - "currency": "RUB"
}
]
}Метод получения отчёта Лента заказов
Получить отчёт{{ /api/analytics/v1/order-feed }}
Метод формирует набор данных о заказах и продажах.
Данные отчёта обновляются в режиме реального времени.
1 заказ = 1 сборочное задание = 1 единица товара
Параметры brandNames,subjectIds, tagIds, nmIds могут быть пустыми [], тогда в ответе возвращаются все заказы продавца.
Если вы указали несколько параметров, в ответе будут заказы, в которых есть одновременно все эти параметры. Если заказы не подходят по параметрам запроса, вернётся пустой массив [].
Можно получить отчёт максимум за последние 31 день.
Заказы отдаются по времени текущего статуса, от самого нового к самому раннему.
Можно использовать пагинацию.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 1 запрос | 1 мин | 1 запрос |
| Сервисный | 1 мин | 1 запрос | 1 мин | 1 запрос |
| Базовый с секретом | 1 мин | 1 запрос | 1 мин | 1 запрос |
| Базовый | 3 ч | 1 запрос | 3 ч | 1 запрос |
Authorizations:
Request Body schema: application/json
required | object Запрашиваемый период. По дате текущего статуса заказа |
| nmIds | Array of integers <uint64> <= 1000 items [ items <uint64 > ] Список артикулов WB для фильтрации |
| subjectIds | Array of integers <uint64> <= 50 items [ items <uint64 > ] Список ID предметов для фильтрации |
| brandNames | Array of strings <= 50 items Список брендов для фильтрации |
| tagIds | Array of integers <uint64> <= 50 items [ items <uint64 > ] Список ID ярлыков для фильтрации |
object Пагинация |
Responses
Request samples
- Payload
{- "selectedPeriod": {
- "start": "2026-07-23T00:00:00.00000+03:00",
- "end": "2026-07-31T00:00:00.00000+03:00"
}, - "nmIds": [
- 162579635,
- 166699779
], - "subjectIds": [
- 232,
- 1364
], - "brandNames": [
- "Abikas",
- "Tike"
], - "tagIds": [
- 3,
- 5,
- 6
], - "pagination": {
- "snapshotTime": "2026-07-28T15:04:05Z",
- "offset": 211,
- "limit": 4030
}
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "snapshotTime": "2026-07-03T15:04:05Z",
- "currency": "RUB",
- "orders": [
- {
- "nmId": 47254354,
- "chrtId": 91663228,
- "srid": "7513432034713632943.1.0",
- "createdAt": "2026-06-24T12:57:26+03:00",
- "updatedAt": "2026-06-26T19:19:38+03:00",
- "status": "cancel",
- "cancelType": "app",
- "warehouseName": "Склад WB",
- "warehouseRegion": "",
- "isMp": true,
- "destinationCity": "Санкт-Петербург",
- "destinationDistrict": "Северо-Западный",
- "sellerPrice": 4328,
- "isB2b": false
}
]
}
}Методы получения отчёта по поисковым запросам по вашим товарам, в частности:
- Основной страницы
- Дополнительных данных к основной странице с пагинацией по группам или пагинацией по товарам в группе
- Поисковых запросов по товару
- Заказов и позиций по поисковым запросам товара
Основная страница{{ /api/v2/search-report/report }}
Метод формирует набор данных для основной страницы отчёта по поисковым запросам с:
- общей информацией
- позициями товаров
- данными по видимости и переходам в карточку
- данными для таблицы по группам
Для получения дополнительных данных в таблице используйте отдельный запрос для:
Дополнительный параметр выбора списка товаров в таблице:
positionCluster— средняя позиция в поиске
Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Текущий период |
object Прошлый период для сравнения. Количество дней — меньше или равно | |
| nmIds | Array of integers <int32> [ items <int32 > ] Список артикулов WB для фильтрации |
| subjectIds | Array of integers <int32> [ items <int32 > ] Список ID предметов для фильтрации |
| brandNames | Array of strings Список брендов для фильтрации |
| tagIds | Array of integers <int64> [ items <int64 > ] Список ID ярлыков для фильтрации |
| positionCluster required | string Enum: all firstHundred secondHundred below Товары с какой средней позицией в поиске показывать в отчёте:
|
required | object Параметры сортировки |
| includeSubstitutedSKUs | |
| includeSearchTexts | boolean Default: true Показать данные по поисковым запросам без учёта подменного артикула |
| limit required | integer <uint32> <= 1000 Количество групп товаров в ответе |
| offset required | integer <uint32> После какого элемента выдавать данные |
Responses
Request samples
- Payload
{- "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "pastPeriod": {
- "start": "2024-02-08",
- "end": "2024-02-08"
}, - "nmIds": [
- 162579635,
- 166699779
], - "subjectIds": [
- 32,
- 64
], - "brandNames": [
- "Adidas",
- "Nike"
], - "tagIds": [
- 3,
- 5,
- 6
], - "positionCluster": "all",
- "orderBy": {
- "field": "avgPosition",
- "mode": "asc"
}, - "includeSubstitutedSKUs": true,
- "includeSearchTexts": false,
- "limit": 130,
- "offset": 50
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "commonInfo": {
- "supplierRating": {
- "current": 5.3,
- "dynamics": 5.4
}, - "advertisedProducts": {
- "current": 5,
- "dynamics": 50
}, - "totalProducts": 150
}, - "positionInfo": {
- "average": {
- "current": 5,
- "dynamics": 50
}, - "median": {
- "current": 5,
- "dynamics": 50
}, - "chartItems": [
- {
- "dt": "2024-10-19",
- "average": 1,
- "median": 1
}
], - "clusters": {
- "firstHundred": {
- "current": 5,
- "dynamics": 50
}, - "secondHundred": {
- "current": 5,
- "dynamics": 50
}, - "below": {
- "current": 5,
- "dynamics": 50
}
}
}, - "visibilityInfo": {
- "visibility": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50
}, - "byDay": [
- {
- "dt": "2024-02-10",
- "visibility": 100,
- "open": 124
}
], - "byWeek": [
- {
- "dt": "2024-02-10",
- "visibility": 100,
- "open": 124
}
], - "byMonth": [
- {
- "dt": "2024-02-10",
- "visibility": 100,
- "open": 124
}
]
}, - "groups": [
- {
- "subjectName": "Phones",
- "subjectId": 50,
- "brandName": "Apple",
- "tagName": "phones",
- "tagId": 65,
- "metrics": {
- "avgPosition": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50
}, - "addToCart": {
- "current": 5,
- "dynamics": 50
}, - "openToCart": {
- "current": 5,
- "dynamics": 50
}, - "orders": {
- "current": 5,
- "dynamics": 50
}, - "cartToOrder": {
- "current": 5,
- "dynamics": 50
}, - "visibility": {
- "current": 5,
- "dynamics": 50
}
}, - "items": [
- {
- "nmId": 268913787,
- "name": "iPhone 13 256 ГБ Серебристый",
- "vendorCode": "wb3ha2668w",
- "subjectName": "Смартфоны",
- "brandName": "Apple",
- "isAdvertised": false,
- "isSubstitutedSKU": true,
- "isCardRated": true,
- "rating": 6,
- "feedbackRating": 1,
- "price": {
- "minPrice": 150,
- "maxPrice": 300
}, - "avgPosition": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50
}, - "addToCart": {
- "current": 5,
- "dynamics": 50
}, - "openToCart": {
- "current": 5,
- "dynamics": 50
}, - "orders": {
- "current": 5,
- "dynamics": 50
}, - "cartToOrder": {
- "current": 5,
- "dynamics": 50
}, - "visibility": {
- "current": 5,
- "dynamics": 50
}
}
]
}
], - "currency": "RUB"
}
}Пагинация по группам{{ /api/v2/search-report/table/groups }}
Метод формирует дополнительные данные к основному отчёту с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку.
Дополнительный параметр выбора списка товаров в таблице:
positionCluster— средняя позиция в поиске
Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Текущий период |
object Прошлый период для сравнения. Количество дней — меньше или равно | |
| nmIds | Array of integers <int32> [ items <int32 > ] Список артикулов WB для фильтрации |
| subjectIds | Array of integers <int32> [ items <int32 > ] Список ID предметов для фильтрации |
| brandNames | Array of strings Список брендов для фильтрации |
| tagIds | Array of integers <int64> [ items <int64 > ] Список ID ярлыков для фильтрации |
required | object Параметры сортировки |
| positionCluster required | string Enum: all firstHundred secondHundred below Товары с какой средней позицией в поиске показывать в отчёте:
|
| includeSubstitutedSKUs | |
| includeSearchTexts | boolean Default: true Показать данные по поисковым запросам без учёта подменного артикула |
| limit required | integer <uint32> <= 1000 Количество групп товаров в ответе |
| offset required | integer <uint32> После какого элемента выдавать данные |
Responses
Request samples
- Payload
{- "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "pastPeriod": {
- "start": "2024-02-08",
- "end": "2024-02-08"
}, - "nmIds": [
- 162579635,
- 166699779
], - "subjectIds": [
- 64,
- 334
], - "brandNames": [
- "nikkle",
- "abikas"
], - "tagIds": [
- 32,
- 53
], - "orderBy": {
- "field": "avgPosition",
- "mode": "asc"
}, - "positionCluster": "all",
- "includeSubstitutedSKUs": true,
- "includeSearchTexts": false,
- "limit": 130,
- "offset": 50
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "groups": [
- {
- "subjectName": "Phones",
- "subjectId": 50,
- "brandName": "Apple",
- "tagName": "phones",
- "tagId": 65,
- "metrics": {
- "avgPosition": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50
}, - "addToCart": {
- "current": 5,
- "dynamics": 50
}, - "openToCart": {
- "current": 5,
- "dynamics": 50
}, - "orders": {
- "current": 5,
- "dynamics": 50
}, - "cartToOrder": {
- "current": 5,
- "dynamics": 50
}, - "visibility": {
- "current": 5,
- "dynamics": 50
}
}, - "items": [
- {
- "nmId": 268913787,
- "name": "iPhone 13 256 ГБ Серебристый",
- "vendorCode": "wb3ha2668w",
- "subjectName": "Смартфоны",
- "brandName": "Apple",
- "isAdvertised": false,
- "isSubstitutedSKU": true,
- "isCardRated": true,
- "rating": 6,
- "feedbackRating": 1,
- "price": {
- "minPrice": 150,
- "maxPrice": 300
}, - "avgPosition": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50
}, - "addToCart": {
- "current": 5,
- "dynamics": 50
}, - "openToCart": {
- "current": 5,
- "dynamics": 50
}, - "orders": {
- "current": 5,
- "dynamics": 50
}, - "cartToOrder": {
- "current": 5,
- "dynamics": 50
}, - "visibility": {
- "current": 5,
- "dynamics": 50
}
}
]
}
], - "currency": "RUB"
}
}Пагинация по товарам в группе{{ /api/v2/search-report/table/details }}
Метод формирует дополнительные данные к основному отчёту с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров.
Фильтры для пагинации по товарам в группе или без фильтров:
- кортеж
subjectId,brandName,tagId— фильтр для группы nmIds— фильтр по карточке товара
Дополнительный параметр выбора списка товаров:
positionCluster— средняя позиция в поиске
Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Текущий период |
object Прошлый период для сравнения. Количество дней — меньше или равно | |
| subjectId | integer <int32> ID предмета |
| brandName | string Название товара |
| tagId | integer <int64> ID ярлыка |
| nmIds | Array of integers <uint64> <= 50 items [ items <uint64 > ] Список артикулов WB |
required | object Параметры сортировки |
| positionCluster required | string Enum: all firstHundred secondHundred below Товары с какой средней позицией в поиске показывать в отчёте:
|
| includeSubstitutedSKUs | |
| includeSearchTexts | boolean Default: true Показать данные по поисковым запросам без учёта подменного артикула |
| limit required | integer <uint32> <= 1000 Количество товаров в ответе |
| offset required | integer <uint32> После какого элемента выдавать данные |
Responses
Request samples
- Payload
{- "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "pastPeriod": {
- "start": "2024-02-08",
- "end": "2024-02-08"
}, - "subjectId": 123,
- "brandName": "Apple",
- "tagId": 45,
- "nmIds": [
- 162579635,
- 166699779
], - "orderBy": {
- "field": "avgPosition",
- "mode": "asc"
}, - "positionCluster": "all",
- "includeSubstitutedSKUs": true,
- "includeSearchTexts": false,
- "limit": 150,
- "offset": 100
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "products": [
- {
- "nmId": 268913787,
- "name": "iPhone 13 256 ГБ Серебристый",
- "vendorCode": "wb3ha2668w",
- "subjectName": "Смартфоны",
- "brandName": "Apple",
- "isAdvertised": false,
- "isSubstitutedSKU": true,
- "isCardRated": true,
- "rating": 6,
- "feedbackRating": 1,
- "price": {
- "minPrice": 150,
- "maxPrice": 300
}, - "avgPosition": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50
}, - "addToCart": {
- "current": 5,
- "dynamics": 50
}, - "openToCart": {
- "current": 5,
- "dynamics": 50
}, - "orders": {
- "current": 5,
- "dynamics": 50
}, - "cartToOrder": {
- "current": 5,
- "dynamics": 50
}, - "visibility": {
- "current": 5,
- "dynamics": 50
}
}
], - "currency": "RUB"
}
}Поисковые запросы по товару{{ /api/v2/search-report/product/search-texts }}
Метод формирует топ поисковых запросов по товару.
Параметры выбора поисковых запросов:
limit— количество запросов, максимум 30. Для тарифов Джема Продвинутый и Премиальный максимум — 100.topOrderBy— способ выбора топа запросов
Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Текущий период |
object Прошлый период для сравнения. Количество дней — меньше или равно | |
| nmIds required | Array of integers <uint64> <= 50 items [ items <uint64 > ] Список артикулов WB |
| topOrderBy required | string Enum: openCard addToCart openToCart orders cartToOrder Фильтрация по поисковым запросам, по которым больше всего:
|
| includeSubstitutedSKUs | |
| includeSearchTexts | boolean Default: true Показать данные по поисковым запросам без учёта подменного артикула |
required | object Параметры сортировки |
required | StandardTariff (integer) or AdvancedTariff (integer) |
Responses
Request samples
- Payload
{- "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "pastPeriod": {
- "start": "2024-02-08",
- "end": "2024-02-08"
}, - "nmIds": [
- 162579635,
- 166699779
], - "topOrderBy": "openToCart",
- "includeSubstitutedSKUs": true,
- "includeSearchTexts": false,
- "orderBy": {
- "field": "avgPosition",
- "mode": "asc"
}, - "limit": 20
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "items": [
- {
- "text": "костюм",
- "nmId": 211131895,
- "subjectName": "Phones",
- "brandName": "Apple",
- "vendorCode": "wb3ha2668w",
- "name": "iPhone 13 256 ГБ Серебристый",
- "isCardRated": true,
- "rating": 6,
- "feedbackRating": 1,
- "price": {
- "minPrice": 150,
- "maxPrice": 300
}, - "frequency": {
- "current": 5,
- "dynamics": 50
}, - "weekFrequency": 140,
- "medianPosition": {
- "current": 5,
- "dynamics": 50
}, - "avgPosition": {
- "current": 5,
- "dynamics": 50
}, - "openCard": {
- "current": 5,
- "dynamics": 50,
- "percentile": 50
}, - "addToCart": {
- "current": 5,
- "dynamics": 50,
- "percentile": 50
}, - "openToCart": {
- "current": 5,
- "dynamics": 50,
- "percentile": 50
}, - "orders": {
- "current": 5,
- "dynamics": 50,
- "percentile": 50
}, - "cartToOrder": {
- "current": 5,
- "dynamics": 50,
- "percentile": 50
}, - "visibility": {
- "current": 5,
- "dynamics": 50
}
}
], - "currency": "RUB"
}
}Заказы и позиции по поисковым запросам товара{{ /api/v2/search-report/product/orders }}
Метод формирует данные для таблицы:
- о заказах по каждому поисковому запросу для конкретного товара
- о позициях товара в результатах поиска по каждому запросу
Данные указаны в рамках периода для запрошенного товара и сгруппированы по дням. Максимальный период — 7 дней.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | object Текущий период. Максимум 7 суток |
| nmId required | integer <uint64> Артикул WB |
| searchTexts required | Array of strings [ 1 .. 30 ] items Поисковые запросы. Для тарифов Джема Продвинутый и Премиальный максимум — 100 |
Responses
Request samples
- Payload
{- "period": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "nmId": 211131895,
- "searchTexts": [
- "костюм",
- "пиджак"
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "total": [
- {
- "dt": "2024-02-10",
- "avgPosition": 10,
- "orders": 20
}
], - "items": [
- {
- "text": "string",
- "frequency": 0,
- "dateItems": [
- {
- "dt": "2024-02-10",
- "avgPosition": 10,
- "orders": 20
}
]
}
]
}
}Это информация из детализированной таблицы товаров и виджета детализации по регионам.
Остатки в ответах данных методов — на текущий день.
STOCK_HISTORY_DAILY_CSV
Методы получения отчёта по статистике остатков:
- Текущих остатков на складах WB по размерам
- Данных по таблице товаров с агрегацией по группам, товарам, размерам
- Данных виджета Статистика по регионам отгрузки с детализацией по складам
Остатки на складах WB{{ /api/analytics/v1/stocks-report/wb-warehouses }}
Метод возвращает текущие остатки товаров на складах WB.
Данные обновляются 1 раз в 30 минут.
1 строка ответа — данные об 1 размере товара на 1 складе WB.
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 3 запроса | 20 сек | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| nmIds | Array of integers <int64> [ 0 .. 1000 ] items [ items <int64 > ] Артикулы WB |
| chrtIds | Array of integers <uint64> [ items <uint64 > ] ID размеров. Используется только для указанных в массиве |
| limit | integer <uint32> <= 250000 Default: 250000 Количество строк в ответе |
| offset | integer <uint32> Default: 0 Сколько элементов пропустить. Например, для значения |
Responses
Request samples
- Payload
{- "nmIds": [
- 111222333,
- 47254354
], - "chrtIds": [
- 111222333,
- 91663228
], - "limit": 250000,
- "offset": 500000
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "items": [
- {
- "nmId": 47254354,
- "chrtId": 91663228,
- "warehouseId": -999999,
- "warehouseName": "Склад WB РФ",
- "regionName": "Россия",
- "quantity": 43,
- "inWayToClient": 14,
- "inWayFromClient": 11
}
]
}
}Остатки на складах продавца{{ /api/analytics/v1/stocks-report/seller-warehouses }}
Метод возвращает текущие остатки товаров на складах продавца.
Данные обновляются 1 раз в 30 минут.
1 строка ответа — данные об 1 размере товара на 1 складе продавца.
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 3 запроса | 20 сек | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| nmIds | Array of integers <int64> [ 0 .. 1000 ] items [ items <int64 > ] Артикулы WB |
| chrtIds | Array of integers <uint64> [ items <uint64 > ] ID размеров. Используется только для указанных в массиве |
| limit | integer <uint32> <= 250000 Default: 250000 Количество строк в ответе |
| offset | integer <uint32> Default: 0 Сколько элементов пропустить. Например, для значения |
Responses
Request samples
- Payload
{- "nmIds": [
- 111222333,
- 47254354
], - "chrtIds": [
- 111222333,
- 91663228
], - "limit": 250000,
- "offset": 500000
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "items": [
- {
- "nmId": 47254354,
- "chrtId": 91663228,
- "warehouseId": 123456,
- "warehouseName": "склад продавца Иркутск",
- "regionName": "Дальневосточный и Сибирский",
- "quantity": 43
}
]
}
}Данные по группам{{ /api/v2/stocks-report/products/groups }}
Метод формирует набор данных об остатках по группам товаров.
Группа товаров описывается кортежем subjectID, brandName, tagID.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| nmIDs | Array of integers <int64> [ items <int64 > ] Список артикулов WB для фильтрации |
| subjectIDs | Array of integers <int32> [ items <int32 > ] Список ID предметов для фильтрации |
| brandNames | Array of strings Список брендов для фильтрации |
| tagIDs | Array of integers <int64> [ items <int64 > ] Список ID ярлыков для фильтрации |
required | object Период |
| stockType required | string Enum: wb mp Тип складов хранения товаров:
|
| skipDeletedNm required | boolean Скрыть удалённые товары |
| availabilityFilters required | Array of strings Items Enum: deficient actual balanced nonActual nonLiquid invalidData Доступность товара:
|
required | object Вид сортировки данных |
| limit | integer <uint32> <= 1000 Default: 100 Количество групп в ответе |
| offset required | integer <uint32> После какого элемента выдавать данные |
Responses
Request samples
- Payload
{- "nmIDs": [
- 111222333,
- 444555666
], - "subjectIDs": [
- 123,
- 456
], - "brandNames": [
- "Эрк",
- "Дент"
], - "tagIDs": [
- 3,
- 4,
- 5
], - "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "stockType": "mp",
- "skipDeletedNm": true,
- "availabilityFilters": [
- "deficient",
- "balanced"
], - "orderBy": {
- "field": "avgOrders",
- "mode": "asc"
}, - "limit": 150,
- "offset": 100
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "groups": [
- {
- "subjectID": 123456789,
- "subjectName": "Кружка",
- "brandName": "Крутая посуда",
- "tagID": 12345,
- "tagName": "Человек-Паук",
- "metrics": {
- "ordersCount": 100,
- "ordersSum": 100000,
- "avgOrders": 200,
- "avgOrdersByMonth": [
- {
- "start": "2025-01-01",
- "end": "2025-01-31",
- "value": 25.55
}
], - "buyoutCount": 150,
- "buyoutSum": 150000,
- "buyoutPercent": 5,
- "stockCount": 50,
- "stockSum": 50000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "avgStockTurnover": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 20,
- "fromClientCount": 30,
- "officeMissingTime": {
- "days": 5,
- "hours": 15
}, - "lostOrdersCount": 1550.52,
- "lostOrdersSum": 155000.25,
- "lostBuyoutsCount": 123.55,
- "lostBuyoutsSum": 225555.15
}, - "items": [
- {
- "nmID": 123456789,
- "isDeleted": false,
- "subjectName": "Принтеры",
- "name": "Печатник 3000",
- "vendorCode": "pechatnik3000",
- "brandName": "Компик",
- "hasSizes": true,
- "metrics": {
- "ordersCount": 100,
- "ordersSum": 100000,
- "avgOrders": 200,
- "avgOrdersByMonth": [
- {
- "start": "2025-01-01",
- "end": "2025-01-31",
- "value": 25.55
}
], - "buyoutCount": 150,
- "buyoutSum": 150000,
- "buyoutPercent": 5,
- "stockCount": 50,
- "stockSum": 50000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "avgStockTurnover": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 20,
- "fromClientCount": 30,
- "officeMissingTime": {
- "days": 5,
- "hours": 15
}, - "lostOrdersCount": 1550.52,
- "lostOrdersSum": 155000.25,
- "lostBuyoutsCount": 123.55,
- "lostBuyoutsSum": 225555.15,
- "currentPrice": {
- "minPrice": 50,
- "maxPrice": 100
}, - "availability": "deficient"
}
}
]
}
], - "currency": "RUB"
}
}Данные по товарам{{ /api/v2/stocks-report/products/products }}
Метод формирует набор данных об остатках по товарам.
Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: nmIDs, subjectID, brandName, tagID.
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| nmIDs | Array of integers <int64> [ items <int64 > ] Список артикулов WB для фильтрации |
| subjectID | integer <int32> ID предмета |
| brandName | string Бренд |
| tagID | integer <int64> ID ярлыка |
required | object Период |
| stockType required | string Enum: wb mp Тип складов хранения товаров:
|
| skipDeletedNm required | boolean Скрыть удалённые товары |
required | object Вид сортировки данных |
| availabilityFilters required | Array of strings Items Enum: deficient actual balanced nonActual nonLiquid invalidData Доступность товара:
|
| limit | integer <uint32> <= 1000 Default: 100 Количество товаров в ответе |
| offset required | integer <uint32> После какого элемента выдавать данные |
Responses
Request samples
- Payload
{- "nmIDs": [
- 111222333,
- 444555666
], - "subjectID": 123456,
- "brandName": "Спортик",
- "tagID": 25345,
- "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "stockType": "mp",
- "skipDeletedNm": true,
- "orderBy": {
- "field": "avgOrders",
- "mode": "asc"
}, - "availabilityFilters": [
- "deficient",
- "balanced"
], - "limit": 150,
- "offset": 100
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "items": [
- {
- "nmID": 123456789,
- "isDeleted": false,
- "subjectName": "Принтеры",
- "name": "Печатник 3000",
- "vendorCode": "pechatnik3000",
- "brandName": "Компик",
- "hasSizes": true,
- "metrics": {
- "ordersCount": 100,
- "ordersSum": 100000,
- "avgOrders": 200,
- "avgOrdersByMonth": [
- {
- "start": "2025-01-01",
- "end": "2025-01-31",
- "value": 25.55
}
], - "buyoutCount": 150,
- "buyoutSum": 150000,
- "buyoutPercent": 5,
- "stockCount": 50,
- "stockSum": 50000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "avgStockTurnover": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 20,
- "fromClientCount": 30,
- "officeMissingTime": {
- "days": 5,
- "hours": 15
}, - "lostOrdersCount": 1550.52,
- "lostOrdersSum": 155000.25,
- "lostBuyoutsCount": 123.55,
- "lostBuyoutsSum": 225555.15,
- "currentPrice": {
- "minPrice": 50,
- "maxPrice": 100
}, - "availability": "deficient"
}
}
], - "currency": "RUB"
}
}Данные по размерам{{ /api/v2/stocks-report/products/sizes }}
Метод формирует набор данных об остатках по размерам товара.
Возможны случаи:
- Товар имеет размеры и
"includeOffice":true, тогда в ответе будут данные об остатках по каждому из размеров с вложенной детализацией по складам. - Товар имеет размеры и
"includeOffice":false, тогда в ответе будут данные об остатках по каждому из размеров без вложенной детализации по складам. - Товар не имеет размера и
"includeOffice":true, тогда в ответе будет детализация по складам. Без данных об остатках по каждому из размеров. - Товар не имеет размера и
"includeOffice":false, тогда тело ответа будет пустым.
Товар не имеет размера, если у него единственный размер с"techSize":"0". В ответах метода получения данных по товарам у таких товаров"hasSizes":false.
Данные по складам продавца приходят в агрегированном виде — без детализации по конкретным складам — эти записи будут с"regionName":"Свой склад"или"regionName":"Свой склад СГТ"и"officeName":"".
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| nmID required | integer <int64> Артикул WB |
required | object Период |
| stockType required | string Enum: wb mp Тип складов хранения товаров:
|
required | object Вид сортировки данных |
| includeOffice required | boolean Включить детализацию по складам |
Responses
Request samples
- Payload
{- "nmID": 123456789,
- "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "stockType": "mp",
- "orderBy": {
- "field": "avgOrders",
- "mode": "asc"
}, - "includeOffice": true
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "offices": [
- {
- "regionName": "Россия",
- "officeID": -999999,
- "officeName": "Склад WB РФ",
- "metrics": {
- "ordersCount": 100,
- "ordersSum": 100000,
- "avgOrders": 200,
- "avgOrdersByMonth": [
- {
- "start": "2025-01-01",
- "end": "2025-01-31",
- "value": 25.55
}
], - "buyoutCount": 150,
- "buyoutSum": 150000,
- "buyoutPercent": 5,
- "stockCount": 50,
- "stockSum": 50000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "avgStockTurnover": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 20,
- "fromClientCount": 30,
- "officeMissingTime": {
- "days": 5,
- "hours": 15
}, - "lostOrdersCount": 1550.52,
- "lostOrdersSum": 155000.25,
- "lostBuyoutsCount": 123.55,
- "lostBuyoutsSum": 225555.15
}
}
], - "sizes": [
- {
- "name": "50",
- "chrtID": 123321,
- "offices": [
- {
- "regionName": "Россия",
- "officeID": -999999,
- "officeName": "Склад WB РФ",
- "metrics": {
- "ordersCount": 100,
- "ordersSum": 100000,
- "avgOrders": 200,
- "avgOrdersByMonth": [
- {
- "start": "2025-01-01",
- "end": "2025-01-31",
- "value": 25.55
}
], - "buyoutCount": 150,
- "buyoutSum": 150000,
- "buyoutPercent": 5,
- "stockCount": 50,
- "stockSum": 50000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "avgStockTurnover": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 20,
- "fromClientCount": 30,
- "officeMissingTime": {
- "days": 5,
- "hours": 15
}, - "lostOrdersCount": 1550.52,
- "lostOrdersSum": 155000.25,
- "lostBuyoutsCount": 123.55,
- "lostBuyoutsSum": 225555.15
}
}
], - "metrics": {
- "ordersCount": 100,
- "ordersSum": 100000,
- "avgOrders": 200,
- "avgOrdersByMonth": [
- {
- "start": "2025-01-01",
- "end": "2025-01-31",
- "value": 25.55
}
], - "buyoutCount": 150,
- "buyoutSum": 150000,
- "buyoutPercent": 5,
- "stockCount": 50,
- "stockSum": 50000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "avgStockTurnover": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 20,
- "fromClientCount": 30,
- "officeMissingTime": {
- "days": 5,
- "hours": 15
}, - "lostOrdersCount": 1550.52,
- "lostOrdersSum": 155000.25,
- "lostBuyoutsCount": 123.55,
- "lostBuyoutsSum": 225555.15,
- "currentPrice": {
- "minPrice": 50,
- "maxPrice": 100
}
}
}
], - "currency": "RUB"
}
}Данные по складам{{ /api/v2/stocks-report/offices }}
Метод формирует набор данных об остатках по складам.
Данные по складам продавца приходят в агрегированном виде — без детализации по конкретным складам — эти записи будут с "regionName":"Свой склад" или "regionName":"Свой склад СГТ" и "offices":[].
Данные отчёта обновляются 1 раз в 2 часа.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| nmIDs | Array of integers <int64> [ items <int64 > ] Список артикулов WB для фильтрации |
| subjectIDs | Array of integers <int32> [ items <int32 > ] Список ID предметов для фильтрации |
| brandNames | Array of strings Список брендов для фильтрации |
| tagIDs | Array of integers <int64> [ items <int64 > ] Список ID ярлыков для фильтрации |
required | object Период |
| stockType required | string Enum: wb mp Тип складов хранения товаров:
|
| skipDeletedNm required | boolean Скрыть удалённые товары |
Responses
Request samples
- Payload
{- "nmIDs": [
- 111222333,
- 444555666
], - "subjectIDs": [
- 123,
- 456
], - "brandNames": [
- "Эшк",
- "ЗлатА",
- "ОТК",
- "арк"
], - "tagIDs": [
- 123,
- 456,
- 789
], - "currentPeriod": {
- "start": "2024-02-10",
- "end": "2024-02-10"
}, - "stockType": "mp",
- "skipDeletedNm": false
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "regions": [
- {
- "regionName": "Россия",
- "metrics": {
- "stockCount": 20,
- "stockSum": 20000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 30,
- "fromClientCount": 40
}, - "offices": [
- {
- "officeID": -999999,
- "officeName": "Склад WB РФ",
- "metrics": {
- "stockCount": 20,
- "stockSum": 20000,
- "saleRate": {
- "days": 5,
- "hours": 15
}, - "toClientCount": 30,
- "fromClientCount": 40
}
}
]
}
], - "currency": "RUB"
}
}Метод получения отчёта Оценка товара
Получить отчёт{{ /api/analytics/v2/item-rating }}
Метод формирует набор данных об оценках товаров.
Данные отчёта обновляются 1 раз в час.
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 3 запроса | 20 сек | 3 запроса |
Authorizations:
Request Body schema: application/jsonrequired
required | object Текущий период |
object Прошлый период для сравнения. Количество дней — меньше или равно | |
| nmIds | Array of integers <int32> <= 50 items [ items <int32 > ] Список артикулов WB для фильтрации |
| subjectIds | Array of integers <int32> <= 50 items [ items <int32 > ] Список ID предметов для фильтрации |
| brandNames | Array of strings <= 50 items Список брендов для фильтрации |
| tagIds | Array of integers <int64> <= 50 items [ items <int64 > ] Список ID ярлыков для фильтрации |
| isNotIncludeNmsWithoutSales | boolean Default: false Не возвращать товары без продаж:
|
| onlyShadowedNms | boolean Default: false Возвращаются ли в ответе только скрытые товары:
|
required | object Параметры сортировки |
| limit | integer <uint32> <= 1000 Default: 100 Количество товаров в ответе |
| offset required | integer <uint32> Сколько элементов пропустить. Например, для значения |
Responses
Request samples
- Payload
{- "currentPeriod": {
- "start": "2026-02-10",
- "end": "2026-02-10"
}, - "pastPeriod": {
- "start": "2026-02-08",
- "end": "2026-02-08"
}, - "nmIds": [
- 162579635,
- 166699779
], - "subjectIds": [
- 232,
- 1364
], - "brandNames": [
- "Abikas",
- "Tike"
], - "tagIds": [
- 3,
- 5,
- 6
], - "isNotIncludeNmsWithoutSales": true,
- "onlyShadowedNms": true,
- "orderBy": {
- "field": "feedbackCount",
- "mode": "desc"
}, - "limit": 130,
- "offset": 50
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "sellerRating": {
- "current": 3.56,
- "dynamics": 0.03
}, - "feedbackIncrease": {
- "current": 26,
- "total": 116,
- "dynamics": 23,
- "fiveStar": {
- "current": 19,
- "dynamics": 17,
- "total": 51
}, - "fourStar": {
- "current": 2,
- "dynamics": 1,
- "total": 13
}, - "threeStar": {
- "current": 1,
- "dynamics": 1,
- "total": 11
}, - "twoStar": {
- "current": 5,
- "dynamics": 5,
- "total": 34
}, - "oneStar": {
- "current": -1,
- "dynamics": -1,
- "total": 7
}
}, - "items": [
- {
- "nmId": 123456789,
- "title": "iPh 17 512 ГБ Серебристый",
- "vendorCode": "wb3ha2668w",
- "subjectId": 50,
- "subjectName": "Phones",
- "brandName": "Attlee",
- "tagName": "Phones",
- "tagId": 65,
- "pinnedFeedback": true,
- "rating": 10,
- "feedbackRating": {
- "current": 3.87,
- "dynamics": 0.31,
- "percentile": 1.7
}, - "feedbackCount": {
- "current": 12,
- "dynamics": 9
}, - "fiveStar": {
- "current": 9,
- "dynamics": 7
}, - "fourStar": {
- "current": 0,
- "dynamics": -1
}, - "threeStar": {
- "current": 1,
- "dynamics": 1
}, - "twoStar": {
- "current": 2,
- "dynamics": 2
}, - "oneStar": {
- "current": 0,
- "dynamics": 0
}, - "disqualified": 7,
- "isShadowed": true
}
]
}
}Чтобы получить отчёт:
- Сгенерируйте его с помощью метода создания отчёта.
- Дождитесь, когда отчёт будет готов. Вы можете проверить статус готовности через получение списка отчётов. Готовый отчёт хранится 48 часов.
Если вы получили статусFAILED, сгенерируйте отчёт повторно. - Получите отчёт.
Можно получить отчёт максимум за год. Отчёты по остаткам — за 3 месяца.
Максимальное количество отчётов, генерируемых в сутки — 20.
Создать отчёт{{ /api/v2/nm-report/downloads }}
Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца.
Вы можете создать CSV-версии отчётов по воронке продаж или параметрам поиска с группировкой по:
- артикулам WB
- предметам, брендам и ярлыкам
В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам.
Также можете создать CSV-версии отчётов по текстам поисковых запросов и остаткам.
Каждый новый отчёт должен иметь уникальный ID.
Набор параметров запроса в объекте params зависит от типа отчёта. Чтобы получить описание параметров, выберите тип отчёта в раскрывающемся списке в описании параметра reportType.
Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
Если не удалось получить отчёт, можно создать повторное задание на генерацию. Также можно получить список и проверить статусы отчётов.
Данные отчётов обновляются 1 раз в 2 часа.
STOCK_HISTORY_REPORT_CSV и STOCK_HISTORY_DAILY_CSV — можно создать без подписки Джем
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/json
| id required | string <uuid> ID отчёта в UUID-формате. Генерируется продавцом самостоятельно |
| reportType required | string Тип отчёта |
| userReportName | string Название отчёта. Если не указано, сформируется автоматически |
required | object Параметры отчёта |
Responses
Request samples
- Payload
Воронка продаж. По артикулам WB
{- "id": "06eae887-9d9f-491f-b16a-bb1766fcb8d2",
- "reportType": "DETAIL_HISTORY_REPORT",
- "userReportName": "Listing report",
- "params": {
- "nmIDs": [
- 1234567
], - "subjectIds": [
- 1234567
], - "brandNames": [
- "Name"
], - "tagIds": [
- 1234567
], - "startDate": "2024-06-21",
- "endDate": "2024-06-23",
- "timezone": "Europe/Moscow",
- "aggregationLevel": "day",
- "skipDeletedNm": false
}
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": "Началось формирование файла/отчета"
}Получить список отчётов{{ /api/v2/nm-report/downloads }}
Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID созданных отчётов и статусы генерации.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| filter[downloadIds] | Array of strings <uuid> [ items <uuid > ] ID отчёта |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "id": "06eae887-9d9f-491f-b16a-bb1766fcb8d2",
- "createdAt": "2024-06-26 20:05:32",
- "status": "SUCCESS",
- "name": "Card report",
- "size": 123,
- "startDate": "2024-06-21",
- "endDate": "2024-06-23"
}
]
}Сгенерировать отчёт повторно{{ /api/v2/nm-report/downloads/retry }}
Метод создает повторное задание на генерацию отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы получили статус FAILED.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| downloadId | string <uuid> ID отчёта |
Responses
Request samples
- Payload
{- "downloadId": "06eea887-9d9f-491f-b16a-bb1766fcb8d2"
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": "Retry"
}Получить отчёт{{ /api/v2/nm-report/downloads/file/{downloadId} }}
Метод возвращает отчёт с расширенной аналитикой продавца по ID задания на генерацию.
Можно получить отчёт, который сгенерирован за последние 48 часов.
Отчёт будет загружен внутри архива ZIP в формате CSV.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
path Parameters
| downloadId required | string <uuid> ID отчёта |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
nmID, dt, openCardCount, addToCartCount, ordersCount, ordersSumRub, buyoutsCount, buyoutsSumRub, cancelCount, cancelSumRub, addToCartConversion, cartToOrderConversion, buyoutPercent, addToWishlist, currency 70027655,2024-11-21,1,0,0,0,0,0,0,0,0,0,0,0,RUB ... ... 150317666,2024-11-21,2,0,0,0,0,0,0,0,0,0,0,0,RUB