Travian Kingdoms, как и TRAVIAN, располагает интерфейсом для анализа игровых данных, которые могут быть официально использованы для созданиях различных приложений/анализаторов для игры. Для разработчиков доступна следующая информация:
- Информация по игровому серверу;
- Информация по игрокам (включая их деревни);
- Информация по альянсам;
- Информация, полученная с карты.
Технические данные
При каждом запросе вы получите JSON закодированный объект в следующем формате:
{
time: long
error: (опционально) объект с дополнительной информацией об ошибке
response: API - ответ
}
Все данные запрашиваются по следующей ссылке: http://[сервер]/api/external.php
Действия и параметры передаются по следующему URL-параметру: http://[spielwelt]/api/external.php?action=[Aktion]&[param]=[paramvalue]
Как я могу получить данные?
1. requestApiKey
Для использования интерфейса вам понадобится, в первую очередь, запросить privateApiKey / publicSiteKey. С privateApiKey вы сможете запросить дальнейшие данные.
Aktion:
- requestApiKey
Parameters:
- email: String (макс. 255 знаков): Действующий адрес электронной почты, по которому мы сможем с вами связаться
- siteName: String макс. 255 знаков): Название вашего приложения
- siteUrl: String макс. 255 знаков): Действующая ссылка (http://) на ваше приложение
- public: bool: true/false: true = ваше приложение, возможно, будет опублиновано в списке приложений
Response:
[FONT=courier new]privateApiKey (String)[/FONT][FONT=courier new]
publicSiteKey (String)[/FONT]
2. updateSiteData
Вы можете запросить этот параметр, если вы желаете обновить какие-либо данные в вашем приложении.
Action:
- updateSiteData
Parameters:
- privateApiKey: String: Ваш личный Api Key (получаете через запрос requestApiKey)
- email: String (макс. 255 знаков): Действующий адрес электронной почты, по которому мы сможем с вами связаться
- siteName: String (макс. 255 знаков
Название вашего приложения
- siteUrl: String (макс. 255 знаков
Действующая ссылка (http://) на ваше приложение
- public: bool: true/false: true = ваше приложение, возможно, будет опублиновано в списке приложений
Response:
- true = если всё правильно
3. getMapData
Для получения публичных данных карты (старая map.sql) с определенной датой.
Action:
- getMapData
Parameters:
- privateApiKey: String: Ваш личный Api Key (получаете через запрос requestApiKey)
- date: String (опционально): Дата должна быть в формате: d.m.Y (например, 27.08.2014). Если дата не будет указана, будет взято «сегодня».
Response:
gameworld
name: string
startTime: int
speed: int
speedTroops: int
lastUpdateTime: int
date : int
version : string
players
playerId : int
name : string
tribeId : int
kingdomId : int
allianceId : int
treasures: only >0 when this is a king
role: int: 1 = King, 2=General, 3=Govenor
externalLoginToken: string
villages
villageId: int
x: int
y: int
population: int
isMainVillage: boolean
isCity: boolean
alliances
allianceId: int
nameShort: string
nameLong: string
victoryPoints: int
population: int
creationTime: int
map
radius: int
cells:
id: int
x: int
y: int
resType: string
oasis: int
landscape: string
kingdomId: int
Display More
4. Что такое «externalLoginToken»
С «externalLoginToken» вы можете идентифицировать игрока, без которого игроку нужно было бы пройти регистрацию в вашем приложении.
Если вы запросите requestApiKey вы получите privateApiKey и publicSiteKey. PrivateApiKey является вашим личным ключом, который должен держаться в тайне. Этот ключ вам понадобится для запросов к нашему интерфейсу (API). PublicSiteKey, в отличии от privateApiKey, может быть опубликован.
Если игрок желает войти на ваш сайт, ему понадобится accessToken для вашего сайта. Чтобы получить accessToken, игроку понадобится перейти в настройки своей игровой учетной записи, перейти к информации о внешних инструментах, нажать на «Создать доступ» и указать ваш publicSiteKey.
Если игрок введет accessToken на вашем сайте, вы сможете рассчитать externalLoginToken следующим образом:
Теперь вы сможете найти игрока в созданной таблице с помощью данных getMapData и позволить игроку войти на ваш сайт.