Présentation de l'API
Ce point de terminaison API fournit des données concernant les compteurs des matériels roulants de la plateforme Railnova, tels que les kilomètres et les heures moteur. Les données sont présentées dans une structure aplatie, ce qui facilite leur utilisation. Le point de terminaison permet de filtrer et d'ordonner, et les résultats sont paginés en utilisant la pagination LinkHeader.
URL du point de terminaison:
https://{company}.railnova.eu/api/v2/counters/flattened.json
Méthode: GET
Authentification
Une authentification de base avec un identifiant d'utilisateur valide de la plateforme Railnova est requise.
Détails de l'API
Exemple de réponse:
{
"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"
}
Description des champs
id: Identifiant unique du compteur
asset_id: Identifiant unique du matériel roulant associé (par exemple, locomotive, wagon)
asset_name: Nom du matériel roulant (par exemple, « Flying Scotsman »)
asset_uic: Numéro UIC du matériel roulant, s'il est disponible
asset_class_id: Identifiant unique du type de matériel roulant (par exemple, 260 pour A1)
asset_class_name: Nom du type de matériel roulant (par exemple, "A1")
is_immobilised: Valeur booléenne indiquant si le matériel roulant est actuellement immobilisé ou non
telematic_source_message: Message source télématique lié aux données du compteur (par exemple, "gps_km")
telematic_source_column: Colonne de la source télématique qui stocke les données spécifiques du compteur (par exemple, "period_km")
name: Nom du compteur (par exemple, "gps_km").
aggregate: Méthode d'agrégation utilisée pour la valeur du compteur (les options sont "incrément" et "absolu")
value: Valeur actuelle du compteur (par exemple, "2241.0" km).
unit: Unité de mesure de la valeur du compteur (par exemple, "km" pour les kilomètres)
daily_average_30d: Incrément quotidien moyen du compteur au cours des 30 derniers jours
last_update: Date et heure de la dernière mise à jour du compteur (format ISO 8601)
component_type_id: Identifiant du type de composant lié au compteur, le cas échéant
component_type_name: Nom du type de composant lié au compteur, le cas échéant
component_id: Identifiant du composant spécifique lié au compteur, le cas échéant
component_name: Nom du composant spécifique lié au compteur, le cas échéant
component_serial: Numéro de série du composant lié au compteur, le cas échéant
data_freshness_first_threshold: Première valeur seuil pour déterminer la fraîcheur des données (par exemple, après 15 jours, les données peuvent être considérées comme périmées)
data_freshness_second_threshold: Deuxième seuil de fraîcheur des données (par exemple, après 60 jours, les données peuvent nécessiter une intervention)
Paramètres de requête
Les paramètres de requête suivants sont pris en charge pour filtrer les données:
asset_id: Filtre sur l'identifiant du matériel roulant
asset_uic: Filtre sur le numéro UIC du matériel roulant
asset_class_id: Filtre sur l'identifiant du type de matériel roulant
asset_class_name: Filtre sur le nom du type de matériel roulant (par exemple, « Flying Scotsman »)
asset_name: Filtre sur le nom du matériel roulant (par exemple, "A1")
telematic_source_message: Filtre sur le message de la source télématique (par exemple, "gps_km")
telematic_source_column: Filtre sur la colonne de la source télématique (par exemple, "period_km")
aggregate: Filtre sur le type d'agrégation (par exemple, "increment")
name: Filtre sur le nom du compteur
last_update__gt: Ne renvoie que les résultats dont la dernière mise à jour est supérieure à la date spécifiée (format : AAAA-MM-JJ)
last_update__lt: Ne renvoie que les résultats pour lesquels la dernière mise à jour est inférieure à la date spécifiée (format : AAAA-MM-JJ)
Exemple d'une requête filtrée:
GET https://{company}.railnova.eu/api/v2/counters/flattened.json?asset_name=SKL429&last_update__gt=2022-01-01
Classement
Les résultats peuvent être classés à l'aide du paramètre de requête "ordering". Les valeurs suivantes sont prises en charge:
name: classe les résultats en fonction du nom du compteur
last_update_date: classe les résultats en fonction de la date de la dernière mise à jour
daily_avg: classe les résultats en fonction de la moyenne quotidienne des 30 derniers jours
counter_type__name: classe les résultats par nom du type de compteur
asset__name: classe les résultats par nom du matériel roulant
Exemple d'une requête classée:
GET https://{company}.railnova.eu/api/v2/counters/flattened.json?ordering=last_update_date
L'ordre peut être inversé en ajoutant " - " devant la valeur de classement
Exemple d'une requête classée inversée:
GET https://{company}.railnova.eu/api/v2/counters/flattened.json?ordering=-last_update_date
Pagination
L'API utilise la pagination LinkHeader.
Codes d'erreur
401 Unauthorized: L'authentification a échoué. Vérifiez le nom d'utilisateur et le mot de passe
400 Bad Request: Les paramètres de la demande ne sont pas valides
404 Not Found: La ressource demandée n'a pas été trouvée
Support
Vous avez encore des questions ? Rendez-vous sur la plateforme Railnova et cliquez sur "Nous contacter" pour obtenir de l'aide !