API Яндекс Контеста

Помимо интерфейса панели администратора, Яндекс Контест предоставляет публичный API, с помощью которого можно:

  • регистрировать участников соревнований;

  • управлять группами пользователей;

  • получать информацию о соревнованиях и задачах;

  • отправлять и пересуживать посылки;

  • выгружать значения мониторов и многое другое.

Актуальные методы публичного API доступны на интерактивной странице Swagger UI.

Создание приложения Яндекс ID

OAuth-токен позволяет взаимодействовать с сервисами Яндекса от имени определенного пользователя. Чтобы вызывать методы публичного API Контеста, создайте приложение в Яндекс ID и получите OAuth-токен:

  1. Войдите на страницу создания нового приложения с Яндекс ID.

  2. Заполните данные и нажмите Создать.

    Укажите свою почту для связи. Мы напишем, если в АPI будут внесены изменения, которые повлияют на работу вашего приложения.

  3. Выберите права доступа для приложения.

    У Яндекс Контеста есть два типа прав:

    • Отправка и тестирование решений на соревнованиях (contest:submit) — действия от имени участника, например:

      • отправка посылок;
      • просмотр своей позиции в мониторе.
    • Управление соревнованиями и участниками (contest:manage) — действия от имени администратора, например:

      • просмотр всех посылок;
      • пересуживание решений;
      • управление группами.
  4. Запомните client_id созданного приложения, он понадобится в процессе получения OAuth-токена.

Получение OAuth-токена в Яндекс ID

Процесс получения токена зависит от платформы и способа доступа к API Контеста через авторизацию Яндекс ID. Подробнее см. в разделах Регистрация приложения и Получение OAuth-токена Справки API Яндекс ID.

Использование методов API

Для авторизации передайте заголовок Authorization со значением OAuth <token>, где <token> — это полученный OAuth-токен без скобок и кавычек.

Пример запроса:

# Замените ABCD_some_imaginary_oauth_token_for_example_XYZ на ваш реальный токен
curl -X GET "https://api.contest.yandex.net/api/public/v2/service/capacity" -H "accept: application/json" -H "Authorization: OAuth ABCD_some_imaginary_oauth_token_for_example_XYZ"

Тестирование методов API

Для создания тестовых запросов перейдите на интерактивную страницу Swagger UI. Чтобы отправить запрос:

  1. Создайте приложение в Яндекс ID и получите OAuth-токен. Для тестирования можно использовать отладочный токен.

  2. Вверху страницы нажмите Authorize.

  3. В окне Available authorizations в поле Value введите OAuth-токен.

  4. Нажмите кнопку Authorize.

  5. Нажмите Try it out внутри любого метода и заполните параметры запроса.

  6. Нажмите Execute.

Далее вы можете работать с методами публичного API Контеста и изменять параметры запросов, чтобы получать нужные данные.

Полезные ссылки

Предыдущая