Informations-API: Eine Einführung Grundlagen zu unserer Informations-API und wie Sie die Daten für sich nutzen können
Grundlagen
Unsere Informations-API stellt viele Algorithmen, Daten und Echtzeit-Informationen zur Verfügung und ist ein Angebot an alle Software-Entwickler, Webseiten-Betreiber und jeden Nutzer, der Informationen, Tools und Berechnungen stabil, sicher und in Echtzeit benötigt.
Bieten Sie auch in Ihren Apps, Clockfaces oder Intranet-Applikationen das aktuelle Wetter an, lassen Sie sich die Twitter-Trends anzeigen oder nutzen Sie eine der zahlreichen Konvertierungsroutinen für Ihre Software. Jeder Account erhält kostenlos monatlich maximal 1000 Credits, die für API-Abrufe genutzt werden können. Für höhere Zugriffszahlen und professionelle Anwendungen können Credits kostenpflichtig gebucht werden, für Enterprise-Anwendungen können dedizierte Server bei uns gemietet werden.
Technische Grundlagen
Unsere Informations-API nimmt Ihre Anfragen per HTTP(S)-Request via GET oder POST entgegen, bearbeitet diese und liefert Ihnen die gewünschten Informationen zurück. Zum Senden und Empfangen der Daten unterstützt die API mehrere Datenaustausch-Formate wie JSON, URL-Encoding, XML und die Punktnotation.
Mehrere Info-Module können als Kette hintereinander abgearbeitet werden, Informationen können so direkt weiterverarbeitet werden.
Zur Nutzung der API ist zwingend ein API-Key nötig, den Sie auf Ihrer Profil-Seite kostenlos erstellen können.
Adressierung der API
Sie können die API über GET- und POST-Anfragen steuern, der URL der API lautet:
https://nettz.de/api.fcgi
Um beispielsweise per GET-Abfrage zu überprüfen ob die API reagiert, können Sie folgenden Aufruf nutzen:
https://nettz.de/api.fcgi?apikey=abcd1234&modul=system&action=alive
Die API antwortet dann beispielsweise mit folgenden Daten:
{ "data" : { "version_api" : "0.9" }, "status" : 1 }
data.version_api=0.9 status=1
data.version_api=0.9&status=1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt status="1"> <data version_api="0.9" /></opt>
API-Keys
Mit Hilfe von API-Keys identifizieren Sie sich bei der API - ohne gültigen API-Key ist keine Abfrage möglich. Bei den Beispielen in dieser Dokumentation verwenden wir zu Demonstrationszwecken den API-Key abcd1234. Wenn Sie das jeweilige Beispiel selbst testen möchten, müssen Sie abcd1234 zunächst durch Ihren eigenen API-Key ersetzen.
Die eBobs auf unserer Seite sind ohne API-Keys nutzbar, Sie müssen sich nur bei der direkten Nutzung unserer Informations-API authentifizieren.
API-Anfrage
Sie können die API über verschiedene Datenaustauschformate steuern, derzeit unterstützt werden JSON, XML, Key-/Value-Paare sowie die Punktnotation.
Übergeben Sie der API per GET oder POST ein gültiges Daten-Objekt in dem von Ihnen gewünschten Format:
{ "action" : "alive", "apikey" : "abcd1234", "modul" : "system" }
action=alive apikey=abcd1234 modul=system
action=alive&apikey=abcd1234&modul=system
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt action="alive" apikey="abcd1234" modul="system" />
Zusätzliche Daten und Anweisungen können Sie über das data-Zweig übergeben:
Übergeben Sie ein JSON-Objekt als String via POST oder GET aus Ihrer Software:
{ "action" : "forecast", "apikey" : "abcd1234", "data" : { "days" : 3, "location" : { "lat" : 12.34, "lng" : 56.78 }, "units" : "metric" }, "modul" : "weather" }
Nutzen Sie die Punktnotation, um die Daten per POST oder GET an die API zu übertragen:
action=forecast apikey=abcd1234 data.days=3 data.location.lat=12.34 data.location.lng=56.78 data.units=metric modul=weather
https://nettz.de/api.cgi?action=forecast&apikey=abcd1234&data.days=3&data.location.lat=12.34&data.location.lng=56.78&data.units=metric&modul=weather
Übertragen Sie die Parameter per XML an die API:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt action="forecast" apikey="abcd1234" modul="weather"> <data days="3" units="metric"> <location lat="12.34" lng="56.78" /> </data></opt>
API-Antwort
Wenn die API Ihre Anfrage durchlaufen und die gewünschten Daten bereitgestellt hat, erhalten Sie eine Antwort im gewünschten Datenformat. Jede API-Antwort enthält den Status-Code, der Ihnen Aufschluß darüber gibt, ob eine Aktion erfolgreich (status=1) oder mit einem Fehler (status=-1) abgeschlossen wurde.
Erfolgreiche Anfragen
Wenn Ihre Anfrage erfolgreich durchlaufen wurde, antwortet die API mit status=1. Die gewünschten Informationen Ihrer Anfrage finden sich im data-Teil der Antwort. Wenn Sie beispielsweise die action geo.code2country aufgerufen haben, kann die API-Antwort wie folgt aussehen:
{ "data" : { "country" : "France" }, "status" : 1 }
data.country=France status=1
data.country=France&status=1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt status="1"> <data country="France" /></opt>
Fehlerhafte Anfragen
Wenn bei der Verarbeitung ein Fehler auftritt, bricht die API ab und liefert status=-1 zurück. Außerdem erhalten Sie in verschiedenen Fehler-Variablen weitere Informationen zum aufgetreteten Fehler:
{ "errid" : "204", "errkey" : "countrycode", "errmsg" : "Missing key", "status" : -1 }
errid=204 errkey=countrycode errmsg=Missing key status=-1
errid=204&errkey=countrycode&errmsg=Missing%20key&status=-1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt errid="204" errkey="countrycode" errmsg="Missing key" status="-1" />
Erweiterte Antwort
Sie können mit Hilfe von options.verbose=1 einige zusätzliche Informationen zur Anfrage-Bearbeitung erhalten:
Übergeben Sie ein JSON-Objekt als String via POST oder GET aus Ihrer Software:
{ "action" : "code2country", "apikey" : "abcd1234", "data" : { "countrycode" : "fr", "language" : "en" }, "modul" : "geo", "options" : { "verbose" : 1 } }
Nutzen Sie die Punktnotation, um die Daten per POST oder GET an die API zu übertragen:
action=code2country apikey=abcd1234 data.countrycode=fr data.language=en modul=geo options.verbose=1
https://nettz.de/api.cgi?action=code2country&apikey=abcd1234&data.countrycode=fr&data.language=en&modul=geo&options.verbose=1
Übertragen Sie die Parameter per XML an die API:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt action="code2country" apikey="abcd1234" modul="geo"> <data countrycode="fr" language="en" /> <options verbose="1" /></opt>
In der Antwort finden Sie dann den Zweig verbose, in dem weitere Informationen zu Ihrer Anfrage bzw. der Antwort enthalten sind:
{ "data" : { "country" : "France" }, "status" : 1, "verbose" : { "credits" : "0.001", "duration_ms" : 0.0407688, "modulaction" : "geo.code2country", "timestamp" : 1578050973 } }
data.country=France status=1 verbose.credits=0.001 verbose.duration_ms=0.0407688 verbose.modulaction=geo.code2country verbose.timestamp=1578050973
data.country=France&status=1&verbose.credits=0.001&verbose.duration_ms=0.0407688&verbose.modulaction=geo.code2country&verbose.timestamp=1578050973
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt status="1"> <data country="France" /> <verbose credits="0.001" duration_ms="0.0407688" modulaction="geo.code2country" timestamp="1578050973" /></opt>
In den Verbose-Informationen können Sie derzeit folgende Daten finden:
- credits
Die Credit-Gebühr, die für den Vorgang berechnet wurde. - duration_ms
Die Dauer der reinen Berechnung Ihrer Anfrage in Millisekunden (ohne Empfang-/Senden-Teil) - modulaction
Name des aufgerufenen Moduls und der Action, getrennt durch einen Punkt. - timestamp
Hier finden Sie den Zeitstempel, an dem Ihre Anfrage abgeschlossen wurde.
Multiple Anfragen
Sie können der API auch mehrere Aktionen übergeben, die nacheinander als Kette abgearbeitet werden sollen. Selbstverständlich können Sie dabei mit Variablen in der Form %%varname%% arbeiten, um auf Daten vorheriger Ausführungen zurückzugreifen. Wenn Sie beispielsweise eine Abstimmung auf Ihrer Seite anbieten und bei jeder neuen Stimmabgabe eine Mail erhalten wollen, kombinieren einfach die beiden actions storage.vote und net.simplemail:
Übergeben Sie ein JSON-Objekt als String via POST oder GET aus Ihrer Software:
{ "actions" : [ { "action" : "vote", "apikey" : "abcd1234", "data" : { "store" : { "points" : "2", "userid" : "hans_dampf" }, "storeid" : "Wahl Teamchef" }, "modul" : "storage" }, { "action" : "simplemail", "apikey" : "abcd1234", "data" : { "message" : "Points from hansdampf: 2\n\nThis was the %%LAST.data.report.count_votes%%. vote.\nAverage Points: %%LAST.data.report.average_points%%", "recipient" : "your@mail.adress", "sender" : "senders@mail.adress", "subject" : "New vote from hansdampf" }, "modul" : "net" } ], "apikey" : "abcd1234" }
Nutzen Sie die Punktnotation, um die Daten per POST oder GET an die API zu übertragen:
actions:0.action=vote actions:0.apikey=abcd1234 actions:0.data.store.points=2 actions:0.data.store.userid=hans_dampf actions:0.data.storeid=Wahl Teamchef actions:0.modul=storage actions:1.action=simplemail actions:1.apikey=abcd1234 actions:1.data.message=Points from hansdampf: 2 This was the %%LAST.data.report.count_votes%%. vote. Average Points: %%LAST.data.report.average_points%% actions:1.data.recipient=your@mail.adress actions:1.data.sender=senders@mail.adress actions:1.data.subject=New vote from hansdampf actions:1.modul=net apikey=abcd1234
https://nettz.de/api.cgi?actions:0.action=vote&actions:0.apikey=abcd1234&actions:0.data.store.points=2&actions:0.data.store.userid=hans_dampf&actions:0.data.storeid=Wahl%20Teamchef&actions:0.modul=storage&actions:1.action=simplemail&actions:1.apikey=abcd1234&actions:1.data.message=Points%20from%20hansdampf:%202%0A%0AThis%20was%20the%20%25%25LAST.data.report.count_votes%25%25.%20vote.%0AAverage%20Points:%20%25%25LAST.data.report.average_points%25%25&actions:1.data.recipient=your@mail.adress&actions:1.data.sender=senders@mail.adress&actions:1.data.subject=New%20vote%20from%20hansdampf&actions:1.modul=net&apikey=abcd1234
Übertragen Sie die Parameter per XML an die API:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <opt apikey="abcd1234"> <actions action="vote" apikey="abcd1234" modul="storage"> <data storeid="Wahl Teamchef"> <store points="2" userid="hans_dampf" /> </data> </actions> <actions action="simplemail" apikey="abcd1234" modul="net"> <data message="Points from hansdampf: 2This was the %%LAST.data.report.count_votes%%. vote.Average Points: %%LAST.data.report.average_points%%" recipient="your@mail.adress" sender="senders@mail.adress" subject="New vote from hansdampf" /> </actions></opt>
Erste Schritte
Erstellen Sie einen API-Key auf Ihrer API-Key-Seite.
Suchen Sie sich die gewünschten Info-Module zusammen
Testen Sie den Abruf der gewünschten Daten mit unseren Live-Beispielen
Integrieren Sie die Informationen via wget, PHP, Python, Perl, C++, Javascript usw. in Ihre App, Ihre Software oder Ihre Internetseite
Weiterführende Informationen:
Ihr Feedback zu dieser Seite
Sie vermissen weitere Infos oder Details auf dieser Seite oder haben einen Fehler gefunden? Bitte informieren Sie uns: