API

API помогает получить доступ к данным сайта 175g.ru (информация о турнирах, командах и игроках) в удобном для программной обработки виде. Например, для использования в приложениях для смартфонов.

Отправляйте -запросы на специальные адреса, описанные ниже, и получайте ответы в формате JSON.

Успешный вызов
В случае успешного вызова ответ будет содержать поле data. Пример ответа:

{
    "data": {
        "id": 298,
        "url": "https://175g.ru/tournaments/lord-novgorod-2015",
        "short_name": "Лорд Новгород 2015",
        ...
    }
}

В поле meta может содержаться вспомогательная информация, например, количество элементов, которые вернул запрос:

{
    "data": [
        {
            "id": 767,
            ...
        },
        ...
    ],
    "meta": {
        "total": 7,
        "total_cancelled": 0
    }
}

Неуспешный вызов
В случае неуспешного вызова ответ будет содержать поле errors с массивом ошибок. Пример ответа:

{
    "errors": [
        {
            "title": "Not found",
            "detail": "Tournament id=0 not found"
        }
    ]
}

Дополнительные параметры, общие для всех запросов

Добавьте в запрос параметр fields=field1,field2, чтобы получить в ответе только поля field1 и field2.

Добавьте в запрос параметр pretty=true, чтобы получить результат в читаемом виде. Пригодится для знакомства с API и тестирования.

Турниры

 https://175g.ru/api/v1/tournaments

Запрос возвращает список всех турниров. В поле data содержится массив объектов со следующими полями:

Параметр Описание Пример
id id турнира 338
url Ссылка на страницу турнира на сайте 175g.ru https://175g.ru/tournaments/ochr-2015
short_name Краткое название турнира ОЧР 2015
full_name Полное название турнира Открытый чемпионат России по алтимату 2015
date_begin Дата начала турнира в формате ДД.ММ.ГГГГ 04.09.2015
date_end Дата окончания турнира в формате ДД.ММ.ГГГГ 06.09.2015
is_preliminary_dates true, если даты турнира еще могут измениться false
is_unknown_dates true, если даты турнира неизвестны. Это может быть старый турнир, даты проведения которого не сохранились, или это может быть будущий турнир, даты проведения которого известны ну очень уж приблизительно false
unknown_dates_txt Если даты проведения турнира неизвестны (is_unknown_dates=true), в этом поле указывается словами приблизительный период проведения турнира Первая половина сентября 2015
is_cancelled true, если турнир был отменен false
location "Город, страна". Может быть только страна, или "место проведения неизвестно" Бронницы, Россия
created_at Время добавления турнира на сайт в формате ISO 8601 2014-11-13T14:19:00+03:00
updated_at Время последнего редактирования турнира в формате ISO 8601 2015-08-29T22:18:42+03:00
format_id 1 — турнир
2 — хэт-турнир
3 — кэмп
1
surface_id 1 — газон
2 — зал
3 — пляж
4 — снег
5 — крытый газон
6 — крытый пляж
2
division_format_id 1 — 7x7
2 — 5x5
3 — 4x4
4 — 2x2
2
prev_tourn_id id предыдущего турнира 286

В поле meta содержится общее количество турниров, которые вернул запрос, и сколько из них отмененных.

Параметр Описание Пример
total Количество турниров в ответе 734
total_cancelled Сколько среди них отмененных 10

Чтобы получить в ответе только те турниры, которые были добавлены на сайт после определенного времени, добавьте в запрос параметр created_since, например https://175g.ru/api/v1/tournaments?created_since=2015-12-16T08:48:00+03:00

Подробная информация о турнире

 https://175g.ru/api/v1/tournaments/{id}

Помимо полей, возвращаемых при получении списка всех турниров, этот запрос дополнительно возвращает подробную информации о дивизионах, участвующих командах и турнирных видео. Описание дополнительных полей:

Параметр Описание Пример
description Информация о турнире в свободном формате
locations [ ]
divisions [ ] Массив дивизионов
videos [ ] Массив турнирных видео

Описание объекта Division

Параметр Описание Пример
id id дивизиона 620
type_id 1 — Открытый дивизион
2 — Женский дивизион
3 — Микс дивизион
4 — Открытый мастерс
5 — Женский мастерс
6 — Микс мастерс
7 — Гранд мастерс
8 — Юниоры открытый
9 — Юниоры женский
1
name Название дивизиона "Открытый дивизион", "2 дивизион", "OPEN-1"
teams_count Количество команд 32
isnt_exact_teams_count true, если точное количество команд неизвестно. Такое бывает, когда полные результаты какого-нибудь старого турнира потерялись false
teams [ ] Массив команд дивизиона
awards [ ] Массив персональных номинаций дивизиона

Описание объекта TournamentTeam

Команда, участвующая в турнире.

Параметр Описание Пример
id id команды на турнире 7260
name Название команды (состава) на турнире ОксиДискО-2
club Если у команды есть страница на сайте в разделе «Команды», то в этом поле будут указаны:
  • name — название команды
  • url — ссылка на страницу команды в вики
"club": {
  "name": "ОксиДискО",
  "url": "https://175g.ru/wiki/teams/OksiDiskO"
}
place Место в итоговом рейтинге (результат команды на турнире).
0, если результат команды не известен
16
is_sotg true, если команда получила приз за Дух игры false
sotg_value Баллы за Дух игры 10,63
photo Турнирная фотография команды
  • preview_src
  • preview_width
  • preview_height
  • photo_src
  • photo_width
  • photo_height
  • credits

Описание объекта Award

Персональная номинация

Параметр Описание Пример
award_title Название номинации: MVP, MSP, Party Hero MVP
player_name Имя игрока Борис Новиков
player_id id игрока, если у него есть страница на 175g.ru. Иначе 0 10128
team_id id команды, за которую выступал игрок 7253
team_name Название команды, за которую выступал игрок ЛакиСД

Описание объекта TournamentVideo

Параметр Описание Пример
id id видео
url Ссылка на оригинальное видео
preview Ссылка на превью
title Название видео
description Описание видео
teams [ ] Массив команд, присутствующих на видео. Для каждой команды указаны:
id
name
url

Результаты турнира

 https://175g.ru/api/v1/tournaments/{id}/results

Запрос заточен на периодическую проверку результатов турниров с минимальным расходом трафика и позволяет узнать, когда результаты турнира изменились: стало известно занятое командой место, кто получил приз за Дух игры и персональную номинацию.

Без дополнительных параметров этот запрос вернет следующую информацию:

Параметр Описание Пример
hash Значение этого поля изменяется, когда изменяются результаты: становится известно занятое командой место, или какая команда получила приз за Дух игры, или кто получил персональную номинацию 6c1fdb4ffd089198683ea20d6443830c
results_complete true, когда известны все результаты false
divisions [ ] Дивизионы и команды с дополнительными полями:
  • У каждого дивизиона добавилось поле awards_hash, которое меняется, когда становится известен игрок, получивший персональную номинацию
  • У каждой команды добавилось поле team_hash, которое меняется, когда становится известно место, занятое этой командой, баллы за Дух игры, или если команда получает приз за Дух игры.

Для периодической проверки результатов турнира используйте запрос с параметром fields=hash. Пример ответа:

{
    "data": {
        "hash": "6c1fdb4ffd089198683ea20d6443830c"
    }
}

Когда станут известные новые результаты, значение поля hash изменится. Чтобы узнать, что конкретно изменилось, снова выполните запрос без дополнительных параметров и сравните значения awards_hash и team_hash с их предыдущими значениями.

Ростеры

 https://175g.ru/api/v1/tournaments/{id}/teams

Список участвующих в турнире команд с ростерами. В ответ на запрос приходит такой же массив дивизионов турнира с командами, как и при запросе подробной информации о турнире, но у каждой команды появляется два дополнительных поля: players и coaches:

Параметр Описание Пример
players [ ] Игроки команды, массив объектов RosterPlayer
coaches [ ] Неиграющие тренеры команды, массив объектов RosterPlayer

Описание объекта RosterPlayer

Параметр Описание Пример
id id позиции в ростере 11113
player_id id игрока, если у него есть страница на 175g.ru. Иначе 0 10148
player_name Имя игрока Парфёнчикова Анастасия
player_num Номер на футболке 5
is_captain true, если игрок —капитан команды true
is_spirit_captain true, если игрок —капитан команды по Духу игры true
is_coach true, если игрок —неиграющий тренер команды false
is_confirmed Игрок может находиться в ростере команды до турнира, но в итоге в турнире не участвовать. Если ростер заполнен до турнира, в этом поле будет false до тех пор, пока участие игрока не будет подтверждено true

Команды

 https://175g.ru/api/v1/teams

Получение списка команд, зарегистрированных на сайте.

Напишите на адрес mail@175g.ru чтобы ускорить появление документации для этого запроса.

Турнирная история команды

 https://175g.ru/api/v1/teams/{slug}/tournaments

Результаты выступлений команды на турнирах.

Напишите на адрес mail@175g.ru чтобы ускорить появление документации для этого запроса.

Игроки

 https://175g.ru/api/v1/players/registered

Спискок зарегистрированных на сайте игроков. В ответ на запрос приходит массив объектов Player со следующими полями:

Параметр Описание Пример
id id игрока 10001
first_name Имя Алексей
last_name Фамилия Сулимов
sex 1 — девочка
2 — мальчик
2
url Ссылка на страницу игрока на сайте 175g.ru https://175g.ru/players/sulimov-aleksei
registered_at Дата регистрации игрока на сайте в формате ISO 8601 2015-06-13T15:52:27+03:00
teams [ ] Массив команд, за которые выступает игрок. Игрок может указать только те команды, у которых есть страница на 175g.ru. Для каждой команды указаны:
  • name —
  • city —
  • country —
  • url —

Чтобы получить в ответе только тех игроков, которые зарегистрировались после определенного времени, добавьте в запрос параметр registered_since: https://175g.ru/api/v1/players/registered?registered_since=2016-01-10T08:48:00+03:00

Подробная информация об игроке

 https://175g.ru/api/v1/players/{id}

Получение подробной информации об игроке.

Напишите на адрес mail@175g.ru чтобы ускорить появление документации для этого запроса.

Участие игрока в турнирах

 https://175g.ru/api/v1/players/{id}/tournaments

Получение турнирной истории игрока. В ответ на запрос приходит массив отметок об участии игрока в турнирах. Каждая отметка содержит информацию о самом турнире, о командах, за которые выступал игрок и о полученных на турнире номинациях.

Параметр Описание Пример
{tournament} Информация о турнире. Описание полей в документации по запросу списка всех турниров
teams [ ] Массив команд, за которые выступал игрок на турнире. Описание полей каждой команды в следующей таблице
awards [ ] Массив персональных номинаций. Описание полей в документации по объекту Award

Для каждой команды, за которую выступал игрок, указаны:

Параметр Описание Пример
team_name Название команды на турнире
place Место, занятое командой. Это строковый параметр, так как бывают ситуации, место делят две команды, в этом случае в этом поле будет "3-4", например. Если занятое место неизвестно, в поле будет "0" "3-4"
division_type_id 1 — Открытый дивизион и так далее
division_name Название дивизиона
is_sotg true, если команда получила приз за Дух игры
is_mvp true, если игрок получил персональную номинацию (MVP, MSP, ...)
is_captain true, если игрок был капитаном команды
is_spirit_captain true, если игрок был капитаном команды по Духу игры
is_coach true, если игрок был неиграющим тренером команды

Содержимое поля meta:

Параметр Описание Пример
total_since_year_of_playing Сколько всего прошло турниров с того года, в котором игрок начал играть
total_defined Количество турниров, в которых игрок отметил участвовал или не участвовал
coverage_percentage Процент турниров, в которых отмечено участвовал или не участвовал. Очевидно, чем выше процент, тем точнее статистика
total_participated В скольки турнирах участвовал игрок
total_wins Количеств первых мест
total_finals Количество финалов
total_sotg Количество наград за Дух игры
total_personal_awards Количество персональных номинаций

Поделиться
Отправить