Статистика карточек товаров за период
POST /api/analytics/v3/sales-funnel/productsБаза: https://seller-analytics-api.wildberries.ru · Модуль: analytics · Раздел: Воронка продаж · Документация спецификации ↗
Метод формирует отчёт о товарах, сравнивая ключевые показатели за текущий период с аналогичным прошлым.
Данные отчёта обновляются 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 запрос |
Тело запроса
application/json — схема ItemsRequest, обязательно
selectedPeriodobject(обязательно)startstring— Начало периодаendstring— Конец периода
pastPeriodobjectstartstring— Начало периодаendstring— Конец периода
nmIdsinteger<int64>[]— Артикулы WB, по которым нужно составить отчёт. Оставьте пустым, чтобы получить отчёт обо всех товарахbrandNamesstring[]— Список брендов для фильтрацииsubjectIdsinteger<int64>[]— Список ID предметов для фильтрацииtagIdsinteger<int64>[]— Список ID ярлыков для фильтрацииskipDeletedNmboolean— Скрыть удалённые товарыorderByOrderByfieldstring=openCard|addToCart|orderCount|orderSum|buyoutCount|buyoutSum|cancelCount|cancelSum|avgPrice|stockMpQty|stockWbQty|shareOrderPercent|addToWishlist|timeToReady|localizationPercent|wbClub.orderCount|wbClub.orderSum|wbClub.buyoutSum|wbClub.cancelSum|wbClub.buyoutCount|wbClub.avgPrice|wbClub.buyoutPercent|wbClub.avgOrderCountPerDay|wbClub.cancelCount(обязательно) — Поле для сортировки: -openCard— Перешли в карточку -addToCart— Положили в корзину -orderCount— Заказали товаров, шт -orderSum— Заказали на сумму -buyoutCount— Выкупили товаров, шт -buyoutSum— Выкупили на сумму -cancelCount— Отменили и вернули товаров, шт -cancelSum— Отменили и вернули на сумму -avgPrice— Средняя цена -stockMpQty— Остатки на складах продавца, шт -stockWbQty— Остатки на складах WB, шт -shareOrderPercent— Доля в выручке -addToWishlist— Добавили в Отложенные -timeToReady— Среднее время доставки -localizationPercent— Локальные заказы в рамках одного региона -wbClub.orderCount— Заказали товаров с WB Клубом, шт -wbClub.orderSum— Заказали с WB Клубом на сумму -wbClub.buyoutSum— Выкупили товаров с WB Клубом, шт -wbClub.buyoutCount— Процент выкупа с WB Клубом -wbClub.cancelSum— Отменили и вернули товаров с WB Клубом на сумму -wbClub.avgPrice— Средняя цена с WB Клубом -wbClub.buyoutPercent— Процент выкупа с WB Клубом -wbClub.avgOrderCountPerDay— Среднее количество заказов в день с WB Клубом, шт -wbClub.cancelCount— Отменили и вернули товаров с WB Клубом, штmodestring=asc|desc(обязательно) — Порядок сортировки: -asc— по возрастанию -desc— по убыванию
limitinteger<int64>— Количество карточек товара в ответеoffsetinteger<int64>— Сколько элементов пропустить. Например, для значения10ответ начнётся с 11 элемента
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | PostV3SalesFunnelProductsResponse200 |
400 | Неправильный запрос | ErrorObject |
401 | Не авторизован | object |
402 | Требуется платёж | object |
403 | Доступ запрещён | ErrorObject |
429 | Слишком много запросов | object |
Структура 200:
dataobjectproductsobject[]— Список карточек товаровproductobjectnmIdinteger<int64>— Артикул WBtitlestring<int64>— Название карточки товараvendorCodestring— Артикул продавцаbrandNamestring— БрендsubjectIdinteger<int64>— ID предметаsubjectNamestring— Название предметаtagsTag[]— Ярлыкиidinteger<int64>— ID ярлыкаnamestring— Название ярлыка
productRatingnumber<float32>— Оценка карточкиfeedbackRatingnumber<float32>— Оценка пользователейstocksobject— Остаткиwbinteger<int64>— Общее количество остатков на складах WB на текущий день, шт.mpinteger<int64>— Общее количество остатков на складах продавца на текущий день, шт.balanceSuminteger<int64>— Сумма остатков на складах на текущий день, шт.
statisticobjectselectedobjectperiodobjectstartstring— Начало периода- …
endstring— Конец периода- …
openCountinteger<int64>— Количество переходов в карточку товараcartCountinteger<int32>— Положили в корзину, шт.orderCountinteger<int64>— Заказали товаров, шт.orderSuminteger<int64>— Заказали на суммуbuyoutCountinteger<int64>— Выкупили товаров, шт.buyoutSuminteger<int64>— Выкупили на суммуcancelCountinteger<int64>— Отменили и вернули товаров, шт.cancelSuminteger<int64>— Отменили и вернули на суммуavgPriceinteger<int64>— Средняя ценаavgOrdersCountPerDaynumber<float64>— Среднее количество заказов в день, шт.shareOrderPercentnumber<float64>— Доля в выручкеaddToWishlistinteger<int64>— Добавили в ОтложенныеtimeToReadyobjectdaysinteger<int64>— Дни- …
hoursinteger<int64>— Часы- …
minsinteger<int64>— Минуты- …
localizationPercentinteger<int64>— Локальные заказы в рамках одного региона. На данный момент может быть только100wbClubobjectorderCountinteger<int64>— Заказали товаров с WB Клубом, шт.- …
orderSuminteger<int64>— Заказали с WB Клубом на сумму- …
buyoutSuminteger<int64>— Выкупили с WB Клубом на сумму- …
buyoutCountinteger<int64>— Выкупили товаров с WB Клубом, шт.- …
cancelSuminteger<int64>— Отменили и вернули с WB Клубом на сумму- …
cancelCountinteger<int64>— Отменили и вернули товаров с WB Клубом, шт.- …
avgPriceinteger<int64>— Средняя цена с WB Клубом- …
buyoutPercentinteger<int64>— Процент выкупа с WB Клубом- …
avgOrderCountPerDaynumber<float64>— Среднее количество заказов с WB Клубом в день, шт.- …
conversionsobjectaddToCartPercentinteger<int>— Конверсия в корзину. Какой процент посетителей, открывших карточку товара, добавили товар в корзину, %- …
cartToOrderPercentinteger<int>— Конверсия в заказ. Какой процент посетителей, добавивших товар в корзину, сделали заказ, %- …
buyoutPercentinteger<int>— Процент выкупа. Какой процент посетителей, заказавших товар, его выкупили. Без учёта товаров, которые еще доставляются покупателю, %- …
pastobjectperiodobjectstartstring— Начало периода- …
endstring— Конец периода- …
openCountinteger<int64>— Количество переходов в карточку товараcartCountinteger<int32>— Положили в корзину, шт.orderCountinteger<int64>— Заказали товаров, шт.orderSuminteger<int64>— Заказали на суммуbuyoutCountinteger<int64>— Выкупили товаров, шт.buyoutSuminteger<int64>— Выкупили на суммуcancelCountinteger<int64>— Отменили и вернули товаров, шт.cancelSuminteger<int64>— Отменили и вернули на суммуavgPriceinteger<int64>— Средняя ценаavgOrdersCountPerDaynumber<float64>— Среднее количество заказов в день, шт.shareOrderPercentnumber<float64>— Доля в выручкеaddToWishlistinteger<int64>— Добавили в ОтложенныеtimeToReadyobjectdaysinteger<int64>— Дни- …
hoursinteger<int64>— Часы- …
minsinteger<int64>— Минуты- …
localizationPercentinteger<int64>— Локальные заказы в рамках одного региона. На данный момент может быть только100wbClubobjectorderCountinteger<int64>— Заказали товаров с WB Клубом, шт.- …
orderSuminteger<int64>— Заказали с WB Клубом на сумму- …
buyoutSuminteger<int64>— Выкупили с WB Клубом на сумму- …
buyoutCountinteger<int64>— Выкупили товаров с WB Клубом, шт.- …
cancelSuminteger<int64>— Отменили и вернули с WB Клубом на сумму- …
cancelCountinteger<int64>— Отменили и вернули товаров с WB Клубом, шт.- …
avgPriceinteger<int64>— Средняя цена с WB Клубом- …
buyoutPercentinteger<int64>— Процент выкупа с WB Клубом- …
avgOrderCountPerDaynumber<float64>— Среднее количество заказов с WB Клубом в день, шт.- …
conversionsobjectaddToCartPercentinteger<int>— Конверсия в корзину. Какой процент посетителей, открывших карточку товара, добавили товар в корзину, %- …
cartToOrderPercentinteger<int>— Конверсия в заказ. Какой процент посетителей, добавивших товар в корзину, сделали заказ, %- …
buyoutPercentinteger<int>— Процент выкупа. Какой процент посетителей, заказавших товар, его выкупили. Без учёта товаров, которые еще доставляются покупателю, %- …
comparisonobjectopenCountDynamicinteger<int>— Динамика переходов в карточку товараcartCountDynamicinteger<int>— Динамика добавлений в корзинуorderCountDynamicinteger<int>— Динамика количества заказовorderSumDynamicinteger<int>— Динамика суммы заказовbuyoutCountDynamicinteger<int>— Динамика выкуповbuyoutSumDynamicinteger<int>— Динамика суммы выкуповcancelCountDynamicinteger<int>— Динамика отмен и возвратов товаровcancelSumDynamicinteger<int>— Динамика сумм отмен и возвратов товаровavgOrdersCountPerDayDynamicinteger<int>— Динамика среднего количества заказов в деньavgPriceDynamicinteger<int>— Динамика средней цены на товары. Учитываются скидки для акцийshareOrderPercentDynamicinteger<int>— Динамика доли в выручкеaddToWishlistDynamicinteger<int>— Динамика добавлений товара в избранноеtimeToReadyDynamicobjectdaysinteger<int64>— Дни- …
hoursinteger<int64>— Часы- …
minsinteger<int64>— Минуты- …
localizationPercentDynamicinteger<int>— Динамика локальных заказов в рамках одного региона. На данный момент может быть только0wbClubDynamicobjectorderCountinteger<int>— Динамика количества заказов с WB Клубом- …
orderSuminteger<int>— Динамика суммы заказов с WB Клубом- …
buyoutSuminteger<int>— Динамика суммы выкупов с WB Клубом- …
buyoutCountinteger<int>— Динамика выкупов с WB Клубом- …
cancelSuminteger<int>— Динамика сумм отмен и возвратов товаров с WB Клубом- …
cancelCountinteger<int>— Динамика отмен и возвратов товаров с WB Клубом- …
avgPriceinteger<int>— Динамика средней цены на товары с WB Клубом- …
buyoutPercentinteger<int>— Динамика процента выкупа с WB Клубом- …
avgOrderCountPerDaynumber<int>— Динамика среднего количества заказов с WB Клубом в день- …
conversionsobjectaddToCartPercentinteger<int>— Конверсия в корзину. Какой процент посетителей, открывших карточку товара, добавили товар в корзину, %- …
cartToOrderPercentinteger<int>— Конверсия в заказ. Какой процент посетителей, добавивших товар в корзину, сделали заказ, %- …
buyoutPercentinteger<int>— Процент выкупа. Какой процент посетителей, заказавших товар, его выкупили. Без учёта товаров, которые еще доставляются покупателю, %- …
currencyCurrency
Структура 400:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WB
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 402:
titlestring— Заголовок ошибкиdetailstring— Детали ошибки. Ошибка возвращается только сервисам из Каталога решений для бизнеса
Структура 403:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WB
Структура 429:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Примеры вызова
Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.
from wb_api_client.analytics import Configuration, ApiClient
from wb_api_client.analytics.api import AnalyticsApi
cfg = Configuration(access_token="<ваш JWT WB>")
api = AnalyticsApi(ApiClient(cfg))
result = api.post_v3_sales_funnel_products(items_request=...)
print(result)import {
Configuration,
AnalyticsApi,
} from "@valeryverkhoturov/wb-api-client/analytics";
const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new AnalyticsApi(cfg);
const { data } = await api.postV3SalesFunnelProducts(itemsRequest);
console.log(data);import (
"context"
"fmt"
wbanalytics "github.com/ValeryVerkhoturov/wb-api-client-go/analytics"
)
cfg := wbanalytics.NewConfiguration()
cfg.SetAccessToken("<ваш JWT WB>")
client := wbanalytics.NewAPIClient(cfg)
result, _, err := client.AnalyticsAPI.PostV3SalesFunnelProducts(context.Background()).ItemsRequest(itemsRequest).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)import io.github.valeryverkhoturov.wbapi.analytics.ApiClient;
import io.github.valeryverkhoturov.wbapi.analytics.SecretString;
import io.github.valeryverkhoturov.wbapi.analytics.api.AnalyticsApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<ваш JWT WB>"));
AnalyticsApi api = new AnalyticsApi(client);
System.out.println(api.postV3SalesFunnelProducts(itemsRequest));use ValeryVerkhoturov\WbApiClient\Analytics\Configuration;
use ValeryVerkhoturov\WbApiClient\Analytics\SecretString;
use ValeryVerkhoturov\WbApiClient\Analytics\Api\AnalyticsApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<ваш JWT WB>'));
$api = new AnalyticsApi(new Client(), $config);
print_r($api->postV3SalesFunnelProducts($items_request));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый AnalyticsApi(Настройки);
Сообщить(Клиент.PostV3SalesFunnelProducts(Тело).Тело);using ValeryVerkhoturov.WbApiClient.Analytics.Api;
using ValeryVerkhoturov.WbApiClient.Analytics.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
var api = new AnalyticsApi(config);
Console.WriteLine(api.PostV3SalesFunnelProducts(itemsRequest));use wb_api_client::analytics::apis::{configuration::Configuration, analytics_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<ваш JWT WB>");
let result = analytics_api::post_v3_sales_funnel_products(&cfg, items_request).await;
println!("{:#?}", result);
}