# Intro

# Übersicht

Das Spiel bietet ab Version 3.14.0 eine API an. Über diese API können Informationen über den eigenen Spielaccount abgerufen werden. Zusätzlich können auch gezielt Kampfberichte abgerufen werden.

# Authentifizierung

Die Authentifizierung läuft auf Tokenbasis über den Header x-auth-token.

curl -vX 'GET' \
  'https://uni5.gigrawars.de/api/accounts/me' \
  -H 'accept: application/json' \
  -H 'x-auth-token: uni5-xxxxxxxxxxxxxxxxxxxxxxxxx'

# API-Tokens

Tokens können vom Spieler im Spiel in den Einstellungen unter "Account" und dort unter "Externe Anwendungen" erstellt werden. Bei der Erstellung eines neuen Tokens können Berechtigungen ausgewählt werden.

Um die Tokens der verschiedenen Anwendungen zu unterscheiden, haben diese einen Prefix des jeweiligen Universums. Diese Information kann zusätzlich genutzt werden, um zu prüfen, dass der Spieler im korrekten Universum einen Token erstellt hat.

# Limits / Ratelimits

Die verschiedenen Schnittstellen der API verfügen über Ratelimits, um die Anzahl der Anfragen pro Spieler zu regeln.

Dazu werden im Response drei zusätzliche Header mit ausgegeben.

  • x-ratelimit-limit Die erlaubte Anzahl der Anfragen pro Stunde
  • x-ratelimit-remaining Die verbleibende Anzahl der Anfragen
  • x-ratelimit-retry-after Die Anzahl der Sekunden, bis wann keine Abfrage mehr möglich ist

Die Limitierung gilt häufig nicht für eine einzelne Schnittstelle, sondern für einen Bereich. Beispielsweise sind die Abfragen unter /api/accounts zusammengefasst und haben ein gemeinsames Limit.

# Konstanten

Wir haben in der API diverse Bezeichner für Gebäude, Forschungen, Schiffe, Türme und mehr. Um damit leichter arbeiten zu können, gibt es hier eine Liste aller Konstanten.

Diese sind auch im PHP-Client (opens new window) zu finden.

# Gebäude

commandCenter
researchCenter
tradingPost
ironMine
lutinumRefinery
drillingTower
chemicalFactory
extendedChemicalFactory
ironStorage
lutinumStorage
waterStorage
hydrogenStorage
shipFactory
orbitalDefenceStation
planetaryShield
fusionReactor

# Forschungen

combustionDrive
ionDrive
spaceCurvatureDrive
spaceFoldingDrive
ionisation
energyBundling
explosiveProjectiles
spyTechnology
extendedShipArmour
increasedCargoCapacity
recyclingTechnology

# Schiffe

schakal
recycler
spySatellite
renegade
raider
falcon
colonisationShip
tjuger
cougar
longeagleV
smallTrader
largeTrader
noah
longeagleX

# Verteidigungsanlagen

lightLaserTower
laserTower
empLauncher
plasmaTower
rocketDefenseCannons

# Spieler

user
observer
npc
free_nation