Warehouse Data
http
POST /api/v2/stocks-report/officesBase URL: https://seller-analytics-api.wildberries.ru · Module: analytics · Section: Stocks Report · Specification doc ↗
Forms a dataset for inventory by warehouses.
The data on the seller warehouses are in an aggregated form — without detailing specific warehouses — and responses contain "regionName":"Свой склад" or "regionName":"Свой склад СГТ" and "offices":[] in such cases.
The report data is updated once every 2 hours.
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 TableShippingOfficeRequest, required
nmIDsinteger<int64>[]— List of WB item numbers for filteringsubjectIDsinteger<int32>[]— List of subcategory IDs for filteringbrandNamesstring[]— List of brands for filteringtagIDsinteger<int64>[]— List of label IDs for filteringcurrentPeriodPeriodInv(required)startstring(required) — Start date of the period. No later thanend. No earlier than 3 months from todayendstring(required) — End date of the period. No earlier than 3 months from today
stockTypeStockType(required)skipDeletedNmboolean(required) — Skip deleted items
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | PostV2StocksReportOfficesResponse200 |
400 | Bad request | ErrorObject400 |
401 | Unauthorized | object |
402 | Payment required | object |
403 | Access denied | ErrorObject403 |
429 | Too many requests | object |
Structure 200:
dataTableShippingOfficeResponseregionsTableShippingOfficeItem[]— Set of data on shipping regionsregionNamestring— Shipping countrymetricsobject— Metrics by regionstockCountinteger<int64>— Current inventorystockSuminteger<int64>— Current inventory valuesaleRateobject— Current DSI. Special cases: 1)"hours":-1— infinite duration 2)"hours":-2— zero duration 3)"hours":-3— uncalculated durationdaysinteger<int32>— Number of dayshoursinteger<int32>— Number of hours
toClientCountinteger<int64>— On the way to userfromClientCountinteger<int64>— On the way from user
officesobject[]— Warehouse dataofficeIDinteger<int64>— Warehouse IDofficeNamestring— Warehouse namemetricsobject— Warehouse metricsstockCountinteger<int64>— Current inventorystockSuminteger<int64>— Current inventory valuesaleRateobject— Current DSI. Special cases: 1)"hours":-1— infinite duration 2)"hours":-2— zero duration 3)"hours":-3— uncalculated durationdaysinteger<int32>— Number of days- …
hoursinteger<int32>— Number of hours- …
toClientCountinteger<int64>— On the way to userfromClientCountinteger<int64>— On the way from user
currencyCurrency
Structure 400:
titlestring— Error titledetailstring— Error detailsrequestIdstring— Unique request IDoriginstring— Internal WB 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— Internal WB 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.
python
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_v2_stocks_report_offices(table_shipping_office_request=...)
print(result)ts
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.postV2StocksReportOffices(tableShippingOfficeRequest);
console.log(data);go
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.PostV2StocksReportOffices(context.Background()).TableShippingOfficeRequest(tableShippingOfficeRequest).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)java
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.postV2StocksReportOffices(tableShippingOfficeRequest));php
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->postV2StocksReportOffices($table_shipping_office_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый AnalyticsApi(Настройки);
Сообщить(Клиент.PostV2StocksReportOffices(Тело).Тело);csharp
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.PostV2StocksReportOffices(tableShippingOfficeRequest));rust
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_v2_stocks_report_offices(&cfg, table_shipping_office_request).await;
println!("{:#?}", result);
}