Структура и содержание отчетов могут изменяться без предварительного уведомления

Например, может добавиться новая колонка или поменяться название листа.

Отчет «Цены на рынке»

Метод доступен для всех моделей.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

Запускает генерацию отчета «Цены на рынке».

В отчете возвращается информация только по 50 000 товаров. Если у вас их больше, используйте фильтры.

Данные в этом отчете постоянно обновляются

Поэтому информация в нем и в кабинете продавца на Маркете на странице Цены может отличаться.

Узнать статус генерации и получить ссылку на готовый отчет можно с помощью запроса GET reports/info/{reportId}.

Пояснение к колонкам отчета:

Лист Отчет "Цены на рынке" (файл business_prices_v2_report)

Название колонки в CSV

Название колонки в JSON

Название колонки в XLSX

Тип значения

SHOP_SKU

shopSku

SKU

string

OFFER

offer

Товар на Маркете

string

CATEGORY

category

Категория

string

MERCH_PRICE_WITH_PROMOS

merchPriceWithPromos

Ваша цена (Со скидками за ваш счёт, ₽)

integer

MERCH_PRICE_WITH_PROMOS

merchPriceWithPromos

Со скидками за ваш счёт, ₽

integer

MERCH_PRICE

merchPrice

Ваша цена, ₽

integer

PRICE_GREEN_THRESHOLD

priceGreenThreshold

Порог для привлекательной цены, ₽

integer

HOW_MUCH_TO_REDUCE

howMuchToReduce

На сколько снизить (до привлекательной цены, ₽)

integer

PRICE_RED_THRESHOLD

priceRedThreshold

Порог для умеренно привлекательной цены, ₽

integer

ON_DISPLAY

onDisplay

На витрине, ₽

integer

SHOWS_FOR_30_DAYS

showsFor30Days

Показы товара за 30 дней

integer

SALES_COUNT_FOR_30_DAYS

salesCountFor30Days

Продажи за 30 дней, шт.

integer

SALES_FOR_30_DAYS

salesFor30Days

Продажи за 30 дней, ₽

integer

MINIMUM_PRICE_ON_MARKETPLACES

minimumPriceOnMarketplaces

Минимальная на рынке, ₽

integer

MARKETPLACE_WITH_BEST_PRICE_WITHOUT_MARKET

marketplaceWithBestPriceWithoutMarket

Площадка с лучшей ценой (без учёта Маркета)

string

PRICE_VALUE_OUTSIDE_MARKET

priceValueOutsideMarket

Цена на этой площадке, ₽

integer

PRICE_VALUE_ON_MARKET

priceValueOnMarket

Цена в этом магазине, ₽

integer

SHOP_WITH_BEST_PRICE_ON_MARKET

shopWithBestPriceOnMarket

Магазин с лучшей ценой на Маркете

string

COMPARISON_OF_YOUR_PRICES_ON_MARKETPLACES

comparisonOfYourPricesOnMarketplaces

Сравнение ваших цен на площадках

string

PRICE

price

Цена, ₽

integer

⚙️ Лимит: 100 запросов в час

Request

POST

https://api.partner.market.yandex.ru/reports/prices/generate

Query parameters

Name

Description

format

Type: ReportFormatType

Формат отчета.

ReportFormatType

Формат отчета:

  • FILE — файл с электронной таблицей (XLSX).
  • CSV — ZIP-архив с CSV-файлами на каждый лист отчета.
  • JSON — ZIP-архив с JSON-файлами на каждый лист отчета.

Type

Description

ReportFormatType

Default: FILE

Enum: FILE, CSV, JSON

Body

application/json
{
    "businessId": 0,
    "campaignId": 0,
    "categoryIds": [
        0
    ],
    "creationDateFrom": "string",
    "creationDateTo": "string"
}

Name

Description

businessId

Type: integer<int64>

Идентификатор кабинета.

В большинстве случаев обязателен. Не указывается, если задан campaignId.

campaignId

Type: integer<int64>

Идентификатор кампании.

Как правило, не используется. Передавайте только если в кабинете есть магазины с уникальными ценами и вы хотите получить отчет для них. В этом случае передавать businessId не нужно.

categoryIds

Type: integer<int64>[]

Фильтр по категориям на Маркете.

Min items: 1

creationDateFrom

Type: string<date>

Фильтр по времени появления предложения — начало периода.

Формат даты: ДД-ММ-ГГГГ.

creationDateTo

Type: string<date>

Фильтр по времени появления предложения — окончание периода.

Формат даты: ДД-ММ-ГГГГ.

Responses

200 OK

В ответ приходит идентификатор, который позволяет узнавать статус генерации и скачать готовый отчет.

Body

application/json
{
    "status": "OK",
    "result": {
        "reportId": "string",
        "estimatedGenerationTime": 0
    }
}

Name

Description

result

Type: GenerateReportDTO

Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета.

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

GenerateReportDTO

Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета.

Name

Description

estimatedGenerationTime*

Type: integer<int64>

Ожидаемая продолжительность генерации в миллисекундах.

reportId*

Type: string

Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета.

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

400 Bad Request

Запрос содержит неправильные данные.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Description

errors

Type: ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

ApiErrorDTO

Общий формат ошибки.

Name

Description

code*

Type: string

Код ошибки.

message

Type: string

Описание ошибки.

401 Unauthorized

В запросе не указаны данные для авторизации.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Description

errors

Type: ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Description

errors

Type: ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

420 Method Failure

Превышено ограничение на доступ к ресурсу.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Description

errors

Type: ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

500 Internal Server Error

Внутренняя ошибка сервера.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Description

errors

Type: ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR