Поисковые запросы по товару
http
POST /api/v2/search-report/product/search-textsБаза: https://seller-analytics-api.wildberries.ru · Модуль: analytics · Раздел: Поисковые запросы по вашим товарам · Документация спецификации ↗
Метод формирует топ поисковых запросов по товару. Параметры выбора поисковых запросов:
limit— количество запросов, максимум 30. Для тарифов Джема **Продвинутый** и **Премиальный** максимум — 100.topOrderBy— способ выбора топа запросов ПараметрыincludeSubstitutedSKUsиincludeSearchTextsне могут одновременно иметь значениеfalse.
Данные отчёта обновляются 1 раз в 2 часа.
Лимит запросов на один профиль продавца:
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Сервисный | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 3 запроса |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Тело запроса
application/json — схема ItemSearchTextsRequest, обязательно
currentPeriodPeriod(обязательно)startstring(обязательно) — Дата начала периода. Не позднееend. Не ранее 365 суток от сегодняendstring(обязательно) — Дата окончания периода. Не ранее 365 суток от сегодня
pastPeriodpastPeriodstartstring(обязательно) — Дата начала периода. Не позднееend. Не ранее 365 суток от сегодняendstring(обязательно) — Дата окончания периода. Не позднее даты перед датой началаcurrentPeriod. Не ранее 365 суток от сегодня
nmIdsinteger<int64>[](обязательно) — Список артикулов WBtopOrderBystring=openCard|addToCart|openToCart|orders|cartToOrder(обязательно) — Фильтрация по поисковым запросам, по которым больше всего: -openCard— перешли в карточку -addToCart— добавили в корзину -openToCart— конверсия в корзину -orders— заказали товаров -cartToOrder— конверсия в заказincludeSubstitutedSKUsboolean— Показать данные по прямым запросам с подменным артикуломincludeSearchTextsboolean— Показать данные по поисковым запросам без учёта подменного артикулаorderByOrderByGrTe(обязательно)fieldstring=avgPosition|openCard|addToCart|openToCart|orders|cartToOrder|visibility(обязательно) — Поле для сортировки: -avgPosition— по средней позиции -addToCart— по добавлениям в корзину -openCard— по открытию карточки (переход на страницу товара) -orders— по количеству заказов -cartToOrder— по конверсии в заказ из поиска -openToCart— по конверсии в корзину из поиска -visibility— по видимости товараmodestring=asc|desc(обязательно) — Порядок сортировки: -asc— по возрастанию -desc— по убыванию
limitTextLimit(обязательно)- один из вариантов:
StandardTariff,AdvancedTariff
- один из вариантов:
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | PostV2SearchReportProductSearchTextsResponse200 |
400 | Неправильный запрос | ErrorObject400 |
401 | Не авторизован | object |
402 | Требуется платёж | object |
403 | Доступ запрещён | ErrorObject403 |
429 | Слишком много запросов | object |
Структура 200:
dataItemSearchTextsResponseitemsTableSearchTextItem[]— Элементы таблицыtextstring— Текст поискового запросаnmIdinteger<int64>— Артикул WBsubjectNamestring— Название предметаbrandNamestring— БрендvendorCodestring— Артикул продавцаnamestring— Название товараisCardRatedboolean— Есть ли рейтинг у карточки товараratingnumber<float64>— Рейтинг карточки товараfeedbackRatingnumber<float64>— Рейтинг по отзывамpriceobject— ЦенаminPriceinteger<int64>— Минимальная цена продавца со скидкой продавца (без учёта скидки WB Клуба)maxPriceinteger<int64>— Максимальная цена продавца со скидкой продавца (без учёта скидки WB Клуба)
frequencyobject— Количество обращений с поисковым запросомcurrentinteger<int64>— Текущее количествоdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %
weekFrequencyinteger<int64>— Количество обращений с поисковым запросом за неделюmedianPositionobject— Медианная позиция. Учитываются только те позиции, из которых пользователи добавляли товар в корзину или переходили в его карточку. Серединное значение позиции в поисковой выдаче, которое исключает сильные отклонения данных от среднего значенияcurrentinteger<int64>— Текущая медианная позицияdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %
avgPositionobject— Средняя позиция товара в результатах поискаcurrentinteger<int64>— Текущая средняя позицияdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %
openCardobject— Количество переходов в карточку товара из поискаcurrentinteger<int64>— Текущее количество переходовdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %percentileinteger<int64>— Процент, на который показатель количества открытий карточки товара выше, чем у карточек других продавцов по поисковому запросу
addToCartobject— Сколько раз товар из поиска добавили в корзинуcurrentinteger<int64>— Текущее количествоdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %percentileinteger<int64>— Процент, на который показатель добавлений в корзину выше, чем у карточек других продавцов по поисковому запросу
openToCartobject— Конверсия в корзину из поиска — доля добавлений товара в корзину по отношению ко всем переходам в карточку товара из поискаcurrentinteger<int64>— Текущая конверсияdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %percentileinteger<int64>— Процент, на который показатель конверсии в корзину выше, чем у карточек других продавцов по поисковому запросу
ordersobject— Сколько раз товары из поиска заказалиcurrentinteger<int64>— Текущее количествоdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %percentileinteger<int64>— Процент, на который показатель заказов выше, чем у карточек других продавцов по поисковому запросу
cartToOrderobject— Конверсия в заказ из поиска — доля заказов товара по отношению ко всем добавлениям товара из поиска в корзинуcurrentinteger<int64>— Текущая конверсияdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %percentileinteger<int64>— Процент, на который показатель конверсии в заказ выше, чем у карточек других продавцов по поисковому запросу
visibilityobject— Процент видимости товара в результатах поискаcurrentinteger<int64>— Текущий процентdynamicsinteger<int64>— Динамика по сравнению с предыдущим периодом, %
currencyCurrency
Структура 400:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WB
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 402:
titlestring— Заголовок ошибкиdetailstring— Детали ошибки. Ошибка возвращается только сервисам из Каталога решений для бизнеса
Структура 403:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WB
Структура 429:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Примеры вызова
Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.
python
from wb_api_client.analytics import Configuration, ApiClient
from wb_api_client.analytics.api import AnalyticsApi
cfg = Configuration(access_token="<ваш JWT WB>")
api = AnalyticsApi(ApiClient(cfg))
result = api.post_v2_search_report_product_search_texts(item_search_texts_request=...)
print(result)ts
import {
Configuration,
AnalyticsApi,
} from "@valeryverkhoturov/wb-api-client/analytics";
const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new AnalyticsApi(cfg);
const { data } = await api.postV2SearchReportProductSearchTexts(itemSearchTextsRequest);
console.log(data);go
import (
"context"
"fmt"
wbanalytics "github.com/ValeryVerkhoturov/wb-api-client-go/analytics"
)
cfg := wbanalytics.NewConfiguration()
cfg.SetAccessToken("<ваш JWT WB>")
client := wbanalytics.NewAPIClient(cfg)
result, _, err := client.AnalyticsAPI.PostV2SearchReportProductSearchTexts(context.Background()).ItemSearchTextsRequest(itemSearchTextsRequest).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("<ваш JWT WB>"));
AnalyticsApi api = new AnalyticsApi(client);
System.out.println(api.postV2SearchReportProductSearchTexts(itemSearchTextsRequest));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('<ваш JWT WB>'));
$api = new AnalyticsApi(new Client(), $config);
print_r($api->postV2SearchReportProductSearchTexts($item_search_texts_request));bsl
#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый AnalyticsApi(Настройки);
Сообщить(Клиент.PostV2SearchReportProductSearchTexts(Тело).Тело);csharp
using ValeryVerkhoturov.WbApiClient.Analytics.Api;
using ValeryVerkhoturov.WbApiClient.Analytics.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
var api = new AnalyticsApi(config);
Console.WriteLine(api.PostV2SearchReportProductSearchTexts(itemSearchTextsRequest));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("<ваш JWT WB>");
let result = analytics_api::post_v2_search_report_product_search_texts(&cfg, item_search_texts_request).await;
println!("{:#?}", result);
}