====== WebVis API ====== Die logstar API bietet Ihnen die Möglichkeit per http Anfrage ihre Daten direkt aus der Datenbank als json Request abzufragen. ===== Grundlagen ===== Um die API nutzen zu können müssen Sie sich vom Betreiber einmalig einen ApiKey generieren lassen, danach können Sie den ApiKey jederzeit in Ihrem Backend abrufen und/oder neu setzen. Ein API-Schlüssel ist Accountgebunden. Falls mehrere Anwender einen Account verwenden, müssen diese unbedingt davon unterrichtet werden, wenn sie einen neuen API-Schlüssel generieren sollten. Generieren Sie also niemals unüberlegt einen neuen API-Schlüssel ===== URL Schema Abruf einer Station und deren Daten ===== https://logstar-online.de/api/{apiKey}/{Stationsname}/{StartTag}/{EndTag}/{Kanalliste}/{DateTime}/{GeoData} Pflichtparameter: * **apiKey**: Diesen finden Sie in Ihrem Backend unter 'Account verwalten' -> 'DB Api-Key'. Der apiKey ist für alle Benutzer und für alle Stationen identisch. * **Stationsname**: Name der Station wie er Ihnen in der Backendrubrik 'Projekte verwalten' angezeigt wird * **StartTag**: Tag ab welchem die Daten geholt werden sollen im Format: YYYY-MM-DD * **EndTag**: Tag bis zu welchem die Daten geholt werden sollen im Format: YYYY-MM-DD Optionale Parameter: * **Kanalliste**: Kommaseparierte Liste der zu holenden Kanäle: z.B. 1,6,12,34. Um alle Kanäle zu holen, kann statt einer Liste von Kanalnummer auch der Parameter "all" gesetzt werden. * **DateTime: Datums- und Zeitformat in der Kanalliste**: Integer: 0/1 * 0 (default):"dateTime": "2020-04-01 00:00:00" * 1: "date": "2020-04-01", "time": "00:00:00" * **GeoData**: Bool: 0/1 - Liefert Längen- und Breitengrad der Station sowie einen Kommentar * **MetaTags**: Zeigt alle Metadaten zur Station und den Kanälen. Metadaten können in der Datei stationsname.inf unter dem keyword API_Channel_Meta_Data je Kanal hinterlegt werden. Weitere Metadaten der Station können in der Sektion [Station_Meta_Data] hinterlegt werden. Zusätzlich werden die Einträge der WebVIS Filter der Stationsübersicht ausgegeben. Um die optionalen Parameter nutzen zu können müssen diese in fester Reihenfolge genannt werden. Optionale Parameter am Ende dürfen frei bleiben, z.B.\\ Abruf aller Kanäle mit Datum- und Zeitformat getrennt:\\ https://logstar-online.de/api/{apiKey}/{Stationsname}/{StartTag}/{EndTag}/0/1 Abruf bestimmter Kanäle mit Geodaten:\\ https://logstar-online.de/api/{apiKey}/{Stationsname}/{StartTag}/{EndTag}/2,5,8/0/1 Abruf bestimmter Kanäle mit Geodaten und Metadaten:\\ https://logstar-online.de/api/{apiKey}/{Stationsname}/{StartTag}/{EndTag}/2,5,8/0/1/1 ===== URL Schema Abruf aller Stationen und deren Daten ===== https://logstar-online.de/api/{apiKey}/all-stations/{StartTag}/0 Pflichtparameter: * **apiKey**: Diesen finden Sie in Ihrem Backend unter 'Account verwalten' -> 'DB Api-Key'. Der apiKey ist für alle Benutzer und für alle Stationen identisch. * **StartTag**: Tag ab welchem die Daten geholt werden sollen im Format: YYYY-MM-DD * **EndTag**: 0 Optionale Parameter: * **MetaData**: 1 - URL Schema für Abruf aller Stationen inkl. deren Metadaten: https://logstar-online.de/api/{apiKey}/all-stations/{StartTag}/0/0/0/0/1 Über des Schlüsselwort "**all-stations**" können Sie alle ihre Stationen abrufen. Als Rückgabe erhalten Sie ein json-request in der Form: "Stationsname": { "last_data_entry": "2023-06-13 19:30:00", "location_name": "Von ihnen vergebener Name", "station_geo_location": { "latitude": "58.656437", "longitude": "23.609131", "location_comment": "Von ihnen vergebener Kommentar" }, "stationInfo": { "data": "Filter Data", "project": "Filter Projekt", "individual": "individueller Filter" } }, ===== Fehlermeldungen ===== Fehlermeldungen werden ebensfalls als json Response zurückgeben in der Form: ''{"error":"Start date is earlier than end date "}''