EVE API + SDE. Ein mächtiges Werkzeug

Spielt man länger als ein paar Tage EVE Online, wird man unweigerlich über das Thema API stolpern. In der Regel weil man Tools, wie Evemon, Aura oder ähnliches nutzt, oder weil die Corp der man beitreten möchte, die Herausgabe einer API fordert.

Doch was ist diese API überhaupt? API ist die Abkürzung für “application programming interface” und bietet eine Schnittstelle, über welche sich bestimmte Daten auslesen lassen. Bei EVE Online bedeutet diese API, dass man, je nach vergebener Berechtigung, alle Daten zu Deinen Charakteren, Corporation, Ingamemails, Geldbewegungen, Kriege, etc auslesen und weiterverarbeiten lassen.

Das Alleine bedeutet schon eine Menge Info, die man nutzen kann. Geparrt mit dem aktuellen SDE (dem Datenbankexport durch CCP) lassen sich diese Werte noch weiter verarbeiten. So lassen sich z.b. TypeIDs auflösen, Routenplaner für EVE bewerkstelligen, oder auch Trackingtools für die eigene Industrie schreiben.

Es gibt mittlerweile unzählige 3rd party tools, welche einem das Leben bei EVE leichter machen. Doch sollte man sich immer vergegenwärtigen, WEM man seine API Daten da gegebenenfalls zur Verfügung stellt und auch welche Berechtigung die API haben soll. Schließlich sollte nicht jeder meine Geldbewegungen oder Mails lesen können.

Ich selber habe auch angefangen, mich mit der API auseinander zu setzen. Hierzu später mehr…

6 Gedanken zu „EVE API + SDE. Ein mächtiges Werkzeug“

  1. Hallo.

    Ich möchte einige Daten wie z.b. den Buyorder für Scordite auf meiner Homepage per Api Ausgeben lassen. Kannst du mir dabei helfen ? ich kann es nämlich nicht :-(

    Grüße

    1. Wie ich es (in etwa) gemacht habe:
      Als erstes eine Funktion, die Du wiederverwenden kannst. Die baust Du irgendwo oben in Deinem Dokument ein (Dran denken: Das Dokument muss .php sein und nicht .html)

      < ?php function getpricedataforitem($typeID) { $station=30000142; //Jita $pricedata = array(); $url="http://api.eve-central.com/api/marketstat?usesystem=".$station."&typeid=".$typeID; $pricexml=file_get_contents($url); if ($pricexml) { $xml=new SimpleXMLElement($pricexml); $item=$xml->xpath('/evec_api/marketstat/type[@id='.$typeID.']');

      $sellmin= $item[0]->sell->min;
      //$sellmin=round($sellmin,2);
      $pricedata["sellmin"] = $sellmin; //Aufruf von sellmin für niedrigste Sellorder

      $buymax= $item[0]->buy->max;
      //$buymax=round($buymax,2);
      $pricedata["buymax"] = $buymax; //Aufruf von buymax für höchste Buyorder

      $buyvol= $item[0]->buy->volume;
      $pricedata["buyvol"] = $buyvol; //Aufruf von buyvol für Einkaufsvolumen

      $sellvol= $item[0]->sell->volume;
      $pricedata["sellvol"] = $sellvol; //Aufruf von sellvol für Verkaufsvolumen

      return $pricedata;
      } else {
      return FALSE;
      }
      }
      ?>

      Damit kannst Du von EVE-Central den Datensatz (hier aus Jita) abfragen und dann weiterverwenden. In deinem Beispiel würdest Du dann die Buyorder für Scordite da einbauen, wo Du sie anzeigen möchtest:


      < ?php $scorditebuy = getpricedataforitem(1228); //Scordite hat die typeID 1228 if($scorditebuy != FALSE) { echo $scorditebuy['buymax']; } else { echo "Kein Preis vorhanden!"; } ?>

      Geht vermutlich noch eleganter, aber für meine Zwecke würde das so reichen.
      Die TypeIDs musst Du natürlich selber rausfinden.
      Wenn Du eine andere Station als Jita willst, musst Du die ID in der Funktion anpassen.
      Wenn Du was anderes als die höchste buyorder willst, rufst Du im 2. Codeblock statt “buymax” eben den gewünschten Wert, wie in der Funktion angegeben auf. Ich hoffe, dass ist soweit verständlich.

  2. coool, vielen dank ich probier das mal so.

    Zitat: Ich sehe grad, dass er zwischen < und ?php ein Leerzeichen eingebaut hat. Das muss da natürlich weg.

    Wo weg ? respektive kannst du mir das alles vielleicht an Pedro-Salzwedel@t-online.de senden ? wenn es dir keine all zu großen Umstände macht.

    LG
    Charonnoname.

    1. Ich habs Dir mal per mail geschickt.
      Wenn Du dann immer noch Probleme hast.. wirds schwierig. :) Der Code ist kommentiert. Sollte also halbwegs verständlich sein, wie es geht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die DSGVO-Checkbox ist ein Pflichtfeld

*

Ich bin einverstanden.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.