# Яндекс Маркет Partner API: Выгрузить отчёт по заказам за период

Сценарий из mcp-everything. Актуально на 2026-10-24.

Финансовая сверка и аналитика: отчёт по всем заказам кабинета за нужные даты.

1. Запусти генерацию: POST /v2/reports/united-orders/generate с businessId, dateFrom и dateTo (период не больше года); format — формат файла.
2. Отчёт готовится асинхронно, в ответе — reportId. Генерировать можно примерно раз в 1–2 минуты.
3. Опрашивай GET /v2/reports/info/{reportId} с паузой, пока статус не станет готовым, и скачай файл по ссылке из ответа.

```bash
REPORT=$(curl -s -X POST "https://api.partner.market.yandex.ru/v2/reports/united-orders/generate?format=FILE" \
  -H "Api-Key: $YM_TOKEN" -H 'Content-Type: application/json' \
  -d '{"businessId": <businessId>, "dateFrom": "2026-09-01", "dateTo": "2026-09-30"}' | jq -r .result.reportId)

curl "https://api.partner.market.yandex.ru/v2/reports/info/$REPORT" -H "Api-Key: $YM_TOKEN"
```

## Базовые URL

- Боевой: `https://api.partner.market.yandex.ru`

## Авторизация

Тип: API-ключ

Основной способ — API-ключ (Api-Key-токен) из кабинета продавца в заголовке `Api-Key`. Также поддерживается OAuth-токен Яндекса со скоупом `market:partner-api` (авторизация через `https://oauth.yandex.ru/authorize`). Доступ к методам определяется доступами токена: `all-methods`, `all-methods:read-only`, `inventory-and-order-processing`, `offers-and-cards-management`, `pricing`, `communication`, `finance-and-accounting`, `settings-management`, `promotion` и их read-only вариантами.

```
curl https://api.partner.market.yandex.ru/v2/campaigns -H "Api-Key: <token>"
```

## Методы сценария

### POST /v2/reports/united-orders/generate — Отчёт по заказам

Запускает асинхронную генерацию отчёта; результат забирают через `GET /v2/reports/info/{reportId}`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `format` | query | string | нет | Формат отчёта |
| `language` | query | string | нет | Язык отчёта |
| `businessId` | body | integer | да | Идентификатор кабинета |
| `dateFrom` | body | string | да | Начало периода, ГГГГ-ММ-ДД |
| `dateTo` | body | string | да | Конец периода, максимум 1 год |
| `campaignIds` | body | array | нет | Магазины для отчёта |
| `promoId` | body | string | нет | Акция |

### GET /v2/reports/info/{reportId} — Получение отчёта

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `reportId` | path | string | да | Идентификатор отчёта |

## Нюансы

- Пагинация — по `pageToken` и `limit`; параметры `page` и `pageSize` устарели и отключаются с 05.10.2026.
- `GET /v2/campaigns/{campaignId}/orders` отключается 12.04.2027 — переходите на `POST /v1/businesses/{businessId}/orders`.
- Параметры `offer.category`, `offer.params`, `customsCommodityCode` устарели (отключение 12.10.2026); используйте `marketCategoryId`, `parameterValues`, `commodityCodes`.
- При ошибке хотя бы в одном товаре `offer-mappings/update` не отправляет в каталог ни один товар из запроса; ответ `200` сам по себе не означает, что товары прошли проверку.
- Отчёты генерируются асинхронно: сначала `.../generate`, потом опрос `GET /v2/reports/info/{reportId}`.
- Тестовые заказы отмечены `fake: true`.
- У метода `GET /v2/campaigns/{campaignId}/orders` ограничение — до 6 параллельных запросов.

## Другие сценарии

- [Забирать новые заказы и подтверждать их](https://mcp-everything.ru/integrations/yandex-market/scenarios/zabirat-novye-zakazy-i-podtverzhdat-ih.md)
- [Передать остатки со своего склада](https://mcp-everything.ru/integrations/yandex-market/scenarios/peredat-ostatki-so-svoego-sklada.md)
- [Обновить цены во всех магазинах](https://mcp-everything.ru/integrations/yandex-market/scenarios/obnovit-tseny-vo-vseh-magazinah.md)
- [Добавить товар в каталог](https://mcp-everything.ru/integrations/yandex-market/scenarios/dobavit-tovar-v-katalog.md)

---

Если этого недостаточно — официальная документация: https://yandex.ru/dev/market/partner-api/doc/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-market.md
