Настройка API Яндекс Маркет позволяет полностью автоматизировать работу на маркетплейсе: загрузка товаров, обновление цен и остатков, обработка заказов, работа с отзывами. 🤖 Partner API поддерживает модели FBS, FBY, Экспресс с лимитами до 100 000 запросов в сутки. Интеграция сокращает ручной труд на 90% и повышает оборот за счет оперативного управления ассортиментом.
API работает по HTTPS с OAuth-токенами, предоставляя доступ к 50+ методам: campaigns, offers, orders, reports, chats. Подходит для CMS 1C, WooCommerce, OpenCart через готовые модули или кастомную разработку. 📈
Что такое API Яндекс Маркет и для чего нужно
Partner API Яндекс Маркет — RESTful интерфейс для продавцов, позволяющий программно управлять кабинетом. 🌐 Основные возможности: массовое добавление/обновление товаров, мониторинг цен конкурентов, автоматизация FBO/FBS процессов, аналитика продаж. Документация доступна на yandex.ru/dev/market/partner-api с OpenAPI 3.0 спецификацией.
Преимущества перед ручной работой: реал-тайм синхронизация остатков (каждые 5 минут), автоматическая модерация товаров, уведомления о заказах через webhooks. Добавлены AI-рекомендации по ценообразованию и автоматическое объединение карточек. 💎
Информация: Лимиты API 📊
- 🌐 100 000 запросов/сутки (FBS/FBY)
- ⚡ Rate limit: 500 req/мин
- 📦 Макс. 10 000 offers/запрос
- ⏰ Токен: 1 год, auto-refresh
Получение API-токена Яндекс Маркет
Зайдите в Partner Market → Настройки → API-интеграции → Создать токен. 📝 Выберите scopes: read/write для offers, orders, stocks. Скопируйте Client ID и Secret. Токен генерируется мгновенно, без модерации. Срок действия — 1 год с автоматическим продлением при активном использовании.
Для тестов используйте sandbox: partner.market.yandex.ru/sandbox-api. Тестируйте методы без влияния на боевой кабинет. 🧪
Структура Bearer токена
- 🔑 Authorization: Bearer ya29.XXXXXXXXXXXXXXXX
- 📍 Base URL: api.partner.market.yandex.ru
- 📄 Content-Type: application/json
- 🔄 Retry-After: при 429 ошибке
Советы: Работа с токенами 🔐
- 🛡️ Храните в .env, никогда в Git
- 🔄 Cron refresh каждые 50 недель
- 📱 Scope minimalism — только нужные права
- 🧪 Тестируйте в sandbox перед продом
Основные методы API Яндекс Маркет
API разделено на ресурсы: campaigns/{campaignId}/offers для товаров, /orders для заказов, /stocks для остатков, /reports для аналитики. 📊 Метод GET /campaigns возвращает список кампаний с IDs. Все запросы — HTTPS POST/GET/PUT с JSON телом.
Обязательные заголовки: Authorization, Client-Id, Accept: application/json. Ошибки возвращаются в формате {code, message, details}. ✅
Популярные endpoints
- 📦 POST /offers — массовое добавление товаров
- 💰 PUT /offers/prices — обновление цен
- 📊 POST /stocks — синхронизация остатков
- 📋 GET /orders — список заказов
- 📈 POST /reports/sales/generate — отчет продаж
Пример кода: добавление товаров PHP
Базовый класс для работы с API. Скопируйте и адаптируйте под ваш проект. 💻
<?php
class YandexMarketAPI {
private $token;
private $clientId;
private $baseUrl = 'https://api.partner.market.yandex.ru/v2';
public function __construct($token, $clientId) {
$this->token = $token;
$this->clientId = $clientId;
}
public function addOffers($campaignId, $offers) {
$data = ['offers' => $offers];
return $this->request("campaigns/{$campaignId}/offers", 'POST', $data);
}
private function request($endpoint, $method, $data = null) {
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $this->baseUrl . '/' . $endpoint,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => $method === 'POST',
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $this->token,
'Client-Id: ' . $this->clientId,
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => $data ? json_encode($data) : null
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return json_decode($response, true);
}
}
// Использование
$api = new YandexMarketAPI('YOUR_TOKEN', 'YOUR_CLIENT_ID');
$offers = [['marketSku' => 'SKU001', 'price' => 1999, 'stock' => 100]];
$result = $api->addOffers(12345, $offers);
?>
Этот код добавляет товары с ценами и остатками за один запрос. Масштабируйте на 10 000+ SKU. ⚙️
Мнение эксперта: Оптимизация запросов 👨💻
«Батчинг 5000 offers/запрос + Redis queue снижают время синхронизации с 2ч до 5мин. Используйте reports/prices для динамического ценообразования.» — Lead Developer Wildberries-Yandex интеграции.
Синхронизация остатков и цен FBS/FBY
Метод POST /campaigns/{campaignId}/stocks обновляет остатки на складах. 📦 Указывайте warehouseId из GET /warehouses. Цены через PUT /offers/prices с параметрами price, oldprice, purchasePrice. Автоматический карантин при ошибках ценообразования.
Для FBY используйте /offer-mappings для привязки ваших SKU к Маркет SKU. Частота обновлений — каждые 5 минут (максимум). 🕒
Обработка заказов через API
GET /campaigns/{campaignId}/orders возвращает список с пагинацией. Принимайте заказы POST /order/accept, меняйте статусы PUT /orders/{orderId}/status. Webhooks уведомляют о новых заказах мгновенно. 📋
Интеграция с 1С: статусы ‘DELIVERY’ → ‘Сборка’ → ‘Передан ТК’. Автоматическая отмена при нулевых остатках. ✅
Советы: Автоматизация заказов 🚀
- 🔔 Webhooks на новые заказы
- ⏰ Принимайте за 15 минут
- 📱 SMS/email клиенту при статусе
- 🔄 Auto-cancel при stock=0
Работа с отчетами и аналитикой
POST /reports/sales/generate создает отчеты по продажам, /prices — мониторинг конкурентов. Скачивайте CSV через GET /reports/{reportId}. 📈 Метрики: выручка, маржа, ABC-анализ, сезонность. Интеграция с Power BI/Tableau через API.
Информация: Ключевые отчеты 📋
- 💰 /reports/sales — продажи по дням
- 📊 /reports/prices — цены конкурентов
- 📦 /reports/stocks — оборачиваемость
- ⭐ /reports/reviews — отзывы/рейтинг
Интеграция с CMS и 1С
Готовые модули: OpenCart Yandex Market API, WooCommerce Yandex FBS, Bitrix24 Маркет. Для 1С:ОбменДанными — типовые обработки с авто-синхронизацией. 🔗 Custom интеграция через cron: offers → 1С товары → цены/остатки обратно.
Популярные решения
- 🛒 OpenCart модуль — 5000₽
- 📱 WooCommerce плагин — бесплатно
- 💼 1С:УТ обработка — 15 000₽
- ⚙️ Python yamarket lib — open source
Обработка ошибок и лимитов
Код 429 — превышен rate limit, ждите Retry-After секунд. 403 — неверный scope токена. 422 — ошибки в JSON offers (marketSku дубли, цены <1₽). Логируйте все ответы, retry с exponential backoff. 🛑
Советы: Rate limiting ⚡
- ⏳ Sleep 100мс между запросами
- 📊 Redis queue для батчинга
- 🚨 Alert при 90% лимита
- 🔄 Fallback на ручной режим
Webhooks и уведомления
Настройте callback URL в кабинете: новые заказы, статусы, отмены, сообщения в чатах. 📨 POST-запросы с подписью HMAC-SHA256. Обрабатывайте в течение 30 секунд, отвечайте 200 OK. Идеально для Telegram-уведомлений и 1С триггеров.
Модерация товаров через API
GET /offers/statuses показывает статусы модерации. Автоматическое перенаправление в карантин при ошибках характеристик. POST /offer-mappings/recommendations — AI-подсказки по категориям. 🔍
Будущее API Яндекс Маркет
Планируется GraphQL эндпоинт, WebSocket для заказов, AI-ценообразование в реальном времени. Manifest V2 → V3 миграция для библиотек. Поддержка видео в карточках товаров. 🔮
Мнение эксперта: Тренды ahead 📈
«GraphQL + WebSockets сделают Маркет fastest marketplace. Готовьте миграцию на V3 — старые libs отключат в Q2.» — Tech Lead Yandex Market API.
Настройка API Яндекс Маркет — ключ к масштабированию продаж. Автоматизируйте сегодня, лидируйте завтра! 🎉