Skip to content

Wildberries API TypeScript SDK / AnalyticsModule

Class: AnalyticsModule

Defined in: modules/analytics/index.ts:10

Constructors

Constructor

ts
new AnalyticsModule(client: BaseClient): AnalyticsModule;

Defined in: modules/analytics/index.ts:11

Parameters

ParameterType
clientBaseClient

Returns

AnalyticsModule

Methods

createNmReportDetail()

ts
createNmReportDetail(data: NmReportDetailRequest): Promise<NmReportDetailResponse>;

Defined in: modules/analytics/index.ts:28

Статистика карточек товаров за период

Метод формирует отчёт о товарах, сравнивая ключевые показатели — например, добавления в корзину, заказы и переходы в карточку товара — за текущий период с аналогичным прошлым.<br><br> Параметры brandNames,objectIDs, tagIDs, nmIDs могут быть пустыми [], тогда в ответе возвращаются все карточки продавца.<br><br> Если выбрано несколько параметров, в ответе будут карточки, в которых есть одновременно все эти параметры. Если карточки не подходят по параметрам запроса, вернётся пустой ответ [].<br><br> Можно получить отчёт максимум за последние 365 дней.<br><br> В данных предыдущего периода: * Данные в previousPeriod указаны за такой же период, что и в selectedPeriod. * Если дата начала previousPeriod раньше, чем год назад от текущей даты, она будет приведена к виду: previousPeriod.begin = текущая дата — 365 дней. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataNmReportDetailRequestParameter

Returns

Promise<NmReportDetailResponse>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createNmReportDetail({});
console.log(result);

createDetailHistory()

ts
createDetailHistory(data: NmReportDetailHistoryRequest): Promise<NmReportDetailHistoryResponse>;

Defined in: modules/analytics/index.ts:47

Статистика карточек товаров по дням

Метод возвращает статистику карточек товаров по дням. Можно получить данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее.<br><br> Можно получить данные максимум за последнюю неделю. <div class="description_important"> Чтобы получать <a href="/openapi/analytics#tag/Analitika-prodavca-CSV">отчёты за период до года</a>, подпишитесь на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataNmReportDetailHistoryRequestParameter

Returns

Promise<NmReportDetailHistoryResponse>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createDetailHistory({});
console.log(result);

createGroupedHistory()

ts
createGroupedHistory(data: NmReportGroupedHistoryRequest): Promise<NmReportGroupedHistoryResponse>;

Defined in: modules/analytics/index.ts:66

Статистика групп карточек товаров по дням

Метод возвращает статистику карточек товаров по дням. Карточки товаров сгруппированы по предметам, брендам и ярлыкам. Можно получить данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее.<br><br> Параметры brandNames, objectIDs, tagIDs могут быть пустыми [], тогда группировка происходит по всем карточкам продавца.<br><br> Произведение количества предметов, брендов, ярлыков в запросе может быть не больше 16.<br><br> Можно получить данные максимум за последнюю неделю. <div class="description_important"> Чтобы получать <a href="/openapi/analytics#tag/Analitika-prodavca-CSV">отчёты за период до года</a>, подпишитесь на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataNmReportGroupedHistoryRequestParameter

Returns

Promise<NmReportGroupedHistoryResponse>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createGroupedHistory({});
console.log(result);

getNmReportDownloads()

ts
getNmReportDownloads(options?: {
  filter[downloadIds]?: string[];
}): Promise<NmReportGetReportsResponse>;

Defined in: modules/analytics/index.ts:85

Получить список отчётов

Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID созданных отчётов и статусы генерации. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
options?{ filter[downloadIds]?: string[]; }Query parameters
options.filter[downloadIds]?string[]-

Returns

Promise<NmReportGetReportsResponse>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.getNmReportDownloads({});
console.log(result);

createNmReportDownload()

ts
createNmReportDownload(data?: 
  | SalesFunnelProductReq
  | SalesFunnelGroupReq
  | SearchReportGroupReq
  | SearchReportProductReq
  | SearchReportTextReq
| StocksReportReq): Promise<NmReportCreateReportResponse>;

Defined in: modules/analytics/index.ts:104

Создать отчёт

Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца.<br><br> Вы можете создать CSV-версии отчётов по воронке продаж или параметрам поиска с группировкой по: * артикулам WB * предметам, брендам и ярлыкам В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам.<br><br> Также можете создать CSV-версии отчётов по текстам поисковых запросов и истории остатков.<br><br> Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.<br><br> Если не удалось получить отчёт, можно создать повторное задание на генерацию. Также можно получить список и проверить статусы отчётов. <div class="description_important"> Отчёт по <a href="https://seller.wildberries.ru/content-analytics/history-remains">истории остатков</a> — модель <code>StocksReportReq</code> — можно создать без подписки <a href="https://seller.wildberries.ru/monetization/jam">Джем</a> </div> <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
data?| SalesFunnelProductReq | SalesFunnelGroupReq | SearchReportGroupReq | SearchReportProductReq | SearchReportTextReq | StocksReportReqRequest body data

Returns

Promise<NmReportCreateReportResponse>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createNmReportDownload({});
console.log(result);

createDownloadsRetry()

ts
createDownloadsRetry(data: NmReportRetryReportRequest): Promise<NmReportRetryReportResponse>;

Defined in: modules/analytics/index.ts:123

Сгенерировать отчёт повторно

Метод создает повторное задание на генерацию отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы получили статус FAILED. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataNmReportRetryReportRequestRequest body data

Returns

Promise<NmReportRetryReportResponse>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createDownloadsRetry({});
console.log(result);

getDownloadsFile()

ts
getDownloadsFile(downloadId: string): Promise<unknown>;

Defined in: modules/analytics/index.ts:142

Получить отчёт

Метод возвращает отчёт с расширенной аналитикой продавца по ID задания на генерацию. <br><br> Можно получить отчёт, который сгенерирован за последние 48 часов.<br>Отчёт будет загружен внутри архива ZIP в формате CSV. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
downloadIdstringID отчёта

Returns

Promise<unknown>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.getDownloadsFile('downloadId-value');
console.log(result);

createSearchReportReport()

ts
createSearchReportReport(data: MainRequest): Promise<CommonResponseProperties & {
  data: MainResponse;
}>;

Defined in: modules/analytics/index.ts:161

Основная страница

Метод формирует набор данных для основной страницы отчёта по поисковым запросам с: - общей информацией - позициями товаров - данными по видимости и переходам в карточку - данными для таблицы по группам Для получения дополнительных данных в таблице используйте отдельный запрос для: - пагинации по группам - получения по товарам в группе Дополнительный параметр выбора списка товаров в таблице: - positionCluster — средняя позиция в поиске Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataMainRequestRequest body data

Returns

Promise<CommonResponseProperties & { data: MainResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createSearchReportReport({});
console.log(result);

createTableGroup()

ts
createTableGroup(data: TableGroupRequest): Promise<CommonResponseProperties & {
  data: TableGroupResponse;
}>;

Defined in: modules/analytics/index.ts:180

Пагинация по группам

Метод формирует дополнительные данные к основному отчёту с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку.<br><br> Дополнительный параметр выбора списка товаров в таблице: - positionCluster — средняя позиция в поиске Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataTableGroupRequestRequest body data

Returns

Promise<CommonResponseProperties & { data: TableGroupResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createTableGroup({});
console.log(result);

createTableDetail()

ts
createTableDetail(data: TableDetailsRequest): Promise<CommonResponseProperties & {
  data: TableDetailsResponse;
}>;

Defined in: modules/analytics/index.ts:199

Пагинация по товарам в группе

Метод формирует дополнительные данные к основному отчёту с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров.<br><br> Фильтры для пагинации по товарам в группе или без фильтров: - кортеж subjectId,brandName,tagId — фильтр для группы - nmIds — фильтр по карточке товара Дополнительный параметр выбора списка товаров: - positionCluster — средняя позиция в поиске Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataTableDetailsRequestRequest body data

Returns

Promise<CommonResponseProperties & { data: TableDetailsResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createTableDetail({});
console.log(result);

createProductSearchText()

ts
createProductSearchText(data: ProductSearchTextsRequest): Promise<CommonResponseProperties & {
  data: ProductSearchTextsResponse;
}>;

Defined in: modules/analytics/index.ts:218

Поисковые запросы по товару

Метод формирует топ поисковых запросов по товару. Параметры выбора поисковых запросов: - limit — количество запросов, максимум 30 (для тарифа Продвинутый — 100) - topOrderBy — способ выбора топа запросов Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataProductSearchTextsRequestRequest body data

Returns

Promise<CommonResponseProperties & { data: ProductSearchTextsResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createProductSearchText({});
console.log(result);

createProductOrder()

ts
createProductOrder(data: ProductOrdersRequest): Promise<CommonResponseProperties & {
  data: ProductOrdersResponse;
}>;

Defined in: modules/analytics/index.ts:237

Заказы и позиции по поисковым запросам товара

Метод формирует данные для таблицы по количеству заказов и позиций в поиске по запросам покупателя. Данные указаны в рамках периода для запрошенного товара. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataProductOrdersRequestRequest body data

Returns

Promise<CommonResponseProperties & { data: ProductOrdersResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createProductOrder({});
console.log(result);

createProductsGroup()

ts
createProductsGroup(data: TableGroupRequestSt): Promise<{
  data: TableGroupResponseSt;
}>;

Defined in: modules/analytics/index.ts:256

Данные по группам

Метод формирует набор данных об остатках по группам товаров. <br><br> Группа товаров описывается кортежем subjectID, brandName, tagID. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataTableGroupRequestStRequest body data

Returns

Promise<{ data: TableGroupResponseSt; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createProductsGroup({});
console.log(result);

createProductsProduct()

ts
createProductsProduct(data: TableProductRequest): Promise<{
  data: TableProductResponse;
}>;

Defined in: modules/analytics/index.ts:275

Данные по товарам

Метод формирует набор данных об остатках по товарам. <br><br> Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: nmIDs, subjectID, brandName, tagID. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataTableProductRequestRequest body data

Returns

Promise<{ data: TableProductResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createProductsProduct({});
console.log(result);

createProductsSize()

ts
createProductsSize(data: CommonSizeFilters): Promise<{
  data: TableSizeResponse;
}>;

Defined in: modules/analytics/index.ts:294

Данные по размерам

Метод формирует набор данных об остатках по размерам товара. <br><br> Возможны случаи: 1. Товар имеет размеры и "includeOffice":true, тогда в ответе будут данные об остатках по каждому из размеров с вложенной детализацией по складам. 2. Товар имеет размеры и "includeOffice":false, тогда в ответе будут данные об остатках по каждому из размеров без вложенной детализации по складам. 3. Товар не имеет размера и "includeOffice":true, тогда в ответе будет детализация по складам. Без данных об остатках по каждому из размеров. 4. Товар не имеет размера и "includeOffice":false, тогда тело ответа будет пустым.<br></br> Товар не имеет размера, если у него единственный размер с "techSize":"0". В ответах метода получения данных по товарам у таких товаров "hasSizes":false.<br></br> Данные по складам Маркетплейс (FBS) приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с "regionName":"Маркетплейс" и "officeName":"". <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataCommonSizeFiltersRequest body data

Returns

Promise<{ data: TableSizeResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createProductsSize({});
console.log(result);

createStocksReportOffice()

ts
createStocksReportOffice(data: CommonShippingOfficeFilters): Promise<{
  data: TableShippingOfficeResponse;
}>;

Defined in: modules/analytics/index.ts:313

Данные по складам

Метод формирует набор данных об остатках по складам. <br><br> Данные по складам Маркетплейс (FBS) приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с "regionName":"Маркетплейс" и "offices":[]. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>

Parameters

ParameterTypeDescription
dataCommonShippingOfficeFiltersRequest body data

Returns

Promise<{ data: TableShippingOfficeResponse; }>

Успешно

Throws

When API key is invalid (401/403)

Throws

When rate limit exceeded (429)

Throws

When request data is invalid (400/422)

Throws

When network request fails or times out

Example

ts
const result = await sdk.general.createStocksReportOffice({});
console.log(result);

Made with ❤️ for the Wildberries developer community