Wargaming.net Public API — набор общедоступных методов API, которые предоставляют доступ к проектам Wargaming.net, включая игровой контент, статистику игроков, данные энциклопедии и многое другое.
Перед началом работы с WG Public API, ознакомьтесь с условиями использования и документацией.
Чтобы просмотреть результаты, возвращаемые методами API, используйте API Explorer. Например, API Explorer может имитировать работу метода для поиска игрока по заданным критериям или работу метода для просмотра профиля игрока.
Чтобы просмотреть примеры визуализации данных, возвращаемых методами API, используйте мобильное приложение World of Tanks Assistant для Android и iOS.
Кабинет разработчика
Кабинет разработчика предоставляет необходимую информацию для разработки собственных продуктов и сервисов на основе методов API.
Чтобы войти в кабинет разработчика и начать работу с WG Public API, авторизуйтесь, используя аккаунт Wargaming.net.
Регистрация приложения
Чтобы зарегистрировать приложение в кабинете разработчика:
- Войдите в кабинет разработчика.
- Перейдите в раздел Мои приложения.
- Нажмите Добавить приложение. На экране появится форма для регистрации приложения.
- Выберите тип приложения. См. Типы приложений.
- Введите название приложения. Когда произведён вход в приложение, его название будет отображено на странице «Сеансы» в «Личном кабинете» пользователя.
- Нажмите Добавить приложение. На экране появится список добавленных приложений.
- После успешной регистрации приложения вы получите ключ (application_id), который является идентификатором вашего приложения для обращения к API.
Использование application_id
application_id — идентификатор приложения, который используется при отправке запросов. Только с помощью application_id ваше приложение может получить доступ к полному контенту Wargaming.
Доступ к контенту предоставляется в формате JSON.
Для каждого идентификатора существует квота на количество выполняемых запросов.
Формат запроса
API предоставляет данные посредством обращения по протоколу HTTP(S) к специальному домену/поддомену, который соответствует игровому кластеру.
Часть доменного имени, указывающая на кластер, обозначается <server>.
Поддерживаются два способа передачи параметров:
- Методы GET: вводятся в URL запроса.
Пример: ?<param_name>=<param_value> - Методы POST: вводятся в теле HTTP запроса.
Пример: ?<param_name>=<param_value>
Все запросы в URI-формате имеют следующий вид:
http(s)://<server>/<API_name>/<method block>/<method name>/?<get params>Где:
- <server> — URI игрового сервера на соответствующем кластере
- <API_name> — версия API
- <method block> — название группы методов
- <method name> — название метода
- <get params> — параметры метода GET для запроса
Любые текстовые параметры необходимо передавать в кодировке UTF-8.
При каждом вызове методов API могут передаваться следующие параметры:
Параметр | Используется для каких методов API | Описание |
---|---|---|
application_id | Обязательный параметр для всех методов. | Идентификатор приложения работающего с API. |
access_token |
Используется для всех:
|
Ключ доступа, выписывается методом аутентификации и имеет свой срок жизни(максимум две недели). |
fields | Дополнительный параметр. Используется для всех методов, не связанных с аутентификацией. |
Список полей ответа, которые в результате запроса должны быть записаны через запятую. Вложенность полей разделяется точкой. См. пример. Для того, чтобы указать поля которые нужно исключить из ответа, используется знак «-» перед названием поля. См. пример. Если параметр не указан, возвращаются все поля ответа. |
Для предотвращения использования access_token злоумышленниками запросы, которые содержат access_token, следует отправлять по защищённому соединению HTTPS.
В некоторых методах используется параметр extra. Он предназначен для перечисления списка экстра полей, которые будут включены в ответ. По умолчанию, экстра поля исключены из ответа. Списки доступных экстра полей для каждого метода перечислены в документации метода в Справочнике API. См. пример.
Формат ответа
Данные всегда возвращаются в формате JSON.
Общий формат ответа содержит следующие поля:
Параметр | Тип | Описание |
---|---|---|
status | string | ‘ok’ — запрос выполнен успешно; ‘error’ — ошибка при выполнении запроса. |
error | dict |
В случае ошибки возращаются следующие ключ-значения: code: "code" message: "message" field: "field" value: "value" |
data | dict | Блок, содержащий запрашиваемые данные. Формат ответа зависит от запроса, см. документацию. |
Заголовок ответа ETag
Заголовок ответа может содержать поле ETag, что позволяет клиенту выполнять условные запросы. Условный GET запрос обращается за документом учитывая дополнительные параметры для уменьшения нагрузки на сервер. См. w3 документацию.
Общие ошибки для всех методов API
Код | Сообщение | Описание |
---|---|---|
402 | %FIELD%_NOT_SPECIFIED | Не заполнено обязательное поле %FIELD% (будет заменено на название поля). |
404 | %FIELD%_NOT_FOUND | Информация не найдена. |
404 | METHOD_NOT_FOUND | Указан неверный метод API. |
405 | METHOD_DISABLED | Указаный метод API отключён. |
407 | %FIELD%_LIST_LIMIT_EXCEEDED | Превышен лимит переданных идентификаторов в поле %FIELD%(будет заменено на название поля). |
407 | APPLICATION_IS_BLOCKED | Приложение заблокировано администрацией. |
407 | INVALID_%FIELD% | Указано не валидное значение параметра %FIELD% (будет заменено на название поля). |
407 | INVALID_APPLICATION_ID | Неверный идентификатор приложения. |
407 | INVALID_IP_ADDRESS | Недопустимый IP-адрес для серверного приложения. |
407 | REQUEST_LIMIT_EXCEEDED | Превышены лимиты квотирования. |
504 | SOURCE_NOT_AVAILABLE | Источник данных не доступен. |