Статистика по поисковым кластерам с детализацией по дням
http
POST /adv/v1/normquery/statsБаза: https://advert-api.wildberries.ru · Модуль: promotion · Раздел: Статистика · Документация спецификации ↗
Метод формирует статистику по поисковым кластерам за указанный период с детализацией по дням. Можно использовать для кампаний с моделями оплаты cpm — за показы и cpc — за клики.
Лимит запросов на один профиль продавца:
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Сервисный | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Базовый с секретом | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Тело запроса
application/json — схема V1GetNormQueryStatsRequest, обязательно
fromstring(обязательно) — Дата начала периодаtostring(обязательно) — Дата окончания периода периодаitemsobject[](обязательно)advertIdinteger<int64>(обязательно) — ID кампанииnmIdinteger<int64>(обязательно) — Артикул WB
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | V1GetNormQueryStatsResponse |
400 | Неправильный запрос | response400 |
401 | Не авторизован | object |
403 | Доступ запрещён | object |
429 | Слишком много запросов | object |
Структура 200:
itemsV1GetNormQueryStatsResponseItem[]advertIdinteger<int64>— ID кампанииnmIdinteger<int64>— Артикул WBdailyStatsV1GetNormQueryStatsResponseItemDailyStat[]— Статистика с детализацией по днямdatestring— ДатаstatV1GetNormQueryStatsResponseItemStatnormQuerystring— Поисковый кластерviewsinteger<int64>— Количество просмотров. Для кампаний с типом оплатыcpc— за клики — значение будетnullclicksinteger<int64>— Количество кликовatbsinteger<int64>— Количество добавлений товаров в корзинуordersinteger<int64>— Количество заказовctrnumber<float>— CTR (click-through rate) — отношение числа кликов к количеству показов в процентах. Для кампаний с типом оплатыcpc— за клики — значение будетnullcpcnumber<float>— Средняя стоимость клика в базовых единицах валюты профиля продавцаcpmnumber<float>— Средняя стоимость за тысячу показов в базовых единицах валюты профиля продавца. Для кампаний с типом оплатыcpc— за клики — значение будетnullavgPosnumber<float>— Средняя позиция товара на страницах поисковой выдачиshksinteger<int64>— Количество заказанных товаров, шт.spendnumber<double>— Затраты на продвижение товаров в конкретном поисковом кластере кампании
Структура 400:
detailstring— Детали ошибкиoriginstring— ID внутреннего сервиса WBrequest_idstring— Уникальный ID запросаstatusinteger<int64>— HTTP статус-кодtitlestring— Заголовок ошибки
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 403:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 429:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Примеры вызова
Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.
python
from wb_api_client.promotion import Configuration, ApiClient
from wb_api_client.promotion.api import PromotionApi
cfg = Configuration(access_token="<ваш JWT WB>")
api = PromotionApi(ApiClient(cfg))
result = api.post_v1_normquery_stats(v1_get_norm_query_stats_request=...)
print(result)ts
import {
Configuration,
PromotionApi,
} from "@valeryverkhoturov/wb-api-client/promotion";
const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new PromotionApi(cfg);
const { data } = await api.postV1NormqueryStats(v1GetNormQueryStatsRequest);
console.log(data);go
import (
"context"
"fmt"
wbpromotion "github.com/ValeryVerkhoturov/wb-api-client-go/promotion"
)
cfg := wbpromotion.NewConfiguration()
cfg.SetAccessToken("<ваш JWT WB>")
client := wbpromotion.NewAPIClient(cfg)
result, _, err := client.PromotionAPI.PostV1NormqueryStats(context.Background()).V1GetNormQueryStatsRequest(v1GetNormQueryStatsRequest).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("<ваш JWT WB>"));
PromotionApi api = new PromotionApi(client);
System.out.println(api.postV1NormqueryStats(v1GetNormQueryStatsRequest));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('<ваш JWT WB>'));
$api = new PromotionApi(new Client(), $config);
print_r($api->postV1NormqueryStats($v1_get_norm_query_stats_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый PromotionApi(Настройки);
Сообщить(Клиент.PostV1NormqueryStats(Тело).Тело);csharp
using ValeryVerkhoturov.WbApiClient.Promotion.Api;
using ValeryVerkhoturov.WbApiClient.Promotion.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
var api = new PromotionApi(config);
Console.WriteLine(api.PostV1NormqueryStats(v1GetNormQueryStatsRequest));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("<ваш JWT WB>");
let result = promotion_api::post_v1_normquery_stats(&cfg, v1_get_norm_query_stats_request).await;
println!("{:#?}", result);
}