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

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

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

Deprecated

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

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

Какой метод использовать вместо устаревшего

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

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

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

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

Узнать статус генерации и получить ссылку на готовый отчет можно с помощью запроса GET v2/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/v2/reports/prices/generate

Query parameters

Name

Description

format

Type: ReportFormatType

Формат отчета или документа.

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

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

Default: FILE

Enum: FILE, CSV, JSON

ReportFormatType

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

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

Type: string

Default: FILE

Enum: FILE, CSV, JSON

Body

application/json
{
  "businessId": 1,
  "campaignId": 1,
  "categoryIds": [
    0
  ],
  "creationDateFrom": "2025-01-01",
  "creationDateTo": "2025-01-01"
}

Name

Description

businessId

Type: BusinessId

Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

Min value: 1

Example: 1

campaignId

Type: CampaignId

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

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

Min value: 1

Example: 1

categoryIds

Type: integer[] | null

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

Min items: 1

Unique items: true

Example
[
  0
]

creationDateFrom

Type: string<date>

Фильтр по времени добавления первой информации о товаре — начало периода.

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

Example: 2025-01-01

creationDateTo

Type: string<date>

Фильтр по времени добавления первой информации о товаре — окончание периода.

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

Example: 2025-01-01

BusinessId

Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

Type: integer

Min value: 1

CampaignId

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

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

Type: integer

Min value: 1

Responses

200 OK

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

Body

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

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    result

    Type: GenerateReportDTO

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

    Example
    {
      "reportId": "example",
      "estimatedGenerationTime": 0
    }
    
    Example
    {
      "result": {
        "reportId": "example",
        "estimatedGenerationTime": 0
      }
    }
    

ApiResponseStatusType

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

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

Type: string

Enum: OK, ERROR

ApiResponse

Стандартная обертка для ответов сервера.

Name

Description

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

Example
{
  "status": "OK"
}

GenerateReportDTO

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

Name

Description

estimatedGenerationTime

Type: integer

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

reportId

Type: string

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

Example: example

Example
{
  "reportId": "example",
  "estimatedGenerationTime": 0
}

400 Bad Request

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

ApiErrorDTO

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

Name

Description

code

Type: string

Код ошибки.

Example: example

message

Type: string

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

Example: example

Example
{
  "code": "example",
  "message": "example"
}

ApiErrorResponse

Стандартная обертка для ошибок сервера.

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    errors

    Type: ApiErrorDTO[] | null

    Список ошибок.

    Min items: 1

    Example
    [
      {
        "code": "example",
        "message": "example"
      }
    ]
    
    Example
    {
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    
Example
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

401 Unauthorized

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

403 Forbidden

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

420 Method Failure

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

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

500 Internal Server Error

Внутренняя ошибка Маркета. Подробнее об ошибке

Body

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

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

No longer supported, please use an alternative and newer version.