Перейти к основному содержимому

Яндекс Маркет Partner API: Остатки, Продажи, Цены, Акции

Исследование актуальных API endpoints Яндекс Маркет для интеграции с GWPTD Analytics. Дата исследования: 2026-02-10 API проверен: 200 OK (Api-Key токен, scope ALL_METHODS) Business: ООО "ГЛОБАЛ ВОТЧ ПАРЦ ТРЕЙДИНГ РУС" (ID: 1069358)

Содержание

  1. Общая информация
  2. Остатки и оборачиваемость
  3. Заказы (детальная информация)
  4. Продажи и аналитика (Reports)
  5. Цены (Prices)
  6. Акции (Promos)
  7. Склады и справочники
  8. Сводная таблица endpoint'ов
  9. План интеграции для GWPTD
  10. Источники

1. Общая информация

Аутентификация — Api-Key

Api-Key: ACMA:7TTXY2e6mpcZL2l73IqiDKIXGLvecSDEpXlygvW9:464c1281

ВАЖНО: Используется заголовок Api-Key, НЕ Authorization: Bearer! Ошибка с 403 ранее была из-за использования неправильного заголовка.

Проверка токена:

POST /v2/auth/token

Возвращает имя токена и scopes. Лимит: 100 запросов/час.

Ключевые идентификаторы

ИдентификаторЗначениеОписание
businessId1069358ID кабинета (ООО "ГЛОБАЛ ВОТЧ ПАРЦ ТРЕЙДИНГ РУС")
clientId300478521ID клиента Яндекс

Кампании (магазины)

campaignIdНазваниеМодельСтатус
22027612ГЛОБАЛ ВОТЧ ПАРЦ ТРЕЙДИНГFBSАктивен, есть заказы и остатки
61824486ООО "ГЛОБАЛ ВОТЧ ПАРЦ ТРЕЙДИНГ РУС"FBYАктивен, остатки пока 0
103780352ЭКСПРЕСС_не работаетFBSНеактивен
127095630Экспресс 2FBSАктивен

Лимиты

EndpointЛимит
Проверка токена100 запросов/час
Остатки100 000 товаров/мин
Заказы (stats/orders)1 000 000 заказов/час

2. Остатки и оборачиваемость

2.1. Получить остатки и оборачиваемость — ПРОВЕРЕНО 200 OK

POST /v2/campaigns/{campaignId}/offers/stocks

Возвращает остатки (FBY, FBS, Экспресс, DBS) и оборачиваемость (только FBY).

Query parameters:

ПараметрТипОписание
limitintЗаписей на странице (max 200!)
page_tokenstringКурсор пагинации (nextPageToken)

Body:

{
"stocksWarehouseId": 90723,
"hasStocks": true,
"withTurnover": false,
"archived": false,
"offerIds": ["GW0575G4", "W1160G7-1"]
}
ПараметрТипОписание
stocksWarehouseIdintФильтр по складу
hasStocksboolТолько FBY: true = только с остатками
withTurnoverboolТолько FBY: вернуть оборачиваемость (default false)
archivedboolВключить архивные товары
offerIdsstring[]Фильтр по SKU (1-500, unique). Если указан, игнорируются limit/page_token/archived

Ответ (проверено):

{
"status": "OK",
"result": {
"paging": {"nextPageToken": "eyBuZXh0SWQ6..."},
"warehouses": [
{
"warehouseId": 90723,
"offers": [
{
"offerId": "12.AB2-06530S",
"stocks": [
{"type": "FIT", "count": 9},
{"type": "AVAILABLE", "count": 9}
],
"turnoverSummary": {
"turnover": "VERY_HIGH",
"turnoverDays": 30.5
}
}
]
}
]
}
}

Типы остатков (WarehouseStockType):

ТипОписание
AVAILABLEДоступен к заказу
FITГодный (доступен + зарезервирован)
FREEZEЗарезервирован для заказов
QUARANTINEКарантин (временно недоступен)
DEFECTБрак
EXPIREDПросрочен
UTILIZATIONНа утилизации

Оборачиваемость (TurnoverType, только FBY):

EnumДиапазонОценка
VERY_HIGH0-45 днейОтлично
HIGH45-100 днейХорошо
ALMOST_LOW100-120 днейПочти низкая
LOW120+ днейНизкая
NO_SALESНет продаж
FREE_STOREлюбоеБесплатное хранение

2.2. Обновить остатки (FBS)

PUT /v2/campaigns/{campaignId}/offers/stocks

Передаёт актуальные остатки для FBS. Маркет синхронизирует каждые 5 минут.


3. Заказы (детальная информация)

3.1. Детальная статистика по заказам — ПРОВЕРЕНО 200 OK

POST /v2/campaigns/{campaignId}/stats/orders

Возвращает детальную информацию по заказам. Лимит: 1 000 000 заказов/час.

Данные могут появиться с задержкой до 40 минут. Для получения без задержки: POST /v1/businesses/{businessId}/orders

Query parameters:

ПараметрТипОписание
limitintМакс 200 заказов на страницу
page_tokenstringКурсор пагинации

Body:

{
"dateFrom": "2026-01-01",
"dateTo": "2026-02-10",
"updateFrom": "2026-02-09",
"updateTo": "2026-02-10",
"orders": [54063043969],
"statuses": ["DELIVERED"],
"hasCis": false
}
ПараметрТипОписание
dateFrom/dateTodateПериод создания (YYYY-MM-DD). Нельзя с updateFrom/To
updateFrom/updateTodatetimeПериод обновления (ISO 8601). Нельзя с dateFrom/To
ordersint[]Фильтр по ID заказов
statusesstring[]Фильтр по статусам
hasCisboolТолько товары с маркировкой

Ответ (реальные данные GWPTD):

{
"status": "OK",
"result": {
"orders": [
{
"id": 54063043969,
"creationDate": "2026-02-10",
"statusUpdateDate": "2026-02-10T19:20:01.743+03:00",
"status": "CANCELLED_BEFORE_PROCESSING",
"paymentType": "POSTPAID",
"fake": false,
"deliveryRegion": {"id": 47, "name": "Нижний Новгород"},
"items": [
{
"offerName": "GUESS Наручные часы GW0575G4",
"marketSku": 103723629502,
"shopSku": "GW0575G4",
"count": 1,
"prices": [
{"type": "MARKETPLACE", "costPerItem": 5848.0, "total": 5848.0},
{"type": "BUYER", "costPerItem": 17352.0, "total": 17352.0}
],
"warehouse": {"id": 90723, "name": "ГЛОБАЛ ВОТЧ ПАРЦ ТРЕЙДИНГ РУС ООО"}
}
],
"buyerType": "PERSON",
"currency": "RUR"
}
]
}
}

Статусы заказов:

СтатусОписание
PROCESSINGВ обработке
DELIVERYНа доставке
DELIVEREDДоставлен
CANCELLED_BEFORE_PROCESSINGОтменён до обработки
CANCELLED_IN_DELIVERYОтменён на доставке
CANCELLED_IN_PROCESSINGОтменён при обработке
PENDINGОжидает
UNPAIDНе оплачен
RETURNEDВозвращён
UNKNOWNНеизвестный

3.2. Заказы без задержки (уровень бизнеса)

POST /v1/businesses/{businessId}/orders

Те же данные, но без 40-минутной задержки. businessId = 1069358.


3.3. Список заказов (REST)

GET /v2/campaigns/{campaignId}/orders
GET /v2/campaigns/{campaignId}/orders/{orderId}
PUT /v2/campaigns/{campaignId}/orders/{orderId}/status

4. Продажи и аналитика (Reports)

Все отчёты асинхронные: POST → получить reportId → GET для скачивания.

Генерация отчётов

EndpointОписание
POST /reports/shows-sales/generateАналитика продаж (показы, клики, заказы, выручка)
POST /reports/sales-geography/generateГеография продаж по регионам
POST /reports/key-indicators/generateКлючевые показатели бизнеса
POST /reports/goods-turnover/generateОборачиваемость товаров
POST /reports/orders/generateОтчёт по заказам
POST /reports/goods-realization/generateОтчёт по реализации
POST /reports/united-netting/generateОтчёт по платежам
POST /reports/prices/generateЦены на рынке (сравнение с конкурентами)
POST /reports/united-marketplace-services/generateСтоимость услуг (обновлён 18.12.2025)

Получение готового отчёта

GET /reports/{reportId}

Статистика по товарам

POST /v2/campaigns/{campaignId}/stats/skus

5. Цены (Prices)

Уровень бизнеса (все магазины)

POST /businesses/{businessId}/prices         — установить цены
GET /businesses/{businessId}/prices — получить текущие цены

Уровень магазина (конкретный campaignId)

POST /campaigns/{campaignId}/offers/prices   — установить цены
GET /campaigns/{campaignId}/offers/prices — получить текущие цены

6. Акции (Promos)

GET    /campaigns/{campaignId}/promos                       — список акций
GET /campaigns/{campaignId}/promos/{promoId}/offers — товары в акции
POST /campaigns/{campaignId}/promos/{promoId}/offers — добавить товары
DELETE /campaigns/{campaignId}/promos/{promoId}/offers — удалить товары

7. Склады и справочники

Склады

GET /v2/warehouses                          — склады Маркета (FBY)
GET /v2/campaigns/{campaignId}/warehouses — склады продавца

Наши склады (проверено):

warehouseIdcampaignIdМодельОписание
9072322027612FBSГЛОБАЛ ВОТЧ ПАРЦ ТРЕЙДИНГ РУС ООО
14761824486FBYСклад Маркета

Справочники

GET /v2/regions                             — справочник регионов
GET /v2/tariffs — тарифы
GET /v2/campaigns — список магазинов (campaignId)

Вопросы о товарах (с 04.02.2026)

POST /v1/businesses/{businessId}/goods-questions        — получить вопросы
POST /v1/businesses/{businessId}/goods-questions/answer — ответить на вопрос

8. Сводная таблица endpoint'ов

Для ежедневного сбора данных GWPTD

ЗадачаEndpointПриоритет
Остатки FBSPOST /v2/campaigns/22027612/offers/stocksP0
Остатки FBYPOST /v2/campaigns/61824486/offers/stocksP0
Заказы (детали)POST /v2/campaigns/{campaignId}/stats/ordersP0
Заказы (без задержки)POST /v1/businesses/1069358/ordersP0
ЦеныGET /businesses/1069358/pricesP1
Аналитика продажPOST /reports/shows-sales/generateP1
География продажPOST /reports/sales-geography/generateP1
Обновление ценPOST /businesses/1069358/pricesP2
АкцииGET /campaigns/{campaignId}/promosP2
Оборачиваемость FBYPOST /v2/campaigns/61824486/offers/stocks (withTurnover=true)P2

9. План интеграции для GWPTD

Архитектура

YandexMarketApiService (PHP, Laravel)
├── authenticate() → Api-Key header (без OAuth, без refresh)
├── getCampaigns() → GET /v2/campaigns
├── getStocks(campaignId) → POST /v2/campaigns/{id}/offers/stocks
├── getOrders(campaignId) → POST /v2/campaigns/{id}/stats/orders
├── getOrdersFast(businessId) → POST /v1/businesses/{id}/orders
├── getPrices(businessId) → GET /businesses/{id}/prices
├── updatePrices(businessId) → POST /businesses/{id}/prices
├── getWarehouses() → GET /v2/warehouses
├── generateReport(type) → POST /reports/{type}/generate
├── getReport(reportId) → GET /reports/{reportId}
└── getPromos(campaignId) → GET /campaigns/{id}/promos

Ключевые моменты

  1. Api-Key токен — НЕ нужен refresh, бессрочный (scope ALL_METHODS)
  2. Два campaignId — FBS (22027612) и FBY (61824486), обходить оба
  3. Пагинация — курсорная (nextPageToken), limit max 200 для остатков
  4. Задержка заказов — до 40 минут через stats/orders, без задержки через businesses/{id}/orders
  5. Отчёты асинхронные — POST → reportId → GET
  6. Остатки FBS пока небольшие — GUESS 9 шт, POLICE 10 шт и др.
  7. FBY остатки = 0 — но будут

10. Источники

Официальная документация

Swagger / OpenAPI

Telegram

Локальная документация (docx)

  • ЯМ-Получение информации о токене авторизации.docx — POST /v2/auth/token, scopes, Api-Key format
  • ЯМ-Детальная информация по заказам.docx — POST /v2/campaigns/{id}/stats/orders, все поля
  • ЯМ-Информация об остатках и оборачиваемости.docx — POST /v2/campaigns/{id}/offers/stocks, turnover