Авторизация по OAuth-токену
Не рекомендуем использовать OAuth-токен, так как этот способ авторизации устарел.
Вы можете использовать уже сгенерированный токен до конца его срока действия или создать API-Key-токен. Как это сделать
Создание и использование OAuth-токена
Для авторизации используется протокол OAuth 2.0. Чтобы работать с Маркетом через API:
- Создайте приложение на сайте oauth.yandex.ru. Если у вас уже есть приложение с доступом
market:partner-api
, создавать новое не нужно — можно использовать одно для всех магазинов и бизнес-аккаунтов. - Создайте токен на имя сотрудника, который имеет доступ к данным магазина.
- Вставьте токен в заголовки запросов к Маркету.
Создать приложение
-
Войдите в аккаунт на Яндексе, от имени которого ваша система будет обращаться к API Маркета.
Отнеситесь внимательно к выбору аккаунта
Это должен быть аккаунт:
- К которому бизнес не потеряет доступ.
- Который не потеряет доступ к бизнесу — например, при увольнении сотрудника.
Лучше всего использовать аккаунт, защищенный двухфакторной аутентификацией и принадлежащий владельцу бизнеса.
Токен нужно будет получать снова
Если пользователь Яндекс ID, который его создал:
- выйдет со всех устройств в аккаунте Яндекса;
- изменит пароль;
- включит или выключит двухфакторную аутентификацию;
- восстановит доступ.
Подробнее об отзыве токена читайте в Справке Яндекс ID.
-
Откройте страницу oauth.yandex.ru/client/new. ⚠️ Пользуйтесь именно этой ссылкой. Если просто нажать кнопку создания приложения на сайте Яндекс ID, ничего не получится.
-
В поле Название вашего сервиса напишите что угодно. Если у вас много приложений и вам важно в них ориентироваться, впишите название бизнеса.
-
Иконку можно не добавлять.
-
Выберите платформу Веб-сервисы.
-
В поле Redirect URI нажмите кнопку Подставить URL для отладки, которая находится во всплывающей подсказке к полю.
-
⚠️ В поле Доступ к данным введите
market:partner-api
и выберите API Яндекс.Маркета / Поиска по товарам для партнеров в выпадающем списке.Почему мне не видно поле «Доступ к данным»?
Вероятно, вы не перешли по ссылке oauth.yandex.ru/client/new, а нажали кнопку создания приложения на сайте Яндекс ID. Вам нужна именно та форма создания приложения, которая открывается по ссылке.
-
Укажите адрес бизнеса в поле Почта для связи.
-
Нажмите Создать приложение.
Создать токен
После создания приложения нужно получить токен.
Можно ли для получения токена использовать не тот же самый аккаунт, который использовали для создания приложения?
Можно. Он тоже должен соответствовать тем же требованиям. Если Яндекс ID, на который оформлен токен, потеряет доступ к бизнесу, API перестанет работать.
-
Откройте oauth.yandex.ru и нажмите на созданное приложение для доступа к Маркету.
-
Скопируйте ClientID этого приложения.
-
Вставьте индентификатор вот в эту ссылку:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>
Получится примерно так:
https://oauth.yandex.ru/authorize?response_type=token&client_id=5473335а275a5nb8e2648q12n8r378l7
Перейдите по получившейся ссылке.
-
Подтвердите вход.
-
Вы увидите токен. Скопируйте его.
Такой токен действует год
Когда год подойдет к концу, создайте API-Key-токен. Как это сделать
Передать токен
Полученный токен вставьте в заголовок Authorization
по следующей схеме:
Authorization: Bearer <token>
В результате заголовок будет выглядеть так:
Authorization: Bearer y0_BfRRRRRV2L8sWWvNkSNNNNSrLHaNXg4cCMswFbL6MWab9lktL2KPsMw
Если запрос придет без заголовка с действительным токеном, Маркет вернет ошибку 401 Unauthorized
.