Работа с токенами для партнёрских сервисов
Проверка токена продавца, сервисный секрет и обработка ошибок
Дата обновления: 03.04.2026
Эта статья предназначена для разработчиков партнёрских сервисов, работающих с WB API, — как из Каталога решений, так и подключённых через business-solutions@rwb.ru. Если вы продавец — вам достаточно статьи «Декодирование и проверка токенов WB API».
Проверка типа токена продавца
Когда продавец подключает ваш сервис, он передаёт токен для доступа к данным через API. Не каждый токен подойдёт — важно проверить его тип и параметры.
Почему важна проверка
Персональный токен работает только в собственных интеграциях продавца, Сервисный привязан к конкретному сервису, а Базовый имеет ограниченный набор прав. Если продавец по ошибке передаст неподходящий токен, интеграция может работать некорректно.
Подробнее о типах токенов — в статье «Способы подключения к WB API: токен и OAuth 2.0»
Алгоритм проверки
Декодируйте токен и определите его тип по полям JWT. Подробнее о структуре JWT-токенов WB API, полях и битовой маске категорий — в статье «Декодирование и проверка токенов WB API».
| Тип токена | acc | for | t |
|---|---|---|---|
| Базовый | 1 | Поле отсутствует | false |
| Тестовый | 2 | Поле отсутствует | true |
| Персональный | 3 | self | false |
| Сервисный | 4 | asid:{ID сервиса} | false |
Для Сервисного токена (acc=4) убедитесь, что ID сервиса в поле for (формат asid:{ID}) совпадает с вашим asid. Если не совпадает — токен выпущен для другого сервиса.
Для вашего сервиса подходит Сервисный токен с asid, совпадающим с ID вашего сервиса. Если продавец передал другой тип — объясните, какой токен нужен, и предоставьте ссылку для создания (см. ниже).
Персональные токены (acc=3) и Сервисные токены других сервисов запрещено принимать для подключения облачных версий продуктов. Запросы с такими токенами не будут проходить через WB API.
Сервисный секрет
Что это и зачем нужен
Сервисный секрет — уникальный токен вашего сервиса, который подтверждает его подлинность при каждом обращении к API. Все сервисы, получившие сервисный секрет, обязаны подписывать им запросы. Это позволяет системе идентифицировать, какой сервис обращается к данным продавца.
Секрет выдаётся один раз для всего сервиса и используется для всех продавцов — это не то же самое, что токен каждого отдельного продавца.
Как получить
Есть два способа получить сервисный секрет:
- Через Каталог решений — секрет генерируется автоматически при добавлении сервиса в Каталог решений.
- Через business-solutions@rwb.ru — если ваш сервис ещё не готов к подаче заявки в Каталог, напишите на business-solutions@rwb.ru. Команда WB API выдаст сервисный секрет и настроит лимиты.
Для перевыпуска (например, при компрометации) — также обращайтесь на business-solutions@rwb.ru.
Срок действия и ротация
Срок жизни сервисного секрета составляет 180 дней. Новый секрет генерируется за 30 дней до истечения срока старого. Оба секрета валидны одновременно до окончания срока жизни старого — это позволяет плавно перейти на новый секрет без прерывания работы.
Как использовать
Добавьте секрет во все запросы к API через заголовок X-Client-Secret — в дополнение к токену продавца:
curl -H "Authorization: Bearer ${SELLER_TOKEN}" \
-H "X-Client-Secret: ${YOUR_SERVICE_SECRET}" \
https://marketplace-api.wildberries.ru/api/v3/orders/new
Оба заголовка обязательны. Секрет передаётся в дополнение к токену продавца, а не вместо него.
Сервисный секрет обязателен для всех обращений через Сервисные и Базовые токены. Использование Базовых токенов без сервисного секрета не допускается.
Структура секрета
Сервисный секрет — это тоже JWT-токен:
{
"exp": 1715840770,
"id": "31ee022e-0663-4c75-bc78-a976a1fdd3bb",
"asid": "0191c6da-597f-731d-bfc4-3f20cbe0a864",
"typ": 2
}
| Поле | Описание |
|---|---|
exp | Срок действия секрета |
id | Уникальный идентификатор секрета |
asid | ID вашего сервиса в системе |
typ | Тип токена (2 — сервисный секрет) |
Специальная ссылка для создания токена
Чтобы продавцам было проще подключать ваш сервис, Wildberries предоставляет специальную ссылку, которая автоматически настраивает параметры токена:
- Получите ссылку при регистрации в Каталоге решений или по запросу на business-solutions@rwb.ru
- Добавьте её в инструкции по подключению вашего сервиса
- При переходе по ссылке продавец увидит форму создания токена с предустановленными настройками (категории, уровень доступа)
- Продавцу останется только подтвердить создание и скопировать токен
Это значительно снижает вероятность ошибок при настройке интеграции.
Программная проверка статуса токена
Помимо базового декодирования JWT, WB API предоставляет метод для программной проверки актуального статуса токена продавца:
GET /api/v1/open-utils/tokens/introspect-v2
Метод доступен с сервисным секретом и возвращает не только информацию из JWT, но и текущий статус токена в системе — включая возможные ограничения и блокировки, которые нельзя получить из самого токена.
Рекомендация: проверяйте статус токена при первом подключении продавца и периодически — для отслеживания отзыва или истечения.
Подробнее — в документации на портале разработчиков.
Обработка ошибок авторизации
Ошибки 401 (Unauthorized) — проблемы с токенами
| Сообщение | Причина | Решение |
|---|---|---|
secret token expired | Истёк срок действия сервисного секрета | Обратитесь на business-solutions@rwb.ru для перевыпуска |
secret token withdrawn | Секрет был отозван | Обратитесь на business-solutions@rwb.ru для перевыпуска |
token expired | Истёк токен продавца | Продавец должен создать новый токен |
Ошибки 403 (Forbidden) — проблемы с правами доступа
| Сообщение | Причина | Решение |
|---|---|---|
X-Client-Secret is missing for this token type | Запрос не подписан сервисным секретом, либо содержит Сервисный токен другого сервиса | Добавьте заголовок X-Client-Secret с вашим секретом |
access token and X-Client-Secret are for different authorized services | Токен продавца выпущен для другого сервиса | Продавцу нужно создать токен именно для вашего сервиса |
X-Client-Secret is not allowed with private token | Попытка использования сервисного секрета с Персональным токеном | Продавцу нужно создать Сервисный токен вместо Персонального |
Подробнее обо всех кодах ошибок — в статье «Ошибки авторизации WB API и их решение»
Рекомендации
- Проверяйте тип токена при первом подключении продавца — это предотвращает большинство ошибок
- Используйте специальную ссылку для создания токена в инструкциях по подключению
- Храните сервисный секрет так же надёжно, как пароли — в переменных окружения или менеджере секретов
- При ошибках авторизации — давайте продавцу понятную обратную связь с описанием, какой именно токен нужен
Поддержка
- Получение и перевыпуск сервисного секрета — business-solutions@rwb.ru или через Каталог решений
- Получение ссылки для создания токенов — при регистрации в Каталоге или по запросу на business-solutions@rwb.ru
- Общие вопросы по интеграции — чат вашего сервиса с командой WB API