Декодирование и проверка токенов WB API
Структура JWT, расшифровка полей и диагностика проблем
Дата обновления: 03.04.2026
Что такое JWT и зачем декодировать токен
Токены WB API создаются по стандарту JWT (JSON Web Token) — международному стандарту RFC 7519 для безопасной передачи информации. JWT представляет собой строку из трёх частей, разделённых точками: заголовок, полезная нагрузка и подпись. Внутри токена в закодированном виде хранится информация о правах доступа, сроках действия и других параметрах.
Подробнее о типах токенов — в статье «Способы подключения к WB API: токен и OAuth 2.0»
Когда полезно декодировать токен
Определение типа токена. Если вы не уверены, какой токен перед вами — Базовый, Персональный, Сервисный или Тестовый — декодирование покажет это.
Проверка срока действия. Все токены действуют 180 дней. Декодирование покажет точную дату и время истечения.
Просмотр категорий и прав. Декодирование покажет, к каким категориям API есть доступ, а также режим: только чтение (RO) или чтение и запись (RW).
Диагностика проблем. Если API возвращает ошибки доступа, декодирование — первый шаг к пониманию причины.
Как декодировать токен
Официальный инструмент
WB API предоставляет безопасный инструмент декодирования с расширенной проверкой:
Пошаговая инструкция
- Откройте инструмент — перейдите на страницу декодирования токенов.
- Вставьте токен целиком в поле ввода. Токен начинается с
eyJи представляет собой длинную строку символов. - Нажмите «Декодировать» — на экране появится подробная информация о токене.
- Изучите результаты — информация разделена на блоки: тип, срок действия, категории доступа, статус.
Используйте только официальный инструмент от WB API. Сторонние онлайн-декодеры JWT могут сохранять ваши токены в своих базах данных. Токен — это ключ к вашему магазину, относитесь к нему как к паролю. Подробнее о защите токенов — в статье «Безопасность данных продавца при работе с WB API».
Структура токена и расшифровка полей
После декодирования вы увидите следующие данные:
| Параметр | Поле JWT | Описание | Пример |
|---|---|---|---|
| Тип токена | acc | Числовой идентификатор типа токена | 1 — Базовый, 2 — Тестовый, 3 — Персональный, 4 — Сервисный |
| Назначение | for | Для кого выпущен токен | self — Персональный, asid:{ID сервиса} — Сервисный |
| ID токена | id | Уникальный идентификатор токена | UUID |
| ID продавца | sid | Ваш идентификатор в системе Wildberries | UUID |
| Срок действия | exp | Дата и время истечения (Unix timestamp) | 1733360429 |
| Дата создания | iat | Дата и время создания (Unix timestamp) | 1717588829 |
| Категории данных | s | Битовая маска доступных категорий | 264 |
| Тестовый | t | Признак тестового токена | true / false |
| ID сервиса | asid | Идентификатор авторизованного сервиса | UUID сервиса |
| Режим доступа | — | Только чтение (RO) или чтение и запись (RW) | Отображается в UI декодера |
| Статус | — | Активен, истёк, отозван или неактивен | Отображается в UI декодера |
Статусы токена
Активен — токен работает, можно использовать для запросов к API.
Истёк — прошло 180 дней с момента создания. Необходимо создать новый токен.
Отозван — токен был удалён в личном кабинете. Необходимо создать новый.
Неактивен — есть проблемы с доступом (например, сменился владелец кабинета или кабинет заблокирован).
Что делать, если декодирование выявило проблему
После декодирования вы можете обнаружить, что токен не работает. Наиболее частые причины:
- Статус «Истёк» — прошло 180 дней, нужно создать новый токен
- Статус «Отозван» — токен был удалён в личном кабинете
- Статус «Неактивен» — сменился владелец кабинета или кабинет заблокирован
- Нет доступа к нужной категории — при создании токена не была выбрана нужная категория, нужно создать новый токен
- Не принята оферта — для некоторых категорий (например, «Поставки») необходимо принять соответствующий договор в личном кабинете
Во всех случаях решение — создать новый токен с нужными настройками. Подробный разбор ошибок 401 и 403 с пошаговыми решениями — в статье «Ошибки авторизации WB API и их решение».
Частые вопросы
Для разработчиков: определение типа токена
Пример структуры декодированного токена
{
"alg": "ES256",
"kid": "20231025v1",
"typ": "JWT",
"exp": 1733360429,
"s": 32494,
"id": "0197402d-c107-7498-ab0d-418082b62b24",
"sid": "fb25c9e9-cae8-52db-b68e-736c1466a3f5",
"t": false,
"acc": 1,
"iat": 1717588829
}
Определение типа токена по полям
| Тип токена | acc | for | t |
|---|---|---|---|
| Базовый | 1 | Поле отсутствует | false |
| Тестовый | 2 | Поле отсутствует | true |
| Персональный | 3 | self | false |
| Сервисный | 4 | asid:{ID сервиса} | false |
Быстрый способ: прочитайте поле acc — оно напрямую указывает тип токена.
Для партнёрских сервисов важна дополнительная проверка: у Сервисного токена (acc=4) поле asid в значении for должно совпадать с ID вашего сервиса. Если не совпадает — токен выпущен для другого сервиса.
Расшифровка битовой маски s
Поле s — битовая маска, каждый бит означает доступ к определённой категории API:
| Бит | Категория |
|---|---|
| 1 | Контент |
| 2 | Аналитика |
| 3 | Цены и скидки |
| 4 | Маркетплейс |
| 5 | Статистика |
| 6 | Продвижение |
| 7 | Вопросы и отзывы |
| 9 | Чат с покупателями |
| 10 | Поставки |
| 11 | Возвраты |
| 12 | Документы |
| 13 | Финансы |
| 16 | Управление пользователями |
| 30 | Только чтение |
Чтобы проверить доступ к категории, примените побитовое И: s & (1 << номер_бита) != 0.
Программное декодирование
JWT-токен можно декодировать без проверки подписи для чтения данных. Используйте проверенные библиотеки для работы с JWT. Не полагайтесь только на данные из токена — для критичных операций проверяйте статус через API.
Подробнее о работе с токенами в партнёрских сервисах — в статье «Работа с токенами для партнёрских сервисов».
Что дальше
- Разработчикам SaaS-сервисов: как проверять тип токена продавца, использовать сервисный секрет и обрабатывать ошибки — в статье «Работа с токенами для партнёрских сервисов»
- Если интеграция возвращает ошибки: пошаговый алгоритм диагностики — в статье «Ошибки авторизации WB API и их решение»
- Как защитить токены: правила хранения и реагирования на инциденты — в статье «Безопасность данных продавца при работе с WB API»