Search Clusters Statistics
http
POST /adv/v0/normquery/statsBase URL: https://advert-api.wildberries.ru · Module: promotion · Section: Statistics · Specification doc ↗
The method returns statistics for search clusters over a specified period. You can use this method only for campaigns with a cpm payment model — for impressions.
Request limit per one seller account:
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 10 requests | 6 s | 20 requests |
| Service | 1 min | 10 requests | 6 s | 20 requests |
| Base with secret | 1 min | 10 requests | 6 s | 20 requests |
| Base | 1 h | 5 requests | 12 min | 1 request |
Request body
application/json — schema V0GetNormQueryStatsRequest, required
fromstring(required) — Period start datetostring(required) — Period end dateitemsobject[](required)advert_idinteger<int64>(required) — Campaign IDnm_idinteger<int64>(required) — WB item number
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | V0GetNormQueryStatsResponse |
400 | Bad request | response400 |
401 | Unauthorized | object |
403 | Access denied | StandardizedBatchError |
429 | Too many requests | object |
Structure 200:
statsV0GetNormQueryStatsItem[]advert_idinteger<int64>— Campaign IDnm_idinteger<int64>— WB item numberstatsV0GetNormQueryStatsItemStat[]norm_querystring— Search clusterviewsinteger<int64>— Number of views. Forcpccampaigns (pay-per-click), the value will benullclicksinteger<int64>— Number of clicksatbsinteger<int64>— Number of items added to the basketordersinteger<int64>— Orders numberctrnumber<double>— Click-through rate — the ratio of clicks to impressions, %. Forcpccampaigns (pay-per-click), the value will benullcpcnumber<double>— Cost per click in the base units of the seller account currencycpmnumber<double>— Average cost per mille in the base units of the seller account currency. Forcpccampaigns — pay-per-click, the value will benullavg_posnumber<double>— Average item position on search results pagesshksinteger<int64>— Number of ordered items, pcsspendnumber<double>— Item promotion costs in a specific search cluster of the campaigncurrencystring<ISO 4217>— Currency of the seller account currency
Structure 400:
detailstring— Error detailsoriginstring— WB internal service IDrequest_idstring— Unique request IDstatusinteger<int64>— HTTP status codetitlestring— Error title
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 403:
detailstring— Error detailsoriginstring— WB internal service IDrequest_idstring— Unique request IDstatusinteger<int64>— HTTP Status Codetitlestring— Error title
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.promotion import Configuration, ApiClient
from wb_api_client.promotion.api import PromotionApi
cfg = Configuration(access_token="<your WB JWT>")
api = PromotionApi(ApiClient(cfg))
result = api.post_v0_normquery_stats(v0_get_norm_query_stats_request=...)
print(result)ts
import {
Configuration,
PromotionApi,
} from "@valeryverkhoturov/wb-api-client/promotion";
const cfg = new Configuration({});
cfg.setAccessToken("<your WB JWT>");
const api = new PromotionApi(cfg);
const { data } = await api.postV0NormqueryStats(v0GetNormQueryStatsRequest);
console.log(data);go
import (
"context"
"fmt"
wbpromotion "github.com/ValeryVerkhoturov/wb-api-client-go/promotion"
)
cfg := wbpromotion.NewConfiguration()
cfg.SetAccessToken("<your WB JWT>")
client := wbpromotion.NewAPIClient(cfg)
result, _, err := client.PromotionAPI.PostV0NormqueryStats(context.Background()).V0GetNormQueryStatsRequest(v0GetNormQueryStatsRequest).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)java
import io.github.valeryverkhoturov.wbapi.promotion.ApiClient;
import io.github.valeryverkhoturov.wbapi.promotion.SecretString;
import io.github.valeryverkhoturov.wbapi.promotion.api.PromotionApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<your WB JWT>"));
PromotionApi api = new PromotionApi(client);
System.out.println(api.postV0NormqueryStats(v0GetNormQueryStatsRequest));php
use ValeryVerkhoturov\WbApiClient\Promotion\Configuration;
use ValeryVerkhoturov\WbApiClient\Promotion\SecretString;
use ValeryVerkhoturov\WbApiClient\Promotion\Api\PromotionApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<your WB JWT>'));
$api = new PromotionApi(new Client(), $config);
print_r($api->postV0NormqueryStats($v0_get_norm_query_stats_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый PromotionApi(Настройки);
Сообщить(Клиент.PostV0NormqueryStats(Тело).Тело);csharp
using ValeryVerkhoturov.WbApiClient.Promotion.Api;
using ValeryVerkhoturov.WbApiClient.Promotion.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
var api = new PromotionApi(config);
Console.WriteLine(api.PostV0NormqueryStats(v0GetNormQueryStatsRequest));rust
use wb_api_client::promotion::apis::{configuration::Configuration, promotion_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<your WB JWT>");
let result = promotion_api::post_v0_normquery_stats(&cfg, v0_get_norm_query_stats_request).await;
println!("{:#?}", result);
}