Яндекс Маркет Partner API: Забирать новые заказы и подтверждать их

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

Обработка заказов FBS: получить новые заказы из всех магазинов кабинета и сообщить Маркету, что заказ собран.

  1. Создай Api-Key-токен в кабинете продавца с доступом inventory-and-order-processing. Узнай businessId (кабинет) и campaignId (магазин): GET /v2/campaigns.
  2. Забирай новые заказы: POST /v1/businesses/{businessId}/orders с statuses = ["PROCESSING"] и substatuses = ["STARTED"] — это заказы, которые ждут сборки. Листай страницы через pageToken из ответа. Старый GET /v2/campaigns/{campaignId}/orders отключается 12.04.2027 — сразу пиши на новом.
  3. Собрал заказ — переведи его на следующий этап: PUT /v2/campaigns/{campaignId}/orders/{orderId}/status с order.status = PROCESSING и order.substatus = READY_TO_SHIP.
  4. Если товара нет, отмени заказ тем же методом: status = CANCELLED с причиной в substatus, например SHOP_FAILED.
  5. Тестовые заказы приходят с fake: true — не отправляй их в учётную систему.
H="Api-Key: $YM_TOKEN"

# Новые заказы во всех магазинах кабинета
curl -X POST "https://api.partner.market.yandex.ru/v1/businesses/<businessId>/orders?limit=50" \
  -H "$H" -H 'Content-Type: application/json' \
  -d '{"statuses": ["PROCESSING"], "substatuses": ["STARTED"]}'

# Заказ собран
curl -X PUT "https://api.partner.market.yandex.ru/v2/campaigns/<campaignId>/orders/<orderId>/status" \
  -H "$H" -H 'Content-Type: application/json' \
  -d '{"order": {"status": "PROCESSING", "substatus": "READY_TO_SHIP"}}'

Базовые URL

Авторизация

Тип: 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>"

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

GET /v2/campaigns — Список магазинов пользователя

Для Api-Key-токена возвращает магазины кабинета, для которого выдан токен. Отсюда берут campaignId и businessId.

Параметр Где Тип Обяз. Описание
pageToken query string нет Идентификатор страницы результатов
limit query integer нет Количество значений на странице

POST /v1/businesses/{businessId}/orders — Информация о заказах в кабинете

Заказы по всем магазинам кабинета; рекомендуемая замена GET /v2/campaigns/{campaignId}/orders.

Параметр Где Тип Обяз. Описание
businessId path integer да Идентификатор кабинета
pageToken query string нет Страница результатов
limit query integer нет Количество значений на странице
orderIds body array нет ID заказов
externalOrderIds body array нет Внешние ID заказов
campaignIds body array нет ID магазинов
statuses body array нет Статусы заказов
substatuses body array нет Этапы обработки или причины отмены
programTypes body array нет Модели работы магазина
dates body object нет Фильтр по датам
fake body boolean нет true — тестовые заказы
waitingForCancellationApprove body boolean нет Только DBS: заказы с запросом на отмену
sourcePlatforms body array нет Площадки-источники заказов

GET /v2/campaigns/{campaignId}/orders — Информация о заказах в магазине

Устаревает: деградация с 18.01.2027, отключение 12.04.2027; замена — POST /v1/businesses/{businessId}/orders.

Параметр Где Тип Обяз. Описание
campaignId path integer да Идентификатор магазина
orderIds query array нет ID заказов; не сочетать с другими фильтрами
status query array нет Статус: CANCELLED, DELIVERED, DELIVERY, PROCESSING и др.
substatus query array нет Этап обработки или причина отмены
fromDate query string нет Дата оформления от, ДД-ММ-ГГГГ
toDate query string нет Дата оформления до, ДД-ММ-ГГГГ
updatedAtFrom query string нет Дата обновления от, ISO 8601
updatedAtTo query string нет Дата обновления до, ISO 8601
fake query boolean нет Тестовые заказы
pageToken query string нет Страница результатов
limit query integer нет Количество значений на странице

PUT /v2/campaigns/{campaignId}/orders/{orderId}/status — Изменение статуса заказа

Возвращает обновлённую информацию о заказе. Для нескольких заказов — POST /v2/campaigns/{campaignId}/orders/status-update.

Параметр Где Тип Обяз. Описание
campaignId path integer да Идентификатор магазина
orderId path integer да Идентификатор заказа
order.status body string да Новый статус заказа
order.substatus body string нет Этап обработки (PROCESSING) или причина отмены (CANCELLED)
order.delivery body object нет Информация о доставке

Нюансы

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


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