sncf_notification
Notification des prochains départs SNCF basé sur les données remontées sur les écrans DEPART/ARRIVES présents en gare, et rendus accessible par Gare & Connexion https://www.garesetconnexions.sncf/fr/gare/frenc/ Attention cette API est à destination du bidouilleur du dimanche qui a la possibilité de réaliser des appels crons facilement.
Mise à jour du 03/10/2022
L'api Gare&Connexion n'est plus disponible sous la forme attendue. Il semblerait qu'une mise à jour ait eu lieu et qu'un changement d'api coté G&C rende la version actuelle de ce service obsolète. Le travail de mise à jour est en cours.
Use case
En tant qu'usager TER/TGV, j'ai le besoin récurrent de connaître le statut de mon train du soir ou du matin : Je veux savoir si mon train est à l'heure, et à quelle voie mon train démarre.
Solution
Cette API permet de notifier par SMS l'utilisateur, lors d'un changement de statut des trains au départ correspondant aux paramètres passés en appel. Les paramètres à indiquer sont ceux de la gare de départ, ainsi que la/les gars de destination des trains.
Usage
GET https://sncf.cactuscrew.com/api?phone={phone}&station={station}&dest[]={dest}&type[]={type}
Paramètres
phone, requis : numéro de téléphone à notifier station, requis : trigramme Gare & Connexion de la gare de départ. eg : NCY pour Nancy, MTZ pour Metz dest, optionnel : Nom du terminus de destination Si dest n'est pas passé, l'API déclenchera une notification sur le changement de statut du prochain train au départ de la gare passée en paramêtre station. type, optionnel : Type de train TER, TGV, sous forme de tableau de param, ou sous forme de chaine avec séparateur | : eg ter|tgv
Exemple d'implémentation fonctionnelle :
Dans une crontab : Je déclenche une remontée automatique entre 7h et 8h les jours de la semaine sur la gare de mon domicile Et idem le soir depuis la gare du travail.
*/5 8 * * 1-5 curl 'https://sncf.cactuscrew.com/api/?phone=06xxxxxxxx&station=DDD&dest[]=TTT&type=ter' --globoff
*/5 18 * * 1-5 curl 'https://sncf.cactuscrew.com/api/?phone=06xxxxxxxx&station=TTT&dest[]=DDD1&dest[]=DDD2&type=ter' --globoff
Exemple de notification
Prochain départ pour METZ VILLE
Train n°837571 prévu à 18:28
Voie 8
FAQ / Annexes
Comment récupérer le trigramme de la gare de départ ?
: Rechercher sur votre moteur de recherche préféré la page Gare et Connexion de votre gare. exemple : "Gare et Connexion Nancy"
: Coller ce bout de JS dans la console de votre navigateur pour récupérer le trigramme de la gare :
var strout="Le trigramme de la gare de " +dataLayer[0].sncfGlobal_pageName+" est : " +JSON.parse(document.getElementById("station-board") .attributes.tabs.value)[0].tvs;console.log(strout),alert(strout);
A quoi correspond la destination à indiquer dans les paramètres ?
Il s'agit du terminus du train en toutes lettres, tel qu'il remonte habituellement sur l'écran de la gare. A savoir : il est possible, voire souhaitable, d'indiquer en parametre plusieurs destinations, car certaines lignes de trains peuvent avoir plusieurs terminus. Exemple, depuis Nancy,les trains deservant la gare de Bayon peuvent avoir deux terminus : Epinal ou Remiremont. Dans le cas ou le paramètre est vide ou non renseigné l'API se focusera sur le premier train au départ de la gare de départ.
Existe t'il une limitation sur les appels sur cette API ?
Oui, vous êtes limité à 2 appels par minute.
Quelle test la "fraicheur" des données traitées ?
Afin d'éviter de tabasser le tiers, un cache de 5 minutes est mis en place vers la récupération des infos issues de Gare & Connexions.
Mon numéro de téléphone n'est pas autorisé.
Envoyer une demande d'autorisation à sncf@cactuscrew.com en n'oubliant de mentionner votre n° de portable.
Je misère à mettre en place mon/mes crons
Envoyer une demande à sncf@cactuscrew.com, contre un café, je peux mettre en place pour vous la crontab directement sur mon raspi.