Доступ к API

При работе с API Яндекс Трекера запросы выполняются от имени пользователя Трекера. Чтобы выполнять те или иные действия через API, пользователь, от имени которого выполняется запрос, должен иметь соответствующие права в Трекере. Подробнее о правах доступа пользователей читайте в разделе Роли и права доступа в Трекере.

Для доступа к API Яндекс Трекера можно использовать один из способов авторизации:

О формате заголовков читайте в разделе Заголовки.

Если вы используете для вызова API Python-клиент, укажите данные для авторизации при инициализации клиента. Подробнее читайте в разделе Python-клиент.

Получить доступ к API по протоколу OAuth 2.0

Если вы используете федеративный или сервисный аккаунт, авторизуйтесь с помощью IAM-токена.

Для доступа к API Яндекс Трекера требуется получить токен в сервисе OAuth. Полученный токен используйте в заголовке Authorization в запросах к API Яндекс Трекера.

Токен предоставляет те же права, которые есть у аккаунта пользователя в Трекере. Например, если у пользователя нет прав на изменение настроек очереди, соответствующие запросы к API будут недоступны.

Чтобы получить токен:

  1. Перейдите по ссылке https://oauth.yandex.ru/.

  2. На странице Ваши приложения нажмите  Создать.

  3. В открывшемся окне выберите вариант Для доступа к API или отладки и нажмите Перейти к созданию.

  4. Укажите название приложение и почту для связи.

  5. Добавьте разрешения для доступа к данным пользователя. Чтобы выбрать разрешение, начните вводить его название в поле Название доступа:

    • Запись в трекер (tracker:write) — все операции с данными: создание, удаление, редактирование.
    • Чтение из трекера (tracker:read) — только чтение данных.
  6. Нажмите Создать приложение.

  7. В личном кабинете Яндекс OAuth выберите созданное ранее приложение и скопируйте его идентификатор из поля ClientID.

  8. Затем сформируйте ссылку для запроса токена:

    https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
    
  9. Войдите в аккаунт, от имени которого вы будете работать с API, и перейдите по сформированной ссылке.

    На странице появится последовательность символов — это OAuth-токен. Скопируйте его и сохраните.

Инструкции по настройке приложения в Справке Яндекс ID:

Чтобы проверить наличие доступа к API, выполните запрос информации о текущем пользователе. Если доступ не был получен, запрос вернет ответ с кодом 401 Unauthorized.

Пример запроса информации о текущем пользователе с помощью curl:

curl -X GET 'api.tracker.yandex.net/v3/myself' \
     -H 'Authorization: OAuth ABC-def12GH_******' \
     -H 'X-Cloud-Org-Id: abcd12******'
curl -X GET "api.tracker.yandex.net/v3/myself" ^
     -H "Authorization: OAuth ABC-def12GH_******" ^
     -H "X-Cloud-Org-Id: abcd12******"

Получить доступ к API по IAM-токену

Если вы используете Трекер в составе организации Yandex Cloud, для авторизации в API можно использовать IAM-токен.

IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в API Яндекс Трекера и выполняет операции с ресурсами.

Чтобы отправлять запросы к API Трекера от имени сервисного аккаунта, сначала обратитесь в службу поддержки с указанием id облачной организации и id сервисного аккаунта. В противном случае запросы к API будут завершаться ошибкой с кодом 401 Unauthorized.

Подробнее об этом способе аутентификации читайте в документации сервиса идентификации и контроля доступа.

IAM-токен действует не больше 12 часов и ограничен временем жизни cookie у федерации. После истечения срока жизни токена вернется ошибка с кодом 401 Unauthorized.

Python-клиент

При разработке приложений на языке Python вы можете использовать пакет yandex_tracker_client — клиент, который облегчает работу с API Трекера.

Чтобы начать пользоваться клиентом:

  1. Скачайте и установите на свой компьютер актуальную версию Python с сайта https://www.python.org/downloads/.

  2. В командной строке вашей ОС выполните команду:

    pip install yandex_tracker_client
    
  3. Получите OAuth-токен или IAM-токен для авторизации.

  4. Узнайте идентификатор вашей организации.

    Чтобы узнать идентификатор организации, перейдите на страницу АдминистрированиеОрганизации и скопируйте значение поля идентификатор.

  5. Инициализируйте клиент в коде вашей программы:

    from yandex_tracker_client import TrackerClient
    client = TrackerClient(token='<OAuth-токен>', org_id='<идентификатор_организации>')
    

    Здесь <OAuth-токен> — ваш OAuth-токен, а <идентификатор_организации> — идентификатор организации.

    Для авторизации с помощью OAuth-токена:

    from yandex_tracker_client import TrackerClient
    client = TrackerClient(token='<OAuth-токен>', cloud_org_id='<идентификатор_организации>')
    

    Для авторизации с помощью IAM-токена:

    from yandex_tracker_client import TrackerClient
    client = TrackerClient(iam_token='<IAM-токен>', cloud_org_id='<идентификатор_организации>')
    

    Здесь <OAuth-токен> или <IAM-токен> — ваш токен, а <идентификатор_организации> — идентификатор организации.

В клиенте используйте такой же формат данных, как в API Яндекс Трекера.

Подробнее о работе клиента и условиях использования читайте на его странице в GitHub: https://github.com/yandex/yandex_tracker_client.