Orders and Positions by Item Search Texts
http
POST /api/v2/search-report/product/ordersBase URL: https://seller-analytics-api.wildberries.ru · Module: analytics · Section: Search Queries for Your Items · Specification doc ↗
The method forms data for the table:
- about orders for each search query for a specific item
- about item positions in search results for each query The data is provided within the period for the requested item and grouped by day. The maximum period is 7 days.
The report data is updated once every 2 hours.
You can get a report for a maximum of the last 365 days from the moment of the request
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 | 1 request | 1 h | 1 request |
Request body
application/json — schema ItemOrdersRequest, required
periodPeriodOrdersRequest(required)startstring(required) — Start date of the period. No later thanend. No earlier than 365 days from todayendstring(required) — End date of the period. No earlier than 365 days from today
nmIdinteger<int64>(required) — WB item numbersearchTextsstring[](required) — Search texts. For the Advanced and Premium Jam rates, the maximum is 100
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | PostV2SearchReportProductOrdersResponse200 |
400 | Bad request | ErrorObject400 |
401 | Unauthorized | object |
402 | Payment required | object |
403 | Access denied | ErrorObject403 |
429 | Too many requests | object |
Structure 200:
dataItemOrdersResponsetotalItemOrdersMetrics[]— Total for itemsdtstring— Date of statistics collectionavgPositioninteger<int64>— Average item position in search resultsordersinteger<int64>— Items ordered from search
itemsItemOrdersTextItem[]— Table elementstextstring— Search textfrequencyinteger<int64>— Number of the search text requestsdateItemsItemOrdersMetrics[]— Statistics by datesdtstring— Date of statistics collectionavgPositioninteger<int64>— Average item position in search resultsordersinteger<int64>— Items ordered from search
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_search_report_product_orders(item_orders_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.postV2SearchReportProductOrders(itemOrdersRequest);
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.PostV2SearchReportProductOrders(context.Background()).ItemOrdersRequest(itemOrdersRequest).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.postV2SearchReportProductOrders(itemOrdersRequest));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->postV2SearchReportProductOrders($item_orders_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый AnalyticsApi(Настройки);
Сообщить(Клиент.PostV2SearchReportProductOrders(Тело).Тело);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.PostV2SearchReportProductOrders(itemOrdersRequest));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_search_report_product_orders(&cfg, item_orders_request).await;
println!("{:#?}", result);
}