Listings Statistics per Period
POST /api/analytics/v3/sales-funnel/productsBase URL: https://seller-analytics-api.wildberries.ru · Module: analytics · Section: Sales Funnel · Specification doc ↗
The method generates a report on items by comparing key metrics for the current period with a similar past one.
The report data is updated once every 2 hours.
Most of the data appears within an hour of the event:
- orders
- click-throughs
- adds-to-Cart A small part of this data may appear within a few days.
Purchases, cancellations, and returns are displayed in report for the day an item was ordered. For example, if an order was placed on January 1, and the customer returned the item on January 10, data about this return will appear in the report for January 1. You can track the final sales results using details for the realization reports.
The brandNames, subjectIds, tagIds, and nmIds parameters can be empty [], in which case the response will return all of the seller listings.
If you specify multiple parameters, the response will include listings that match all of these parameters simultaneously. If no listings match the request parameters, an empty response [] will be returned.
You can get a report for a maximum of the last 365 days.
In the previous period's data: * The data in pastPeriod covers the same duration as in selectedPeriod * If the pastPeriod start date is more than a year before the current date, it will be adjusted to: pastPeriod.start = current date - 365 days Pagination can be used.
Request limit per one seller account:
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 3 requests | 20 s | 3 requests |
| Service | 1 min | 3 requests | 20 s | 3 requests |
| Base with secret | 1 min | 3 requests | 20 s | 3 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
Request body
application/json — schema ItemsRequest, required
selectedPeriodobject(required)startstring— Period startendstring— Period end
pastPeriodobjectstartstring— Period startendstring— Period end
nmIdsinteger<int64>[]— WB item numbers to include in the report. Leave empty to get a report for all itemsbrandNamesstring[]— List of brands for filteringsubjectIdsinteger<int64>[]— List of subcategory IDs for filteringtagIdsinteger<int64>[]— List of label IDs for filteringskipDeletedNmboolean— Skip deleted itemsorderByOrderByfieldstring=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(required) — Sort field: -openCard— Click-throughs -addToCart— Adds-to-Cart -orderCount— Items ordered -orderSum— Total order value -buyoutCount— Items purchased -buyoutSum— Total purchase value -cancelCount— Items canceled and returned -cancelSum— Canceled and returned item value -avgPrice— Average item price -stockMpQty— Seller warehouse inventory -stockWbQty— WB warehouse inventory -shareOrderPercent— Share in revenue -addToWishlist— Adds-to-Favorites -timeToReady— Average delivery time -localizationPercent— Local orders within the same region -wbClub.orderCount— Items ordered (WB Club) -wbClub.orderSum— Total order value (WB Club) -wbClub.buyoutSum— Total purchase value (WB Club) -wbClub.buyoutCount— Items purchased (WB Club) -wbClub.cancelSum— Canceled and returned item value (WB Club) -wbClub.avgPrice— Average item price (WB Club) -wbClub.buyoutPercent— Purchase rate (WB Club) -wbClub.avgOrderCountPerDay— Average daily orders (WB Club) -wbClub.cancelCount— Items canceled and returned (WB Club)modestring=asc|desc(required) — Sorting order: -asc— ascending -desc— descending
limitinteger<int64>— Number of listings in the responseoffsetinteger<int64>— How many results to skip. For example, with value10, the response will start with the 11 element
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | PostV3SalesFunnelProductsResponse200 |
400 | Bad request | ErrorObject |
401 | Unauthorized | object |
402 | Payment required | object |
403 | Access denied | ErrorObject |
429 | Too many requests | object |
Structure 200:
dataobjectproductsobject[]— List of listingsproductobjectnmIdinteger<int64>— WB item numbertitlestring<int64>— Listing namevendorCodestring— Seller item numberbrandNamestring— BrandsubjectIdinteger<int64>— Subcategory IDsubjectNamestring— Subcategory nametagsTag[]— Labelsidinteger<int64>— Label IDnamestring— Label name
productRatingnumber<float32>— Item ratingfeedbackRatingnumber<float32>— Feedback ratingstocksobject— Inventorywbinteger<int64>— WB warehouse inventory for the current daympinteger<int64>— Seller warehouse inventory for the current daybalanceSuminteger<int64>— Warehouse inventory value for the current day
statisticobjectselectedobjectperiodobjectstartstring— Period start- …
endstring— Period end- …
openCountinteger<int64>— Click-throughscartCountinteger<int32>— Adds-to-CartorderCountinteger<int64>— Items orderedorderSuminteger<int64>— Total order valuebuyoutCountinteger<int64>— Items purchasedbuyoutSuminteger<int64>— Total purchase valuecancelCountinteger<int64>— Items canceled and returnedcancelSuminteger<int64>— Canceled and returned item valueavgPriceinteger<int64>— Average item priceavgOrdersCountPerDaynumber<float64>— Average daily ordersshareOrderPercentnumber<float64>— Share in revenueaddToWishlistinteger<int64>— Adds-to-FavoritestimeToReadyobjectdaysinteger<int64>— Days- …
hoursinteger<int64>— Hours- …
minsinteger<int64>— Minutes- …
localizationPercentinteger<int64>— Local orders within the same region. At the moment, there can only be100wbClubobjectorderCountinteger<int64>— Items ordered (WB Club)- …
orderSuminteger<int64>— Total order value (WB Club)- …
buyoutSuminteger<int64>— Total purchase value (WB Club)- …
buyoutCountinteger<int64>— Items purchased (WB Club)- …
cancelSuminteger<int64>— Canceled and returned item value (WB Club)- …
cancelCountinteger<int64>— Items canceled and returned (WB Club)- …
avgPriceinteger<int64>— Average item price (WB Club)- …
buyoutPercentinteger<int64>— Purchase rate (WB Club)- …
avgOrderCountPerDaynumber<float64>— Average daily orders (WB Club)- …
conversionsobjectaddToCartPercentinteger<int>— Conversion to cart. What percentage of visitors who opened the listing, added the item to the cart, %- …
cartToOrderPercentinteger<int>— Conversion to order. What percentage of visitors who added the item to the cart, placed an order, %- …
buyoutPercentinteger<int>— Buyout Percentage. Percentage of visitors who ordered a item and successfully completed the purchase. Excludes items still in transit to the buyer, %- …
pastobjectperiodobjectstartstring— Period start- …
endstring— Period end- …
openCountinteger<int64>— Click-throughscartCountinteger<int32>— Adds-to-CartorderCountinteger<int64>— Items orderedorderSuminteger<int64>— Total order valuebuyoutCountinteger<int64>— Items purchasedbuyoutSuminteger<int64>— Total purchase valuecancelCountinteger<int64>— Items canceled and returnedcancelSuminteger<int64>— Canceled and returned item valueavgPriceinteger<int64>— Average item priceavgOrdersCountPerDaynumber<float64>— Average daily ordersshareOrderPercentnumber<float64>— Share in revenueaddToWishlistinteger<int64>— Adds-to-FavoritestimeToReadyobjectdaysinteger<int64>— Days- …
hoursinteger<int64>— Hours- …
minsinteger<int64>— Minutes- …
localizationPercentinteger<int64>— Local orders within the same region. At the moment, there can only be100wbClubobjectorderCountinteger<int64>— Items ordered (WB Club)- …
orderSuminteger<int64>— Total order value (WB Club)- …
buyoutSuminteger<int64>— Total purchase value (WB Club)- …
buyoutCountinteger<int64>— Items purchased (WB Club)- …
cancelSuminteger<int64>— Canceled and returned item value (WB Club)- …
cancelCountinteger<int64>— Items canceled and returned (WB Club)- …
avgPriceinteger<int64>— Average item price (WB Club)- …
buyoutPercentinteger<int64>— Purchase rate (WB Club)- …
avgOrderCountPerDaynumber<float64>— Average daily orders (WB Club)- …
conversionsobjectaddToCartPercentinteger<int>— Conversion to cart. What percentage of visitors who opened the listing, added the item to the cart, %- …
cartToOrderPercentinteger<int>— Conversion to order. What percentage of visitors who added the item to the cart, placed an order, %- …
buyoutPercentinteger<int>— Buyout Percentage. Percentage of visitors who ordered a item and successfully completed the purchase. Excludes items still in transit to the buyer, %- …
comparisonobjectopenCountDynamicinteger<int>— Dynamics of click-throughscartCountDynamicinteger<int>— Dynamics of adds-to-CartorderCountDynamicinteger<int>— Dynamics of items orderedorderSumDynamicinteger<int>— Order value dynamicsbuyoutCountDynamicinteger<int>— Dynamics of items purchasedbuyoutSumDynamicinteger<int>— Dynamics of total purchase valuecancelCountDynamicinteger<int>— Dynamics of items canceled and returnedcancelSumDynamicinteger<int>— Dynamics of canceled and returned item valueavgOrdersCountPerDayDynamicinteger<int>— Dynamics of average daily ordersavgPriceDynamicinteger<int>— Dynamics of average item price. Discounts for promos are taken into accountshareOrderPercentDynamicinteger<int>— Dynamics of share in revenueaddToWishlistDynamicinteger<int>— Dynamics of adds-to-FavoritestimeToReadyDynamicobjectdaysinteger<int64>— Days- …
hoursinteger<int64>— Hours- …
minsinteger<int64>— Minutes- …
localizationPercentDynamicinteger<int>— Dynamics of local orders within the same region. At the moment, there can only be0wbClubDynamicobjectorderCountinteger<int>— Dynamics of items ordered (WB Club)- …
orderSuminteger<int>— Order value dynamics (WB Club)- …
buyoutSuminteger<int>— Dynamics of total purchase value (WB Club)- …
buyoutCountinteger<int>— Dynamics of items purchased (WB Club)- …
cancelSuminteger<int>— Dynamics of canceled and returned item value (WB Club)- …
cancelCountinteger<int>— Dynamics of items canceled and returned (WB Club)- …
avgPriceinteger<int>— Dynamics of average item price (WB Club)- …
buyoutPercentinteger<int>— Dynamics of purchase rate (WB Club)- …
avgOrderCountPerDaynumber<int>— Dynamics of average daily orders (WB Club)- …
conversionsobjectaddToCartPercentinteger<int>— Conversion to cart. What percentage of visitors who opened the listing, added the item to the cart, %- …
cartToOrderPercentinteger<int>— Conversion to order. What percentage of visitors who added the item to the cart, placed an order, %- …
buyoutPercentinteger<int>— Buyout Percentage. Percentage of visitors who ordered a item and successfully completed the purchase. Excludes items still in transit to the buyer, %- …
currencyCurrency
Structure 400:
titlestring— Error titledetailstring— Error detailsrequestIdstring— Unique request IDoriginstring— WB internal service ID
Structure 401:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Structure 402:
titlestring— Error titledetailstring— Error details. The error is only returned to services from the Solutions for business Catalog
Structure 403:
titlestring— Error titledetailstring— Error detailsrequestIdstring— Unique request IDoriginstring— WB internal service ID
Structure 429:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Call examples
Arguments are shown as parameter names — substitute your own values. Languages whose client does not expose this operation are omitted.
from wb_api_client.analytics import Configuration, ApiClient
from wb_api_client.analytics.api import AnalyticsApi
cfg = Configuration(access_token="<your WB JWT>")
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("<your WB JWT>");
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("<your WB JWT>")
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("<your WB JWT>"));
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('<your WB JWT>'));
$api = new AnalyticsApi(new Client(), $config);
print_r($api->postV3SalesFunnelProducts($items_request));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый AnalyticsApi(Настройки);
Сообщить(Клиент.PostV3SalesFunnelProducts(Тело).Тело);using ValeryVerkhoturov.WbApiClient.Analytics.Api;
using ValeryVerkhoturov.WbApiClient.Analytics.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
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("<your WB JWT>");
let result = analytics_api::post_v3_sales_funnel_products(&cfg, items_request).await;
println!("{:#?}", result);
}