API-Übersicht
Dieser API-Endpunkt liefert Daten zu Zählern für Assets in der Railnova-Plattform, wie z. B. Kilometer und Betriebsstunden. Die Daten werden in einer abgeflachten Struktur dargestellt, um die Nutzung zu erleichtern. Der Endpunkt ermöglicht das Filtern und Ordnen, und die Ergebnisse werden mit LinkHeader-Paginierung aufbereitet.
Endpunkt URL:
https://{company}.railnova.eu/api/v2/counters/flattened.json
Methode: GET
Authentifizierung
Eine einfache Authentifizierung mit gültigen Benutzerdaten für die Railnova-Plattform ist erforderlich.
API-Details
Antwort-Beispiel:
{
"id": 6947,
"asset_id": 12963,
"asset_name": "Flying Scotsman",
"asset_uic": null,
"asset_class_id": 260,
"asset_class_name": "A1",
"is_immobilised": false,
"telematic_source_message": "gps_km",
"telematic_source_column": "period_km",
"name": "gps_km",
"aggregate": "increment",
"value": "2241.0",
"unit": "km",
"daily_average_30d": "365.0",
"last_update": "2024-09-15T09:00:00+01:00",
"component_type_id": null,
"component_type_name": null,
"component_id": null,
"component_name": null,
"component_serial": null,
"data_freshness_first_threshold": "15",
"data_freshness_second_threshold": "60"
}
Beschreibung der Felder
id: Eindeutige Kennung für den Zähler
asset_id: Eindeutige Kennung für das zugehörige Asset (z. B. Lokomotive, Wagen)
asset_name: Name des Assets (z. B. „Flying Scotsman“)
asset_uic: UIC-Nummer für das Asset, falls vorhanden
asset_class_id: Eindeutige Kennung für den Fahrzeugstyp (z. B. 260 für A1)
asset_class_name: Name des Fahrzeugstyps (z. B. "A1")
is_immobilised: Boolescher Wert, der angibt, ob das Asset derzeit immobilisiert ist oder nicht
telematic_source_message: Telematik-Quelle, die sich auf die Zählerdaten bezieht (z. B. „gps_km“)
telematic_source_column: Telematik-Spalte, in der die spezifischen Zählerdaten gespeichert sind (z. B. "period_km")
name: Name des Zählers (z. B. „gps_km“)
aggregate: Für den Zählerwert verwendete Aggregationsmethode (Optionen sind „inkrementell“ und „absolut“)
value: Aktueller Wert des Zählers (z. B. „2241.0“ km)
unit: Maßeinheit für den Zählerwert (z. B. „km“ für Kilometer)
daily_average_30d: Durchschnittliches tägliches Inkrement für den Zähler in den letzten 30 Tagen
last_update: Datum und Uhrzeit der letzten Aktualisierung des Zählers (Format ISO 8601)
component_type_id: Kennung für den Komponententyp, der mit dem Zähler verbunden ist, falls zutreffend
component_type_name: Name des Komponententyps, der mit dem Zähler verbunden ist, falls zutreffend
component_id: Kennung der spezifischen Komponente, die mit dem Zähler verbunden ist, falls zutreffend
component_name: Name der spezifischen Komponente, die mit dem Zähler in Verbindung steht, falls zutreffend
component_serial: Seriennummer der mit dem Zähler verknüpften Komponente, falls zutreffend
data_freshness_first_threshold: Erster Schwellenwert für die Bestimmung der Datenfrische (z. B. nach 15 Tagen können die Daten als veraltet gelten)
data_freshness_second_threshold: Zweiter Schwellenwert für die Datenfrische (z. B. nach 60 Tagen müssen die Daten möglicherweise bearbeitet werden)
Abfrage-Parameter
Die folgenden Abfrageparameter werden für die Filterung der Daten unterstützt:
asset_id: Filter nach Asset-ID
asset_uic: Filter nach UIC-Nummer des Assets
asset_class_id: Filter nach der Fahrzeugsklassen-ID
asset_class_name: Filter nach dem Namen des Assets (z. B. "Flying Scotsman")
asset_name: Filter nach dem Namen des Assets (z. B. "A1")
telematic_source_message: Filter nach der Telematik-Quelle (z. B. "gps_km")
telematic_source_column: Filter nach der Telematik-Spalte (z. B. "period_km")
aggregate: Filter nach der Art der Aggregation (z. B. “Inkrement“)
name: Filtern nach dem Zählernamen
last_update__gt: Gibt nur Ergebnisse zurück, bei denen last_update größer als ein bestimmtes Datum ist (Format: JJJJ-MM-TT)
last_update__lt: Gibt nur Ergebnisse zurück, bei denen last_update kleiner als ein bestimmtes Datum ist (Format: JJJJ-MM-TT)
Beispiel einer gefilterten Anfrage:
GET https://{company}.railnova.eu/api/v2/counters/flattened.json?asset_name=SKL429&last_update__gt=2022-01-01
Sortierung
Die Ergebnisse können mit dem Abfrageparameter "ordering" geordnet werden. Die folgenden Werte werden unterstützt:
name: ordnet die Ergebnisse nach dem Zählernamen
last_update_date: ordnet die Ergebnisse nach dem letzten Aktualisierungsdatum
daily_avg: ordnet die Ergebnisse nach dem täglichen Durchschnitt der letzten 30 Tage
counter_type__name: ordnet die Ergebnisse nach dem Namen des Zählertyps an
asset__name: ordnet die Ergebnisse nach dem Assetnamen
Beispiel für eine sortierte Anfrage:
GET https://{company}.railnova.eu/api/v2/counters/flattened.json?ordering=last_update_date
Die Reihenfolge kann umgekehrt werden, indem man ein „-“ vor dem Wert setzt.
Beispiel für eine sortierte Anfrage (umgekehrt):
GET https://{company}.railnova.eu/api/v2/counters/flattened.json?ordering=-last_update_date
Paginierung
Die API verwendet LinkHeader-Paginierung.
Fehler-Codes
401 Unauthorized: Authentifizierung fehlgeschlagen. Überprüfe den Benutzernamen und das Passwort.
400 Bad Request: Die Anforderungsparameter sind ungültig.
404 Not Found: Die angeforderte Ressource konnte nicht gefunden werden.
Support
Hast du noch Fragen? Dann geh auf die Railnova-Plattform und klick auf "Kontakt", um Hilfe zu erhalten!