Как настроить доступ к API маркетплейса: генерация ключей Wildberries и Ozon для работы с документами
Нам часто пишут в поддержку с вопросом, как настроить доступ к API маркетплейса, чтобы автоматизировать загрузку разрешительных документов. Селлеры боятся отдавать ключи сторонним сервисам — и правильно делают. Передача токена с полными правами — прямой риск для бизнеса. В этой инструкции разбираем механику генерации ключей с жестким ограничением областей видимости (Scopes), разницу между Content API и статистикой, а также протоколы безопасности интеграции.
Коротко: базовые принципы работы с API
- 100 запросов в минуту — базовый Rate Limit (лимит частоты обращений) для эндпоинтов Wildberries. [1]
- 90–180 дней — стандартный срок жизни токена Wildberries до момента принудительной ротации. [1]
- Двухфакторная связка — авторизация Ozon требует передачи заголовков
Client-IdиApi-Key. [2] - HTTPS (TLS 1.2 / 1.3) — единственный допустимый протокол передачи данных. Открытый трафик не поддерживается.
- Изоляция доступа (Least Privilege) — для работы с разрешительными документами интеграции нужен только доступ к товарам. Статистика и цены должны быть закрыты.
Как получить API-ключ на Wildberries
В стандартном сценарии продавца обновление данных о сертификатах — рутина, отнимающая много времени. Доступ к Content API решает эту проблему.
Порядок действий:
- Открыть портал WB Партнеры → Профиль → Настройки → Доступ к API.
- Нажать «Создать новый токен». Ввести системное имя, например, "METCH_Certs".
- Выбрать тип токена. Обязательно: «Контент» (отвечает за изменение ТН ВЭД, привязку деклараций соответствия и отказных писем). Снять галочки с блоков «Статистика», «Продвижение» и «Цены».
- Скопировать токен. После закрытия модального окна он больше не покажется.
Шпаргалка по API (Wildberries):
- Модель авторизации: передача токена в заголовке
Authorization: <token>. [1] - Формат тела запроса: JSON (кодировка UTF-8).
- Ключевые методы: обновление карточки и загрузка медиафайлов.
Что будет, если выдать лишние права: Передача токена с областью видимости «Цены и скидки» непроверенному софту грозит обнулением цен на весь каталог при компрометации скрипта. Риск — кассовые разрывы и финансовые потери из-за выкупа товара ботами.
Настройка доступа на Ozon
С получением ключа Wildberries разобрались. С Ozon логика похожа, но архитектура авторизации отличается.
Порядок действий:
- Перейти в личный кабинет Ozon Seller → Настройки → API ключи.
- Скопировать
Client ID(числовой идентификатор вашего кабинета). - Нажать «Сгенерировать ключ». Указать название и выбрать тип: «Товары». Этого достаточно для модерации документов. Роль «Администратор» давать нельзя.
- Сохранить сгенерированную UUID-строку ключа.
Шпаргалка по API (Ozon):
- Авторизация: два обязательных заголовка
Client-Id: <id>иApi-Key: <key>. [2] - Лимиты на загрузку: батчевая загрузка поддерживает 100–1000 SKU в одном запросе. [2]
- Среда тестирования: наличие Sandbox (песочницы) позволяет отлаживать запросы без риска повредить боевые карточки.
Принцип наименьших привилегий и безопасность
Задача нашего продукта — автоматизировать комплаенс. Нам не нужны данные о продажах, маржинальности или рекламных кампаниях. Поэтому при интеграции мы запрашиваем только методы работы с контентом.
Хранение ключей доступа в открытом виде — критическая уязвимость. В архитектуре B2B-SaaS и при интеграции с учетными системами токены не должны лежать в файлах конфигурации. Рекомендуется использование переменных окружения .env, сервисов Secret Manager или HashiCorp Vault.
Сравнение протоколов авторизации
| Параметр | Wildberries | Ozon |
|---|---|---|
| Формат ключа | Bearer-токен | Client-Id + Api-Key |
| Срок жизни | 90–180 дней (или бессрочно) | Бессрочно (до ручного отзыва) |
| Rate Limit | ~100 запросов/мин | 100–200 RPS (в зависимости от метода) |
| Изоляция прав | Выбор областей видимости (Контент, Статистика) | Назначение ролей (Товары, Заказы) |
Сценарии автоматизации: зачем нужен токен
- Сценарий 1: Синхронизация 5000 SKU. Ручной ввод номера декларации соответствия на тысячи карточек займет долгие часы рабочего времени. По API батчевая загрузка отрабатывает за считаные минуты.
- Сценарий 2: Привязка отказного письма. Назначение единого документа на категорию. По API операция занимает секунды, тогда как ручное прокликивание сессий в браузере с ожиданием загрузки страниц — часы.
Вопросы и ответы
Почему появляется ошибка авторизации API Wildberries (401 Unauthorized)?
Код 401 означает, что токен не передан, просрочен или некорректен. [1] Проверьте срок жизни ключа на стороне маркетплейса и отсутствие скрытых пробелов при копировании строки.
Что значит статус 403 Forbidden?
У токена нет прав на запрашиваемый метод. [1] Это происходит при попытке массово обновить ТН ВЭД или загрузить документ, если при генерации ключа не выбрана область видимости «Контент». Решение — перевыпустить токен с нужными правами доступа (Scopes).
Как исправить ошибку 429 Too Many Requests?
Превышен лимит частоты обращений (Rate Limit). Внешний скрипт отправляет слишком много запросов к эндпоинтам площадки. Интеграция должна поддерживать алгоритм Exponential Backoff (экспоненциальную задержку при повторных запросах) — это базовый стандарт стабильной архитектуры.
Webhooks или непрерывный Polling?
Непрерывный опрос серверов маркетплейса (Polling) перегружает соединение и ведет к ошибкам 429. Оптимальный подход — настройка вебхуков (Webhooks). Маркетплейс сам отправляет JSON payload на сервер при изменении статуса модерации документа.
Подключение кабинета по API должно экономить время, а не создавать новые уязвимости. Используйте ключи только с контентными правами. Убедитесь, что настроена Авторизация / Подключение по API с соблюдением лимитов маркетплейсов. Наш сервис забирает рутину на автопилот, чтобы вы сфокусировались на юнит-экономике.
Источники: [1] Документация Wildberries — https://openapi.wildberries.ru/ [2] Документация Ozon — https://docs.ozon.ru/api/seller