Get Report
POST /api/analytics/v1/order-feedBase URL: https://seller-analytics-api.wildberries.ru · Module: analytics · Section: Order Feed · Specification doc ↗
The method forms a dataset for orders and sales.
The report data is updated in real time.
1 order means 1 assembly order and means 1 item The
brandNames,subjectIds,tagIds, andnmIdsparameters can be empty[], in which case the response will return all of the seller orders. If you specify multiple parameters, the response will include orders that match all of these parameters simultaneously. If no orders match the request parameters, an empty array[]will be returned.
You can get a report for a maximum of the last 31 days.
Orders are sorted by current status time, from the newest to the earliest.
Pagination can be used.
Request limit per one seller account:
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 1 request | 1 min | 1 request |
| Service | 1 min | 1 request | 1 min | 1 request |
| Base with secret | 1 min | 1 request | 1 min | 1 request |
| Base | 3 h | 1 request | 3 h | 1 request |
Request body
application/json — schema OrderFeedRequest, optional
selectedPeriodobject(required) — Requested period. By date of the current order statusstartstring(required) — Start date and time of the period. No later thanend. No earlier than 31 days from todayendstring— End date and time of the period. No earlier than 31 days from today
nmIdsinteger<int64>[]— List of WB item numbers for filteringsubjectIdsinteger<int64>[]— List of subcategory IDs for filteringbrandNamesstring[]— List of brands for filteringtagIdsinteger<int64>[]— List of label IDs for filteringpaginationobject— PaginationsnapshotTimestring— Data snapshot timestamp within which pagination is performed. The report data is updated asynchronously. In order not to skip or duplicate orders, requests for the same data selection must have the samesnapshotTime. In the first data selection request ("offset":0) the parameter is not specified. In every subsequent request (offset>0), specify the value of thesnapshotTimefield from the response to the first request. When changing the values of the period and filters, start selecting again with"offset":0and withoutsnapshotTimeoffsetinteger<int32>— How many results to skip. For example, with value10, the response will start with the 11 elementlimitinteger<int32>— Number of orders in the response
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | PostV1OrderFeedResponse200 |
400 | Bad request | ErrorObject400 |
401 | Unauthorized | object |
402 | Payment required | object |
403 | Access denied | ErrorObject403 |
429 | Too many requests | object |
Structure 200:
dataOrderFeedResponsesnapshotTimestring— Cursor. Date and time of the last update of the datacurrencyCurrencyordersOrder[]— OrdersnmIdinteger<int64>— WB item numberchrtIdinteger<int64>— Size IDsridstring— Order IDcreatedAtstring— Order date and timeupdatedAtstring— Current status date and time. When"status":"created", the value of thecreatedAtfield is returnedstatusstring=created|buyout|cancel|return|returnDefective— Order status: -created— placed -buyout— purchased -cancel— canceled -return— returned -returnDefective— returned due to defectcancelTypestring=app|receipt|expire|other— Cancellation type (when"status":"cancel"): -app— refuse prior to receipt -receipt— refuse at pickup -expire— pickup period ended -other— otherwarehouseNamestring— Warehouse name. At the moment, there can only beСклад WB, for WB warehouseswarehouseRegionstring— The federal district where the warehouse is located. If the warehouse is not in Russia, the country is returned. At the moment, there can only be"", for WB warehousesisMpboolean— Warehouse type: -true— seller warehouse -false— WB warehousedestinationCitystring— Delivery locationdestinationDistrictstring— The federal district to which the order is delivered. If the delivery is not in Russia, the country is returnedsellerPricenumber<float64>— Seller price with seller discount (excluding WB Club discount and wholesale discount for B2B)isB2bboolean— Sale type -true— B2B -false— B2C
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.
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_v1_order_feed(order_feed_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.postV1OrderFeed(orderFeedRequest);
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.PostV1OrderFeed(context.Background()).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.postV1OrderFeed(orderFeedRequest));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->postV1OrderFeed());#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый AnalyticsApi(Настройки);
Сообщить(Клиент.PostV1OrderFeed(Тело).Тело);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.PostV1OrderFeed());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_v1_order_feed(&cfg, order_feed_request).await;
println!("{:#?}", result);
}