Где найти токен API Яндекс.Маркет?
Для авторизации используется протокол OAuth 2.0.
Чтобы система магазина получила доступ к данным на Яндексе, нужно:
- Создать приложение на сайте oauth.yandex.ru. Если у вас уже есть приложение с доступом market:partner-api, создавать новое не нужно — можно использовать одно для всех магазинов и бизнес-аккаунтов.
- Получить токен на имя сотрудника, имеющего доступ к данным магазина.
- Вставить токен в заголовки запросов к Маркету.
Создание приложения
- Войдите в аккаунт на Яндексе, от имени которого ваша система будет обращаться к API Маркета.
Важно
Отнеситесь внимательно к выбору аккаунта. Это должен быть аккаунт:
- К которому бизнес не потеряет доступ.
- Который не потеряет доступ к бизнесу — например, при увольнении сотрудника.
Лучше всего использовать аккаунт, защищенный двухфакторной аутентификацией и принадлежащий владельцу бизнеса.
- Откройте страницу 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 Яндекс ID.
Использование авторизационных данных
Полученный токен вставьте в заголовок Authorization по следующей схеме:
Authorization: Bearer <token>В результате заголовок будет выглядеть как-то так:
Authorization: Bearer y0_BfRRRRRV2L8sWWvNkSNNNNSrLHaNXg4cCMswFbL6MWab9lktL2KPsMwЕсли запрос придет без заголовка с действительным токеном, Маркет вернет HTTP-статус 401 Unauthorized.
Как авторизоваться в консоли
В консоли тоже нужен токен, он тоже пишется с Bearer :
Инструкция взята с сайта Яндекс.Маркет