API Яндекс Контеста
Помимо интерфейса панели администратора, Яндекс Контест предоставляет публичный API, с помощью которого можно:
-
регистрировать участников соревнований;
-
управлять группами пользователей;
-
получать информацию о соревнованиях и задачах;
-
отправлять и пересуживать посылки;
-
выгружать значения мониторов и многое другое.
Актуальные методы публичного API доступны на интерактивной странице Swagger UI.
Создание приложения Яндекс ID
OAuth-токен позволяет взаимодействовать с сервисами Яндекса от имени определенного пользователя. Чтобы вызывать методы публичного API Контеста, создайте приложение в Яндекс ID и получите OAuth-токен:
-
Войдите на страницу создания нового приложения с Яндекс ID.
-
Заполните данные и нажмите Создать.
Укажите свою почту для связи. Мы напишем, если в АPI будут внесены изменения, которые повлияют на работу вашего приложения.
-
Выберите права доступа для приложения.
У Яндекс Контеста есть два типа прав:
-
Отправка и тестирование решений на соревнованиях (
contest:submit) — действия от имени участника, например:- отправка посылок;
- просмотр своей позиции в мониторе.
-
Управление соревнованиями и участниками (
contest:manage) — действия от имени администратора, например:- просмотр всех посылок;
- пересуживание решений;
- управление группами.
-
-
Запомните
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. Чтобы отправить запрос:
-
Создайте приложение в Яндекс ID и получите OAuth-токен. Для тестирования можно использовать отладочный токен.
-
Вверху страницы нажмите Authorize.
-
В окне Available authorizations в поле Value введите OAuth-токен.
-
Нажмите кнопку Authorize.
-
Нажмите Try it out внутри любого метода и заполните параметры запроса.
-
Нажмите Execute.
Далее вы можете работать с методами публичного API Контеста и изменять параметры запросов, чтобы получать нужные данные.