-
Notifications
You must be signed in to change notification settings - Fork 10
Documentazione API FS
le api qua documentate si riferiscono all'ENDPOINT http://www.viaggiatreno.it/infomobilita/resteasy/viaggiatreno
link alle sezioni:
-
-
Interroga l'EP dati almeno 3 caratteri riguardanti un nome di una stazione
oppure
GET
/autocompletaStazioneNTS/{string:nomeStazione}
http://www.viaggiatreno.it/infomobilita/resteasy/viaggiatreno/autocompletaStazione/RHO
Formato proprietario:
{NOME_STAZIONE}|{ID_STAZIONE} RHO|S01037 RHO FIERA MILANO|S01039 -
In alternativa questa ricerca mostra informazioni più complete in json relative ad una stazione
http://www.viaggiatreno.it/infomobilita/resteasy/viaggiatreno/cercaStazione/RHO
Formato JSON:
[ { "nomeLungo": "RHO", "nomeBreve": "Rho", "label": null, "id": "S01037" }, { "nomeLungo": "RHO FIERA MILANO", "nomeBreve": "Rho Fiera", "label": null, "id": "S01039" } ] -
O ancora, elenco stazioni per regione
http://www.viaggiatreno.it/infomobilita/resteasy/viaggiatreno/elencoStazioni/1 (1 = piemonte)
Formato JSON:
[ { "codReg": 1, "tipoStazione": 3, "dettZoomStaz": [], "pstaz": [], "mappaCitta": { "urlImagePinpoint": "", "urlImageBaloon": "" }, "codiceStazione": "S01427", "codStazione": "S01427", "lat": 46.16198, "lon": 9.651374, "latMappaCitta": 0.0, "lonMappaCitta": 0.0, "localita": { "nomeLungo": "ARDENNO MASINO", "nomeBreve": "Ardenno Masino", "label": "", "id": "S01427" }, "esterno": false, "offsetX": 0, "offsetY": 0, "nomeCitta": "A" }, ... ]
-
-
-
Dato il codice di stazione trova la regione di appartenenza
Formato INT: il numero della regione
-
Dettagli per una stazione
Formato JSON: alcuni dati sulla stazione
-
Ottiene i dati sul tabellone delle partenze di una stazione
NB: il campo
dateTimeaccetta solo il seguente formato con i nomi dei giorni e mesi in inglese (formato datetime JavaScript)abbreviazione_nome_giorno abb_nome_mese dd yyyy hh:mm:ss GMT+0100 (...), quindi una data accettata sarebbeWed Jan 07 2015 18:58:25 GMT+0100 (ora solare Europa occidentale)il formato data sopra citato si può ottenere nel linguaggio JavaScript e nel linguaggio PHP come sotto mostrato.
JS
let now = (new Date()).toString(); //Sun May 26 2024 16:31:33 GMT+0200 (Ora legale dell’Europa centrale)
PHP (la parte "appesa" alla stringa generata da date è invariabile tolto il caso di passaggio da orario legale ad orario solare)
$now = date('D M d Y H:i:s ') . " GMT+0200 (Ora legale dell’Europa centrale)"; //Sun May 26 2024 16:31:33 GMT+0200 (Ora legale dell’Europa centrale)
Formato JSON: molti dei campi utili sono null costringendo chi usa questo EP a dover fare ulteriori richieste ad altri ep: esempio lampante ne è il codice stazione arrivo null mentre compare solo il nome e viceversa per quanto riguarda la partenza
[ { "numeroTreno": 2105, "categoria": "REG", "categoriaDescrizione": "REG", "origine": null, "codOrigine": "S00219", "destinazione": "GENOVA BRIGNOLE", "codDestinazione": null, "origineEstera": null, "destinazioneEstera": null, "oraPartenzaEstera": null, "oraArrivoEstera": null, "tratta": 0, "regione": 0, "origineZero": null, "destinazioneZero": null, "orarioPartenzaZero": null, "orarioArrivoZero": null, "circolante": false, "codiceCliente": 2, "binarioEffettivoArrivoCodice": null, "binarioEffettivoArrivoDescrizione": null, "binarioEffettivoArrivoTipo": null, "binarioProgrammatoArrivoCodice": null, "binarioProgrammatoArrivoDescrizione": null, "binarioEffettivoPartenzaCodice": "159", "binarioEffettivoPartenzaDescrizione": "4", "binarioEffettivoPartenzaTipo": "0", "binarioProgrammatoPartenzaCodice": null, "binarioProgrammatoPartenzaDescrizione": null, "subTitle": null, "esisteCorsaZero": null, "orientamento": null, "inStazione": false, "haCambiNumero": false, "nonPartito": true, "provvedimento": 0, "riprogrammazione": "N", "orarioPartenza": 1716733800000, "orarioArrivo": null, "stazionePartenza": null, "stazioneArrivo": null, "statoTreno": null, "corrispondenze": null, "servizi": null, "ritardo": 0, "tipoProdotto": "0", "compOrarioPartenzaZeroEffettivo": "16:30", "compOrarioArrivoZeroEffettivo": null, "compOrarioPartenzaZero": "16:30", "compOrarioArrivoZero": null, "compOrarioArrivo": null, "compOrarioPartenza": "16:30", "compNumeroTreno": "REG 2105", "compOrientamento": [ "--", "--", "--", "--", "--", "--", "--", "--", "--" ], "compTipologiaTreno": "regionale", "compClassRitardoTxt": null, "compClassRitardoLine": null, "compImgRitardo2": "/vt_static/img/legenda/icone_legenda/nonpartito.png", "compImgRitardo": "/vt_static/img/legenda/icone_legenda/nonpartito.png", "compRitardo": [ "non partito", "not departed", "keine Partei", "pas encore partit", "no salió", "nu a plecat", "未発車", "未出发", "не отправленный" ], "compRitardoAndamento": [ "non partito", "not departed", "keine Partei", "pas encore partit", "no salió", "nu a plecat", "未発車", "未出发", "не отправленный" ], "compInStazionePartenza": [ "", "", "", "", "", "", "", "", "" ], "compInStazioneArrivo": [ "", "", "", "", "", "", "", "", "" ], "compOrarioEffettivoArrivo": null, "compDurata": "", "compImgCambiNumerazione": " ", "materiale_label": null, "dataPartenzaTreno": 1716674400000 }... ] -
stesso discorso delle partenze
Formato JSON
[ { "numeroTreno": 2132, "categoria": "REG", "categoriaDescrizione": "REG", "origine": "GENOVA P.PRINCIPE", "codOrigine": "S04700", "destinazione": null, "codDestinazione": null, "origineEstera": null, "destinazioneEstera": null, "oraPartenzaEstera": null, "oraArrivoEstera": null, "tratta": 0, "regione": 0, "origineZero": null, "destinazioneZero": null, "orarioPartenzaZero": null, "orarioArrivoZero": null, "circolante": true, "codiceCliente": 2, "binarioEffettivoArrivoCodice": "162", "binarioEffettivoArrivoDescrizione": "7", "binarioEffettivoArrivoTipo": "0", "binarioProgrammatoArrivoCodice": null, "binarioProgrammatoArrivoDescrizione": "8", "binarioEffettivoPartenzaCodice": null, "binarioEffettivoPartenzaDescrizione": null, "binarioEffettivoPartenzaTipo": null, "binarioProgrammatoPartenzaCodice": null, "binarioProgrammatoPartenzaDescrizione": null, "subTitle": null, "esisteCorsaZero": null, "orientamento": null, "inStazione": true, "haCambiNumero": false, "nonPartito": false, "provvedimento": 0, "riprogrammazione": "N", "orarioPartenza": null, "orarioArrivo": 1716733800000, "stazionePartenza": null, "stazioneArrivo": null, "statoTreno": null, "corrispondenze": null, "servizi": null, "ritardo": 0, "tipoProdotto": "0", "compOrarioPartenzaZeroEffettivo": null, "compOrarioArrivoZeroEffettivo": null, "compOrarioPartenzaZero": null, "compOrarioArrivoZero": null, "compOrarioArrivo": "16:30", "compOrarioPartenza": null, "compNumeroTreno": "REG 2132", "compOrientamento": [ "--", "--", "--", "--", "--", "--", "--", "--", "--" ], "compTipologiaTreno": "regionale", "compClassRitardoTxt": "", "compClassRitardoLine": "regolare_line", "compImgRitardo2": "", "compImgRitardo": "/vt_static/img/legenda/icone_legenda/regolare.png", "compRitardo": [ "in orario", "on time", "pünktlich", "à l'heure", "en horario", "conform orarului", "定刻", "按时", "по расписанию" ], "compRitardoAndamento": [ "in orario", "on time", "pünktlich", "à l'heure", "en horario", "conform orarului", "定刻", "按时", "по расписанию" ], "compInStazionePartenza": [ "Partito", "Departed", "angefährt", "Partit", "Salido", "Plecat", "発車済", "已出发", "отправленный" ], "compInStazioneArrivo": [ "Arrivato", "Arrived", "angekommen", "Arrivé", "Llegado", "Sosit", "到着済", "已到达", "прибывший" ], "compOrarioEffettivoArrivo": "/vt_static/img/legenda/icone_legenda/regolare.png16:30", "compDurata": "", "compImgCambiNumerazione": " ", "materiale_label": null, "dataPartenzaTreno": 1716674400000 }... ]
-
-
-
Andamento treno: ottiene tutti i dati relativi ad un treno, è necessario fornire il codice della stazione da cui parte perchè i codici treno non sono univoci ma un treno è identificato dal suo codice e dalla stazione da cui parte
Formato JSON:
{ "tipoTreno": "PG", "orientamento": null, "codiceCliente": 4, "fermateSoppresse": null, "dataPartenza": null, "fermate": [ { "orientamento": null, "kcNumTreno": null, "stazione": "LECCE", "id": "S11145", "listaCorrispondenze": null, "programmata": 1716747900000, "programmataZero": null, "effettiva": null, "ritardo": 0, "partenzaTeoricaZero": null, "arrivoTeoricoZero": null, "partenza_teorica": 1716747900000, "arrivo_teorico": null, "isNextChanged": false, "partenzaReale": null, "arrivoReale": null, "ritardoPartenza": 0, "ritardoArrivo": 0, "progressivo": 1, "binarioEffettivoArrivoCodice": null, "binarioEffettivoArrivoTipo": null, "binarioEffettivoArrivoDescrizione": null, "binarioProgrammatoArrivoCodice": null, "binarioProgrammatoArrivoDescrizione": null, "binarioEffettivoPartenzaCodice": null, "binarioEffettivoPartenzaTipo": null, "binarioEffettivoPartenzaDescrizione": null, "binarioProgrammatoPartenzaCodice": null, "binarioProgrammatoPartenzaDescrizione": "3", "tipoFermata": "P", "visualizzaPrevista": true, "nextChanged": false, "nextTrattaType": 2, "actualFermataType": 0, "materiale_label": null }, { "orientamento": null, "kcNumTreno": null, "stazione": "BRINDISI", "id": "S11136", "listaCorrispondenze": null, "programmata": 1716749460000, "programmataZero": null, "effettiva": null, "ritardo": 0, "partenzaTeoricaZero": null, "arrivoTeoricoZero": null, "partenza_teorica": 1716749580000, "arrivo_teorico": 1716749460000, "isNextChanged": false, "partenzaReale": null, "arrivoReale": null, "ritardoPartenza": 0, "ritardoArrivo": 0, "progressivo": 6, "binarioEffettivoArrivoCodice": null, "binarioEffettivoArrivoTipo": null, "binarioEffettivoArrivoDescrizione": null, "binarioProgrammatoArrivoCodice": null, "binarioProgrammatoArrivoDescrizione": "3", "binarioEffettivoPartenzaCodice": null, "binarioEffettivoPartenzaTipo": null, "binarioEffettivoPartenzaDescrizione": null, "binarioProgrammatoPartenzaCodice": null, "binarioProgrammatoPartenzaDescrizione": "3", "tipoFermata": "F", "visualizzaPrevista": true, "nextChanged": false, "nextTrattaType": 2, "actualFermataType": 0, "materiale_label": null }, ... { "orientamento": null, "kcNumTreno": null, "stazione": "TORINO P.NUOVA", "id": "S00219", "listaCorrispondenze": null, "programmata": 1716794700000, "programmataZero": null, "effettiva": null, "ritardo": 0, "partenzaTeoricaZero": null, "arrivoTeoricoZero": null, "partenza_teorica": null, "arrivo_teorico": 1716794700000, "isNextChanged": false, "partenzaReale": null, "arrivoReale": null, "ritardoPartenza": 0, "ritardoArrivo": 0, "progressivo": 171, "binarioEffettivoArrivoCodice": null, "binarioEffettivoArrivoTipo": null, "binarioEffettivoArrivoDescrizione": null, "binarioProgrammatoArrivoCodice": null, "binarioProgrammatoArrivoDescrizione": "7", "binarioEffettivoPartenzaCodice": null, "binarioEffettivoPartenzaTipo": null, "binarioEffettivoPartenzaDescrizione": null, "binarioProgrammatoPartenzaCodice": null, "binarioProgrammatoPartenzaDescrizione": null, "tipoFermata": "A", "visualizzaPrevista": true, "nextChanged": false, "nextTrattaType": 2, "actualFermataType": 0, "materiale_label": null } ], "anormalita": null, "provvedimenti": null, "segnalazioni": null, "oraUltimoRilevamento": null, "stazioneUltimoRilevamento": "--", "idDestinazione": "S00219", "idOrigine": "S11145", "cambiNumero": [], "hasProvvedimenti": false, "descOrientamento": [ "--", "--", "--", "--", "--", "--", "--", "--", "--" ], "compOraUltimoRilevamento": "--", "motivoRitardoPrevalente": null, "descrizioneVCO": "", "materiale_label": null, "numeroTreno": 754, "categoria": "ICN", "categoriaDescrizione": null, "origine": "LECCE", "codOrigine": null, "destinazione": "TORINO P.NUOVA", "codDestinazione": null, "origineEstera": null, "destinazioneEstera": null, "oraPartenzaEstera": null, "oraArrivoEstera": null, "tratta": 0, "regione": 0, "origineZero": "LECCE", "destinazioneZero": "TORINO P.NUOVA", "orarioPartenzaZero": 1716747900000, "orarioArrivoZero": 1716794700000, "circolante": true, "binarioEffettivoArrivoCodice": null, "binarioEffettivoArrivoDescrizione": null, "binarioEffettivoArrivoTipo": null, "binarioProgrammatoArrivoCodice": null, "binarioProgrammatoArrivoDescrizione": null, "binarioEffettivoPartenzaCodice": null, "binarioEffettivoPartenzaDescrizione": null, "binarioEffettivoPartenzaTipo": null, "binarioProgrammatoPartenzaCodice": null, "binarioProgrammatoPartenzaDescrizione": null, "subTitle": "", "esisteCorsaZero": "0", "inStazione": false, "haCambiNumero": false, "nonPartito": true, "provvedimento": 0, "riprogrammazione": null, "orarioPartenza": 1716747900000, "orarioArrivo": 1716794700000, "stazionePartenza": null, "stazioneArrivo": null, "statoTreno": null, "corrispondenze": null, "servizi": [], "ritardo": 0, "tipoProdotto": "0", "compOrarioPartenzaZeroEffettivo": "20:25", "compOrarioArrivoZeroEffettivo": "09:25", "compOrarioPartenzaZero": "20:25", "compOrarioArrivoZero": "09:25", "compOrarioArrivo": "09:25", "compOrarioPartenza": "20:25", "compNumeroTreno": "ICN 754", "compOrientamento": [ "--", "--", "--", "--", "--", "--", "--", "--", "--" ], "compTipologiaTreno": "nazionale", "compClassRitardoTxt": null, "compClassRitardoLine": null, "compImgRitardo2": "/vt_static/img/legenda/icone_legenda/nonpartito.png", "compImgRitardo": "/vt_static/img/legenda/icone_legenda/nonpartito.png", "compRitardo": [ "non partito", "not departed", "keine Partei", "pas encore partit", "no salió", "nu a plecat", "未発車", "未出发", "не отправленный" ], "compRitardoAndamento": [ "non partito", "not departed", "keine Partei", "pas encore partit", "no salió", "nu a plecat", "未発車", "未出发", "не отправленный" ], "compInStazionePartenza": [ "", "", "", "", "", "", "", "", "" ], "compInStazioneArrivo": [ "", "", "", "", "", "", "", "", "" ], "compOrarioEffettivoArrivo": null, "compDurata": "13:0", "compImgCambiNumerazione": " ", "dataPartenzaTreno": 1716674400000 }-
-
idOrigineeidDestinazione: codici delle stazioni di partenza e destinazione -
origineedestinazione: nomi delle stazioni di partenza e destinazione -
orarioPartenzaeorarioArrivo: orari programmati di partenza da origine e arrivo a destinazione in timestamp -
compOrarioArrivoecompOrarioPartenza: orari programmati di partenza da origine e arrivo a destinazione in formato HH:MM -
compRitardoecompRitardoAndamento: descrizione testuale del ritardo in varie lingue -
oraUltimoRilevamentoestazioneUltimoRilevamento: orario in timestamp e nome della stazione dell'ultimo rilevamento, valgono rispettivamente null e "--" se il treno non è ancora partito oppure è stato soppresso -
origineEstera,destinazioneEstera,oraPartenzaEstera,oraArrivoEstera: valorizzati solo per treni internazionali -
tipoTrenoeprovvedimentocodificano lo stato del treno:-
tipoTrenovale 'PG' eprovvedimentovale 0: treno regolare -
tipoTrenovale 'ST' eprovvedimentovale 1: treno soppresso (in questo caso l'array fermate ha lunghezza 0) -
tipoTrenovale 'PP' oppure 'SI' oppure 'SF' eprovvedimentovale 0 oppure 2: treno parzialmente soppresso (in questo caso uno o più elementi dell'array fermate hanno il campo actualFermataType uguale a 3) -
tipoTrenovale 'DV' eprovvedimentovale 3: treno deviato (da approfondire)
-
-
subTitlese il treno è parzialmente soppresso (tipoTrenoin ('PP', 'SI', 'SF')) contiene una descrizione della tratta cancellata (ad esempio: Treno cancellato da NOVI LIGURE a ALESSANDRIA. Parte da ALESSANDRIA) -
fermate:array, un elemento per ogni fermata, con i seguenti campi principali:-
idestazione: codice e nome della stazione -
tipoFermata: 'P' (stazione di origine), 'A' (stazione di destinazione), 'F' (fermata intermedia) -
ritardoArrivoeritardoPartenza: ritardo in minuti di arrivo e partenza alla stazione, in minuti interi -
ritardo: ritardo in partenza (se tipoFermata=='P') e di arrivo altrimenti, in minuti interi -
arrivoRealeepartenzaReale: orari effettivi di arrivo e partenza nella stazione, in timestamp -
partenza_teoricaearrivo_teorico: orari teorici di partenza e arrivo nella stazione, in timestamp - sono presenti dal 12 marzo 2015 -
programmata: orario programmato di partenza (se tipoFermata=='P') e di arrivo altrimenti, in timestamp -
programmataZero: di solito vale null, è valorizzato in caso di orario riprogrammato -
actualFermataType:-
1 fermata regolare
-
2 fermata non prevista
-
3 fermata soppressa (se
tipoTrenoin ('PP', 'SI', 'SF')) -
0 Dato non disponibile (
arrivoRealee/opartenzaRealevalgono null, può essere perché il treno è ancora in viaggio e deve ancora arrivare nella fermata oppure perché il dato non è stato rilevato)
-
-
partenzaTeoricaZeroearrivoTeoricoZero: da approfondire
-
-
-
-
Dati Fermate: ottiene solo i dati sulle fermate che il treno fa, uguali alla chiamata precedente
-
-
-
Trova la stazione di partenza in base al codice del treno
http://www.viaggiatreno.it/infomobilita/resteasy/viaggiatreno/cercaNumeroTrenoTrenoAutocomplete/754
Formato proprietario: risponde con più righe da cui selezionare quella di interesse
{NUMERO_TRENO} - {STAZIONE_PARTENZA} - {DATA_PARTENZA}|{NUMERO_TRENO}-{ID_STAZIONE_PARTENZA}-{TIMESTAMP_MILLIS_PARTENZA} 754 - LECCE - 25/05/24|754-S11145-1716588000000 754 - LECCE - 26/05/24|754-S11145-1716674400000 -
Ricerca delle soluzioni di viaggio tra due stazioni DISMESSO dal 01/01/2024, sostituito con quello presente su lefrecce.it
NB:
- il campo
idStazionecome avete notato è in formato int, cosa alquanto strana visto che di solito sono del tipoS00123, ma in questo caso il carattere iniziale va tolto (S) come anche tutte le cifre nulle (0) prima della prima cifra non nulla (!= 0)S00123->123 - il campo
dateTimeaccetta solo il seguente formato (formato datetime JAVA)yyyy-mm-ddThh:mm:ss, quindi una data accettata sarebbe2024-05-24T13:05:01
- il campo
Formato JSON:
{ "soluzioni": [ { "durata": "00:54", "vehicles": [ { "origine": "Torino P. Susa", "destinazione": "Bra", "orarioPartenza": "2024-05-07T15:35:00", "orarioArrivo": "2024-05-07T16:29:00", "categoria": "195", "categoriaDescrizione": "SFM", "numeroTreno": "26460" } ] }, { "durata": "00:54", "vehicles": [ { "origine": "Torino P. Susa", "destinazione": "Bra", "orarioPartenza": "2024-05-07T16:35:00", "orarioArrivo": "2024-05-07T17:29:00", "categoria": "195", "categoriaDescrizione": "SFM", "numeroTreno": "26466" } ] }, { "durata": "01:20", "vehicles": [ { "origine": "Torino P. Susa", "destinazione": "Cavallermaggiore", "orarioPartenza": "2024-05-07T17:05:00", "orarioArrivo": "2024-05-07T17:45:00", "categoria": "195", "categoriaDescrizione": "SFM", "numeroTreno": "26774" }, { "origine": "Cavallermaggiore", "destinazione": "Bra", "orarioPartenza": "2024-05-07T18:09:00", "orarioArrivo": "2024-05-07T18:25:00", "categoria": "193", "categoriaDescrizione": "Autobus", "numeroTreno": "TO350" } ] }... ] } -