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

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

Отчет «Конкурентная позиция»

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

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

Запускает генерацию отчета «Конкурентная позиция» за заданный период. Что это за отчет

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

Значение -1 в отчете

Если в CSV-файле в столбце POSITION стоит -1, в этот день не было заказов с товарами в указанной категории.

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

Лист Конкурентная позиция (файл competitors_position)

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

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

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

Тип значения

DAY

day

День

string

SELLERS_COUNT

sellersCount

Продавцов в категории

integer

POSITION

position

Ваша позиция

integer

TOTAL_GMV

totalGmv

Общий оборот в категории, ₽

number

GMV

gmv

Ваш оборот в категории, ₽

number

AVG_TOTAL_GMV

avgTotalGmv

Средний оборот в категории, ₽

number

SHARE

share

Ваша доля, %

number

AVG_GMV_OF_TOP_FIVE_PERCENT_SELLERS

avgGmvOfTopFivePercentSellers

Средний оборот 5% лидеров, ₽

number

NEAREST_COMPETITOR_GMV

nearestCompetitorGmv

Оборот ближайшего конкурента, ₽

number

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

Request

POST

https://api.partner.market.yandex.ru/reports/competitors-position/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,
    "categoryId": 0,
    "dateFrom": "string",
    "dateTo": "string"
}

Name

Description

businessId*

Type: integer<int64>

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

categoryId*

Type: integer<int64>

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

dateFrom*

Type: string<date>

Начало периода, включительно.

dateTo*

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