Passer au contenu principal
Documentation API: Compteurs

Comment interroger l'API des compteurs et travailler efficacement avec des données filtrées et ordonnées.

Mis à jour il y a plus d'un mois

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 !

Avez-vous trouvé la réponse à votre question ?