Руководство:
Начало работы

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.

Для получения контента WG Public API регистрация приложения является обязательной. См. Использование application_id.

Использование application_id

application_id — идентификатор приложения, который используется при отправке запросов. Только с помощью application_id ваше приложение может получить доступ к полному контенту Wargaming.

Прекращена поддержка демо доступа к API. Для тестовых запросов необходимо использовать персональный application_id, полученный в разделе Мои приложения.

Доступ к контенту предоставляется в формате JSON.

Для каждого идентификатора существует квота на количество выполняемых запросов.

Формат запроса

API предоставляет данные посредством обращения по протоколу HTTP(S) к специальному домену/поддомену, который соответствует игровому кластеру.

Часть доменного имени, указывающая на кластер, обозначается <server>.

Поддерживаются два способа передачи параметров:

  1. Методы GET: вводятся в URL запроса.
    Пример: ?<param_name>=<param_value>
  2. Методы 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 Источник данных не доступен.