Une clé d'API est maintenant nécessaire
Une clé d'API est maintenant obligatoire pour chaque requête effectuée sur l'API. L'utilisation de l'API demeure gratuite. La clé nous permet d'obtenir des statistiques d'utilisation et de mettre en place une gestion de droits pour accéder à des informations complémentaires comme l'affluence.
Demandez dès maintenant votre clé en nous contactant à l'adresse ginko.support-ssi@keolis.com
Certaines informations sont disponibles via une API, d'autres sont proposées sous forme d'un jeu de fichiers au format GTFS. Lisez attentivement les informations ci-dessous pour connaître les différences entre ces deux sources de données.
API Temps Réel
Structure des lignes, recherche d'arrêts, horaires de passage en temps réel...
API REST API JavascriptGTFS lignes urbaines et périurbaines
Données théoriques des lignes urbaines et périurbaines Ginko (horaires, itinéraires). Fichier mis à jour à chaque changement d'offre. Les données actuelles sont valables jusqu'au inclus.
TéléchargerL'API permet d'effectuer des requêtes précises pour rechercher des informations à la demande; elle donne également accès aux données temps réel du réseau Ginko (temps d'attente et infos-trafic). Nous vous conseillons de l'utiliser si votre application dispose d'un accès internet permanent lors de son utilisation. Le format GTFS donne accès à toutes les informations statiques du réseau (structure des lignes, horaires théoriques), il peut donc être chargé au démarrage de l'application afin que celle-ci ne soit plus dépendante de la connexion réseau par la suite. Une utilisation conjointe du fichier GTFS et de l'API peut être pertinente si vous développez une application de navigation.
Informations disponibles | API | GTFS |
---|---|---|
Nom et position GPS des arrêts | Oui | Oui |
Structure des lignes | Oui | Oui |
Horaires théoriques | Non | Oui |
Tracé GPS des lignes (en suivant les routes) | Non | Oui |
Informations d'accessibilité des arrêts | Oui | Oui |
Informations d'accessibilité des véhicules | Oui | Non |
Tarifs des titres de transport et abonnements | Oui | Non |
Temps d'attente en temps réel | Oui | Non |
Infos-trafic (perturbations anticipées ou non) | Oui | Non |
Informations temps réel sur les véhicules | Oui | Non |
Prévision d'Affluence de la journée * | Oui | Non |
Affluence temps réel par véhicule | Oui | Non |
Prévision d'affluence temps réel par station | Oui | Non |
En raison de la complexité inhérente aux particularités de ces services, l'ouverture des données des services spéciaux, scolaires, et services à la demande n'est pas planifiée pour le moment.
Les données ouvertes du réseau Ginko sont mises à disposition gratuitement.
Les données sont mises à disposition sous Licence ODbL (Open Database Licence). L'utilisation de l'API et/ou le téléchargement du jeu de données GTFS vaut acceptation de la licence. Cette licence vous impose notamment de mentionner la provenance des informations utilisées par vos développements, ce qui peut se faire par exemple par un lien vers ce site.
Cette licence implique que vous êtes libres de :
à partir de notre base de données ...
Du moment que vous :
Toute modification apportée dans la diffusion des données fera l’objet d’une information sur ce site décrivant les nouvelles modalités dans un délai d’un mois au moins avant application de la modification. Pour être notifié par email de ces modifications, faites-en la demande à l'adresse ginko.support-ssi@keolis.com.
Malgré tout le soin que nous y avons accordé, la documentation peut contenir des inexactitudes. Les informations proposées ne font l'objet d'aucune garantie. La responsabilité de Keolis Besançon Mobilités, exploitant du réseau urbain Ginko, ni celle de Grand Besançon Métropole, Autorité Organisatrice des Mobilités, ne sauraient être engagées en cas de dysfonctionnement temporaire de cette plateforme ou d'inexactitude dans les informations qu'elle fournit.
N'hésitez pas à nous remonter les éventuels bugs et erreurs dans la documentation à l'adresse ginko.support-ssi@keolis.com.
L'API Javascript est un outil facultatif destiné à accélérer le développement de votre application web. Elle fournit un moyen simple et rapide d'interroger l'API bas niveau, de récupérer les résultats et de traiter les erreurs. (Testé avec la dernière version d'Internet Explorer, Firefox et Chrome, mais fonctionne sûrement avec les versions plus anciennes et d'autres navigateurs.)
Il suffit d'inclure le script https://api.ginko.voyage/api.js dans la balise HEAD de votre page, en fournissant votre clé API si vous en avez une, comme ceci:
<script type="text/javascript" src="https://api.ginko.voyage/api.js?apiKey=XXX"></script>
Utilisez ensuite la méthode: ginkoAPI(methodPath, args, success [, error] [, timeout])
pour
interroger l'API:
Paramètre | Type | Description |
---|---|---|
methodPath* | Chaine | Chemin de la méthode de l'API à invoquer. Il est indiqué dans la documentation de chaque méthode
(parcourez les onglets à gauche pour découvrir les méthodes disponibles).
Exemple: DR/getDetailsVariante |
args* | Objet | Objet contenant les paramètres demandés par la méthode de l'API. Si vous n'avez pas de paramètre à
transmettre, spécifiez un objet vide { } . Il n'est pas nécessaire de fournir votre clé
d'API à chaque requête (celle-ci étant fournie lors du chargement de l'API).
Exemple: { idLigne: "3", idVariante: "34-0" } |
success* | Méthode | Méthode callback invoquée en cas de succès de la requête. Reçoit un seul paramètre, qui est le
résultat décapsulé de la méthode de l'API (décrit dans la documentation de la méthode).
Exemple: function(listeArrets){ ... } |
error | Méthode | Méthode callback invoquée en cas d'échec de la requête. Reçoit un message d'erreur en paramètre. Il
n'est pas obligatoire de fournir un callback d'erreur, toutefois, si vous ne le faites pas, votre
application risque de planter discrètement sans que l'utilisateur en soit informé. Si vous ne souhaitez pas fournir ce paramètre, spécifiez null pour pouvoir indiquer le
paramètre suivant.Exemple:
|
timeout | Entier | Délai maximal d'éxécution de la requête, en secondes. Ce paramètre est optionnel (10 secondes par défaut). |
SIRI (Standard Interface for Real-time Information) est la nouvelle norme d'interface Européenne pour l'échange de données en temps réel. Depuis le 18 octobre 2023, SIRI est mis à votre disposition dans notre API, vous pouvez l'essayer avec une clé temporaire (pour une clé définitive, veuillez-nous contacter sur ginko.support-ssi@keolis.com).
SIRI met en place des Web Service de type SOAP et propose un système de communication sous la forme d'abonnements et de requêtes. A l'heure d'aujourd'hui, seul le mode requête a été développé.
Nous avons mis en place 3 Web Services qui sont Stop Monitoring (SM), Estimated Timetable(ET) et General
Message(GM).
Ces services ont été mis en place en suivant le profil
français issu du profil Ile-de-France Mobilité
Comme indiqué précédemment, le protocole d'échange utilisé pour SIRI est le SOAP, un
protocole d'échange HTTP où les requêtes/réponses sont au format XML.
Lors de notre développement nous avons utilisé le logiciel PostMan afin d'effectuer nos requêtes.
De plus, le gouvernement a mis à notre disposition un générateur de requêtes très utile, vous permettant de générer et d'exécuter des requêtes sur nos différents services disponibles.
Générateur de requêteLe service Check Status permet de récupérer l'état de l'API SIRI.
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header></soap:Header>
<soap:Body>
<CheckStatusResponse xmlns:ns6="http://datex2.eu/schema/2_0RC1/2_0" xmlns:ns5="http://www.ifopt.org.uk/ifopt" xmlns:ns2="http://www.siri.org.uk/siri" xmlns:ns4="http://www.ifopt.org.uk/acsb" xmlns:ns3="http://www.opengis.net/gml/3.2">
<ServiceDeliveryInfo>
<ns2:ResponseTimestamp>2024-01-15T13:01:12.267872091+01:00</ns2:ResponseTimestamp>
<ns2:ProducerRef>Ginko</ns2:ProducerRef>
<ns2:ResponseMessageIdentifier>5de614f2-0d26-445f-988a-3fc9a53b0c25</ns2:ResponseMessageIdentifier>
<ns2:RequestMessageRef>Test::Message::be92e19b-7373-44c6-ba1a-20b6dcac3a29</ns2:RequestMessageRef>
</ServiceDeliveryInfo>
<Answer xsi:type="ns2:CheckStatusResponseStructure" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns2:ResponseTimestamp>2024-01-15T13:01:12.26792148+01:00</ns2:ResponseTimestamp>
<ns2:Status>true</ns2:Status>
</Answer>
</CheckStatusResponse>
<soap:Fault></soap:Fault>
</soap:Body>
</soap:Envelope>
Le service Stop Monitoring permet de récupérer les informations de passages en temps réel d'un arrêt du réseau.
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header></soap:Header>
<soap:Body>
<GetStopMonitoringResponse xmlns:ns6="http://datex2.eu/schema/2_0RC1/2_0" xmlns:ns5="http://www.ifopt.org.uk/ifopt" xmlns:ns2="http://www.siri.org.uk/siri" xmlns:ns4="http://www.ifopt.org.uk/acsb" xmlns:ns3="http://www.opengis.net/gml/3.2">
<ServiceDeliveryInfo>
<ns2:ResponseTimestamp>2024-01-15T09:50:24.209870559+01:00</ns2:ResponseTimestamp>
<ns2:ProducerRef>Ginko</ns2:ProducerRef>
<ns2:ResponseMessageIdentifier>815160db-989f-46d2-ae36-fa165d412355</ns2:ResponseMessageIdentifier>
<ns2:RequestMessageRef>Test::Message::d6fc3037-6fb2-465b-a2e4-d4fa3e4a28a0</ns2:RequestMessageRef>
</ServiceDeliveryInfo>
<Answer xsi:type="ns2:StopMonitoringDeliveryStructure" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns2:MonitoringRef>t_hdc1</ns2:MonitoringRef>
<ns2:MonitoringName xml:lang="FR">Hauts du Chazal</ns2:MonitoringName>
<ns2:MonitoredStopVisit>
<ns2:RecordedAtTime>2024-01-15T09:50:14.501144796+01:00</ns2:RecordedAtTime>
<ns2:ItemIdentifier>t_hdc1-8555737</ns2:ItemIdentifier>
<ns2:MonitoringRef>t_hdc1</ns2:MonitoringRef>
<ns2:MonitoredVehicleJourney>
<ns2:LineRef>101</ns2:LineRef>
<ns2:DirectionRef>Aller</ns2:DirectionRef>
<ns2:PublishedLineName xml:lang="FR">T1</ns2:PublishedLineName>
<ns2:OriginRef>t_hdc1</ns2:OriginRef>
<ns2:OriginName xml:lang="FR">Hauts du Chazal</ns2:OriginName>
<ns2:DestinationRef>t_chal</ns2:DestinationRef>
<ns2:DestinationName xml:lang="FR">Chalezeule</ns2:DestinationName>
<ns2:MonitoredCall>
<ns2:StopPointRef>t_hdc1</ns2:StopPointRef>
<ns2:Order>2</ns2:Order>
<ns2:StopPointName>Hauts du Chazal</ns2:StopPointName>
<ns2:AimedArrivalTime>2024-01-15T09:54:00+01:00</ns2:AimedArrivalTime>
<ns2:ExpectedArrivalTime>2024-01-15T09:54:01+01:00</ns2:ExpectedArrivalTime>
</ns2:MonitoredCall>
</ns2:MonitoredVehicleJourney>
</ns2:MonitoredStopVisit>
</Answer>
</GetStopMonitoringResponse>
<soap:Fault></soap:Fault>
</soap:Body>
</soap:Envelope>
Le service Estimated Timetable permet de récupérer les informations de passages en temps réel d'une ligne du réseau.
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header></soap:Header>
<soap:Body>
<GetEstimatedTimetableResponse xmlns:ns6="http://datex2.eu/schema/2_0RC1/2_0" xmlns:ns5="http://www.ifopt.org.uk/ifopt" xmlns:ns2="http://www.siri.org.uk/siri" xmlns:ns4="http://www.ifopt.org.uk/acsb" xmlns:ns3="http://www.opengis.net/gml/3.2">
<ServiceDeliveryInfo>
<ns2:ResponseTimestamp>2024-01-15T10:04:43.22563583+01:00</ns2:ResponseTimestamp>
<ns2:ProducerRef>Ginko</ns2:ProducerRef>
<ns2:ResponseMessageIdentifier>b68749a8-00af-473f-9eca-7d392bdc6616</ns2:ResponseMessageIdentifier>
<ns2:RequestMessageRef>Test::Message::81d3e218-8bc4-4a87-ac62-931e60751d0f</ns2:RequestMessageRef>
</ServiceDeliveryInfo>
<Answer xsi:type="ns2:EstimatedTimetableDeliveryStructure" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns2:EstimatedJourneyVersionFrame>
<ns2:RecordedAtTime>2024-01-15T10:04:43.226485997+01:00</ns2:RecordedAtTime>
<ns2:EstimatedVehicleJourney>
<ns2:LineRef>3</ns2:LineRef>
<ns2:DirectionRef>Retour</ns2:DirectionRef>
<ns2:DatedVehicleJourneyRef>8497664</ns2:DatedVehicleJourneyRef>
<ns2:PublishedLineName xml:lang="FR">Pôle Temis < > Centre-ville - 8 Septembre</ns2:PublishedLineName>
<ns2:DestinationRef>TEMIS1</ns2:DestinationRef>
<ns2:DestinationName xml:lang="FR">Pôle Temis</ns2:DestinationName>
<ns2:EstimatedCalls>
<ns2:EstimatedCall>
<ns2:StopPointRef>REPUBL2</ns2:StopPointRef>
<ns2:Order>1</ns2:Order>
<ns2:StopPointName xml:lang="FR">République</ns2:StopPointName>
<ns2:DestinationDisplay>Pôle Temis</ns2:DestinationDisplay>
<ns2:AimedArrivalTime>2024-01-15T12:48:00.903+01:00</ns2:AimedArrivalTime>
<ns2:ExpectedArrivalTime>2024-01-15T12:49:00.903+01:00</ns2:ExpectedArrivalTime>
<ns2:ArrivalProximityText xml:lang="FR">En approche</ns2:ArrivalProximityText>
<ns2:AimedDepartureTime>2024-01-15T12:48:00.903+01:00</ns2:AimedDepartureTime>
<ns2:ExpectedDepartureTime>2024-01-15T12:49:00.903+01:00</ns2:ExpectedDepartureTime>
</ns2:EstimatedCall>
</ns2:EstimatedCalls>
</ns2:EstimatedVehicleJourney>
</ns2:EstimatedJourneyVersionFrame>
</Answer>
</GetEstimatedTimetableResponse>
<soap:Fault></soap:Fault>
</soap:Body>
</soap:Envelope>
Le service General Message permet de récupérer les messages diffusées sur les bornes d'informations destinées aux voyageurs réseau.
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header></soap:Header>
<soap:Body>
<GetGeneralMessageResponse xmlns:ns6="http://datex2.eu/schema/2_0RC1/2_0" xmlns:ns5="http://www.ifopt.org.uk/ifopt" xmlns:ns2="http://www.siri.org.uk/siri" xmlns:ns4="http://www.ifopt.org.uk/acsb" xmlns:ns3="http://www.opengis.net/gml/3.2">
<ServiceDeliveryInfo>
<ns2:ResponseTimestamp>2024-01-15T10:27:52.450596597+01:00</ns2:ResponseTimestamp>
<ns2:ProducerRef>Ginko</ns2:ProducerRef>
<ns2:ResponseMessageIdentifier>8d83db99-c5fb-45ef-ac77-f8d3455f1ce6</ns2:ResponseMessageIdentifier>
<ns2:RequestMessageRef>Test::Message::a81d8aab-de91-46d2-b9ef-9d3c489e644b</ns2:RequestMessageRef>
</ServiceDeliveryInfo>
<Answer xsi:type="ns2:GeneralMessageDeliveryStructure" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns2:ResponseTimestamp>2024-01-15T10:27:52.450693985+01:00</ns2:ResponseTimestamp>
<ns2:GeneralMessage formatRef="France">
<ns2:ItemIdentifier>4862</ns2:ItemIdentifier>
<ns2:InfoMessageIdentifier>4862</ns2:InfoMessageIdentifier>
<ns2:InfoChannelRef>Perturbation</ns2:InfoChannelRef>
<ns2:ValidUntilTime>2024-01-16T02:59:00.296+01:00</ns2:ValidUntilTime>
<ns2:Content xsi:type="FrGeneralMessage">
<LineRef>249</LineRef>
<StopPointRef>TEMIS1</StopPointRef>
<StopPointRef>JULEHAG4</StopPointRef>
<Message>
<MessageType>textOnly</MessageType>
<MessageText> Travaux avenue Clémenceau - ligne D249 déviée du lundi 8 janvier à 05h00 au vendredi 28 juin à la fin du service. Info+ : www.ginko.voyage ou l'Appli Ginko Mobilités rubrique Info trafic </MessageText>
</Message>
<Message>
<MessageType>HTML</MessageType>
<MessageText><div class="gk-mivMessage"><strong>Travaux avenue Clémenceau</strong> - ligne D249 déviée du lundi 8 janvier à 05h00 au vendredi 28 juin à la fin du service.<br>Info+ : www.ginko.voyage ou l'Appli Ginko Mobilités rubrique Info trafic </div></MessageText>
</Message>
</ns2:Content>
</ns2:GeneralMessage>
<ns2:GeneralMessage formatRef="France">
<ns2:ItemIdentifier>4863</ns2:ItemIdentifier>
<ns2:InfoMessageIdentifier>4863</ns2:InfoMessageIdentifier>
<ns2:InfoChannelRef>Perturbation</ns2:InfoChannelRef>
<ns2:ValidUntilTime>2024-01-16T02:59:00.296+01:00</ns2:ValidUntilTime>
<ns2:Content xsi:type="FrGeneralMessage">
<LineRef>249</LineRef>
<Message>+
<MessageType>textOnly</MessageType>
<MessageText> Travaux avenue Clémenceau - ligne D249 déviée du lundi 8 janvier à 05h00 au vendredi 28 juin à la fin du service. Info+ : www.ginko.voyage ou l'Appli Ginko Mobilités rubrique Info trafic </MessageText>
</Message>
<Message>
<MessageType>HTML</MessageType>
<MessageText><div class="gk-mivMessage"><strong>Travaux avenue Clémenceau</strong> - ligne D249 déviée du lundi 8 janvier à 05h00 au vendredi 28 juin à la fin du service.<br>Info+ : www.ginko.voyage ou l'Appli Ginko Mobilités rubrique Info trafic </div></MessageText>
</Message>
</ns2:Content>
</ns2:GeneralMessage>
</Answer>
</GetGeneralMessageResponse>
<soap:Fault></soap:Fault>
</soap:Body>
</soap:Envelope>
Pour pouvoir utiliser l'API de manière temporaire, vous pouvez utiliser une clé temporaire générée tous les jours. Cette clé est valable uniquement 24h, et il sera nécessaire de récupérer la nouvelle clé le lendemain. Pour obtenir une clé permanente, rendez-vous dans la section "Contact" afin d'effectuer votre demande.
Veuillez saisir les chiffres visibles à l'écran