Ceci est une ancienne révision du document !


Exemple de réponse d'un item (une circulation)

Voici un des items obtenus. Sa lecture vous sera assez simple, quelques points cependant.
{
    "calendars": [
Liste des périodes de validité de la circulation donnée. Ici, les données présentées signifient que le train circule du 28/08/2017 au 02/09/2017 les lundi, mardi, mercredi, jeudi et vendredi.
Ce n'est pas la manière la plus simple de récupérer ces données de validité, le validity_pattern contenu en fin de réponse est nettement plus simple à prendre en compte informatiquement.
       {
            "active_periods": [
               {
                    "begin": "20170828",
                    "end": "20170902"
                }
            ],
            "week_pattern": {
                "friday": true,
                "monday": true
                "thursday": true,
                "tuesday": true,
                "wednesday": true,
            }
        }
    ],
« codes » et « disruptions » ne nous intéressent pas, nous voulons juste les horaires et circulations théoriques.
    "codes": [],
    "disruptions": [],
L'identification de la circulation se fait logiquement par le numéro de circulation SNCF « name » attention cependant, il n'est pas toujours unique (des bus partagent parfois des mêmes numéros, voire du FRET avec du Transilien, pas totalement fiable !), et l'id qui lui est forcément unique (vous aurez remarqué qu'il contient le numéro SNCF).
    "id": "vehicle_journey:OCE:SN855807F01001",
    "journey_pattern": {
        "id": "journey_pattern:2",
        "name": "journey_pattern:2"
    },
    "name": "855807",
Les stop_times sont en réalité la liste des arrêts avec les heures d'arrivée et de départ, headsign correspond au numéro de la circulation affiché (attention à la parité, ou aux lignes Transiliennes) ainsi que le lieu stop_point
    "stop_times": [
       {
            "arrival_time": "060000"
            "departure_time": "060000",
            "headsign": "855807",
Un arrêt est déterminé par sa géolocalisation (lat/lon), son id unique, qui contient notamment à sa fin le numéro UIC de l'arrêt sur 2+6 chiffres.
Le label est le nom de l'arrêt ou de la gare, name également (à discriminer ?).
            "stop_point": {
                "coord": {
                    "lat": "48.103533",
                    "lon": "-1.672321"
                },
                "equipments": [],
                "id": "stop_point:OCE:SP:TrainTER-87471003"
                "label": "Rennes (Rennes)",
                "links": [],
                "name": "Rennes",
            },
        },
       {...},
       {...},
       {...},
       {...},
       {...},
       {...},
       {...},
       {...}
    ],
    "trip": {
        "id": "OCE:SN855807F01001",
        "name": "855807"
    }
    "validity_pattern": {
        "beginning_date": "20170703",
        "days": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111100000000000000000000000000000000000000000000000000000000"
    },
}