Open data du réseau Ginko

Ce site s'adresse à des développeurs en informatique

Informations accessibles par l'API Json

Informations accessibles en static

Limitations actuelles

Pour le moment, les informations suivantes ne sont pas accessibles via cette API; ceci pourrait évoluer dans le futur:

Principes de fonctionnement

Ginko Json API fonctionne exclusivement par des requêtes HTTP GET ou POST. La réponse est au format JSON (je parie que vous aviez deviné).

Vous pouvez utiliser l'API bas niveau depuis n'importe quel langage; en complément, une surcouche haut niveau est disponible en Javascript pour accélérer votre développement.

Attention: Le format JSON ne garantit pas l'ordre des champs à l'intérieur d'un objet. L'ordre choisi dans cette documentation ne correspond donc pas forcément à l'ordre réel.

Licence d'utilisation

Les données sont mises à disposition par Ginko Json API sous Licence Ouverte / Open Licence. L'utilisation de cette API 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.

Continuité de service

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, contactez-moi à l'adresse jean-baptiste.romain arobase transdev point com.

Disclaimer

Malgré tout le soin que j'y ai accordé, la documentation peut contenir des inexactitudes. Les informations disponibles via l'API ne font l'objet d'aucune garantie. La responsabilité de Besançon Mobilités, exploitant du réseau urbain Ginko, ni celle de la Communauté d'Agglomération du Grand Besançon, Autorité Organisatrice des Transports, ne sauraient être engagées en cas de dysfonctionnement de cette API ou d'inexactitude dans les informations qu'elle fournit.

N'hésitez pas à me remonter les éventuels bugs et erreurs dans la documentation à l'adresse support-ssi.ginko@transdev.com.

L'API bas niveau permet d'interragir avec le serveur Ginko Json API depuis n'importe quel langage; vous devez construire et exécuter les requêtes HTTP, et analyser les résultats.

Requête

L'URL à appeler est: https://www.ginkoopenapi.fr/chemin_de_la_methode.do?paramètres

Remarque importante: L'API est accessible uniquement en HTTPS.

Nous vous recommandons d'utiliser la méthode POST si vous le pouvez, afin de fournir les paramètres dans le corps de la requête plutôt que dans l'URL.

Encodage des paramètres: les paramètres des requêtes doivent être encodés en UTF-8. Les réponses de l'API sont également encodées en UTF-8.

Exemples

Réponse

La réponse est au format JSON.

En cas de succès de la requête, le résultat est toujours encapsulé de la façon suivante:

{
  "ok": true,
  "objets": résultat décapsulé, tel qu'il est décrit dans la documentation de la méthode
}

En cas d'échec de la requête, le résultat est toujours encapsulé de la façon suivante:

{
  "ok": false,
  "msg": message d'erreur
}

Attention, en cas d'indisponibilité du service ou d'un plantage non prévu, vous pouvez recevoir également une erreur de niveau HTTP (type erreur 5XX par exemple).

Cas particuliers

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.)

Mise en oeuvre

Il suffit d'inclure le script https://www.ginkoopenapi.fr/api.js dans la balise HEAD de votre page, comme ceci:

<script type="text/javascript" src="https://www.ginkoopenapi.fr/api.js"></script>

Utilisez ensuite la méthode: ginkoAPI(methodPath, args, success [, error] [, timeout]) pour interroger l'API:

ParamètreTypeDescription
methodPath* Chaine Chemin de la méthode Ginko Json 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 Ginko Json API. Si vous n'avez pas de paramètre à transmettre, spécifiez un objet vide { }.

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 Ginko Json 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:
function(msg){ 
    alert(msg); 
}
timeout Entier Délai maximal d'éxécution de la requête, en secondes. Ce paramètre est optionnel (10 secondes par défaut).

Exemple simple

Visitez cette page et consultez sa source.

Récupérer la liste des titres de transport Ginko

Retourne la liste des titres au voyage et des abonnements. Ces informations sont mises à jour à chaque modification de la gamme tarifaire. Tarifs actuels valables depuis le 1er septembre 2016.

Chemin de la méthodeTarifs/get
ParamètresAucun paramètre
Résultat décapsuléTableau d'objets FormTarif
Liste des titres de transport.

Exemple

Récupérer la liste des lignes et sens

Retourne la liste des lignes et variantes de lignes (sens) qui circulent aujourd'hui.

Dans une application serveur, nous vous conseillons d'appeler cette méthode une fois par jour (à 4h du matin) et de mémoriser les résultats pour le reste de la journée. Dans une application client (application smartphone par exemple), nous vous conseillons d'appeler cette méthode au lancement de l'application.

Chemin de la méthodeDR/getLignes
ParamètresAucun paramètre
Résultat décapsuléTableau d'objets FormLigne
Liste des lignes Ginko, dans l'ordre logique où elles doivent être affichées à l'utilisateur.

Récupérer les détails d'une variante de ligne

Retourne la liste des arrêts qui composent une variante de ligne.

Chemin de la méthodeDR/getDetailsVariante
Paramètres
  • idLigne: identifiant de la ligne (issu de l'objet FormLigne)
  • idVariante: identifiant de la variante dans la ligne (issu de l'objet FormVariante)
Résultat décapsuléTableau d'objets FormArret
Liste des arrêts desservis par cette variante de ligne, dans l'ordre géographique (le premier arrêt est le terminus de départ, le dernier arrêt le terminus d'arrivée).

Récupérer la liste des arrêts de bus et tram

Retourne la liste des arrêts de bus et des stations tramway. La liste est triée par ordre alphabétique.

Attention, plusieurs arrêts peuvent avoir le même nom (typiquement, deux arrêts de bus l'un en face de l'autre); si vous prévoyez d'afficher cette liste à l'utilisateur, il est sans doute nécessaire de dédupliquer les arrêts au préalable (opération simple, car les arrêts de même nom se suivent dans la liste).

Cette liste évolue très rarement, vous pouvez la mettre en cache pendant plusieurs jours. Il se peut que d'anciens arrêts sont encore présents dans cette liste.

Chemin de la méthodeDR/getArrets
ParamètresAucun paramètre
Résultat décapsuléTableau d'objets FormArret
Liste des arrêts de bus urbains et de tramway, dans l'ordre alphabétique.

Rechercher les arrêts à proximité

Retourne la liste des arrêts Ginko situés à proximité de la position fournie. Les arrêts sont triés du plus proche au plus lointain. Les arrêts situés à plus de 500 mètres à vol d'oiseau ne sont pas retournés.

Attention, plusieurs arrêts peuvent avoir le même nom (typiquement, deux arrêts de bus l'un en face de l'autre); cette méthode n'est pas conçue pour afficher une liste d'arrêts à l'utilisateur, mais plutôt pour montrer les arrêts à proximité sur une carte. Si vous prévoyez malgré tout d'afficher cette liste à l'utilisateur, il est sans doute nécessaire de dédupliquer les arrêts au préalable.

Attention, si vous obtenez la position de l'utilisateur à partir du GPS de son téléphone, assurez-vous de la précision de la position.

Chemin de la méthodeDR/getArretsProches
Paramètres
  • latitude: coordonnée GPS par rapport à l'équateur, en degrés décimaux. Exemple: 47.236288
  • longitude: coordonnée GPS par rapport au méridien de Greenwich, en degrés décimaux. Exemple: 6.022884
Résultat décapsuléTableau d'objets FormArret
Liste des arrêts de bus urbains et de tramway situés à moins de 500 mètres, du plus proche au plus lointain.

Récupérer les détails d'un arrêt

Retourne les détails d'un arrêt à partir de son identifiant. Les méthodes DR/getArrets et DR/getArretsProches décrites ci-dessus fournissent déjà les informations détaillées; en revanche, certaines méthodes TR (Temps Réel) indiquent uniquement l'identifiant de l'arrêt. Cette méthode peut vous permettre d'obtenir ponctuellement les détails de l'arrêt sans avoir à charger la liste complète.

Chemin de la méthodeDR/getDetailsArret
Paramètres
  • id: identifiant de l'arrêt
Résultat décapsuléObjet FormArret contenant toutes les informations de l'arrêt.

Récupérer les détails d'un véhicule

Retourne les détails d'un véhicule à partir de son numéro. Les méthodes TR (Temps Réel) indiquent uniquement le numéro du véhicule, et cette méthode permet d'obtenir des informations sur les équipements présents dans le véhicule.

Les informations concernant un véhicule évoluent rarement; vous pouvez mettre en cache les résultats de cette requête (pour un véhicule) pendant 24h.

Chemin de la méthodeDR/getDetailsVehicule
Paramètres
  • num: numéro du véhicule
Résultat décapsuléObjet FormVehicule contenant toutes les informations du véhicule.

Récupérer les temps d'attente pour un lieu

Un lieu est un ensemble d'arrêts portant le même nom. Par exemple, le lieu "Ile de France" regroupe les deux arrêts de la ligne 13 et les deux stations tram.

Cette notion permet d'afficher à l'utilisateur les temps d'attente de toutes les lignes/sens qui passent à un endroit donné, même s'il ne s'agit pas physiquement du même arrêt (par exemple, deux arrêts situés de part et d'autre de la route).

Les temps d'attente des bus sont recalculés toutes les 30 secondes, et ceux des tram toutes les 10. Il est donc recommandé de renouveller cette requête toutes les 10 secondes afin d'actualiser l'affichage.

Chemin de la méthodeTR/getTempsLieu
Paramètres
  • nom: lieu recherché (nom d'arrêt). Exemple: Ile de france. L'API recherche les arrêts dont le nom ressemble à celui indiqué (par exemple "Ile-de-France" ou "ile france" fonctionneront); vous pouvez donc fournir ici directement la saisie de l'utilisateur, sans traitement préalable.
  • nb: nombre de temps d'attente souhaités pour chaque ligne/sens. Doit être compris entre 1 et 5. Attention, le résultat peut contenir moins de temps d'attente que souhaité, par exemple en fin de journée. Optionnel (2 par défaut).
Résultat décapsuléObjet contenant deux champs: { "nomExact":..., "listeTemps":... }
  • nomExact: nom précis (corrigé par rapport au nom fourni en paramètre)
  • listeTemps: tableau d'objets FormTempsAttente. Liste des prochains passages à ce lieu, triés par ligne/sens puis par temps d'attente croissant.

Récupérer un ensemble de temps d'attente

Cette méthode permet de récupérer les temps d'attente à un ou plusieurs lieux, pour une ou plusieurs lignes.

Les temps d'attente des bus sont recalculés toutes les 30 secondes, et ceux des tram toutes les 10. Il est donc recommandé de renouveller cette requête toutes les 10 secondes afin d'actualiser l'affichage.

Les trois paramètres "listeXXX" fonctionnent en parallèle; elles doivent contenir le même nombre de valeurs. Regardez les exemples et faites des essais pour bien comprendre le fonctionnement.

Chemin de la méthodeTR/getListeTemps
Paramètres
  • listeNoms: tableau de chaines, indiquant les lieux recherchés (nom d'arrêt; la notion de lieu est expliquée à la méthode précédente). Exemple: ["Ile de France", "Poste"].
  • listeIdLignes: tableau de chaines, indiquant les identifiants des lignes recherchées (attention, il ne s'agit pas du numéro public, voir doc de l'objet FormLigne). Exemple: ["101", "4"].
  • listeSensAller: tableau de booléens, indiquant si l'on souhaite le sens aller (true) ou retour (false) des lignes. Exemple: [true, false].
  • preserverOrdre: booléen indiquant si l'ordre des demandes (paramètres listesXXX) doit être respecté dans la réponse du serveur, ou non. Si le paramètre est fourni et de valeur true, alors les temps d'attente seront retournés dans l'ordre où ils sont demandés; sinon, ils sont retournés par ordre alphabétique du nom d'arrêt, puis numéro de ligne public, puis sens (aller puis retour). A moins que vous ne réalisiez une IHM permettant à l'utilisateur d'ordonner les temps comme il le souhaite, nous vous conseillons de ne pas fournir ce paramètre.
  • nb: nombre de temps d'attente souhaités pour chaque arrêt/ligne/sens. Doit être compris entre 1 et 5. Attention, le résultat peut contenir moins de temps d'attente que souhaité, par exemple en fin de journée. Optionnel (2 par défaut).
Remarques:

Les demandes incohérentes (ligne ou arrêt inexistant, ligne qui ne passe pas à l'arrêt indiqué...) sont ignorées sans faire échouer la requête.

Les demandes en doublon (deux demandes pour la même chose, même si le nom de l'arrêt est orthographié différemment) ne sont prises en compte qu'une seule fois.

Résultat décapsuléTableau d'objets contenant deux champs: [{ "nomExact":..., "listeTemps":... }, { "nomExact":..., "listeTemps":... }...]
  • nomExact: nom précis (corrigé par rapport au nom fourni en paramètre)
  • listeTemps: tableau d'objets FormTempsAttente. Liste des prochains passages à ce lieu (uniquement ceux demandés), triés par arrêt/ligne/sens (si preserverOrdre est false ou non fourni) puis par temps d'attente croissant. (Notez que si vous spécifiez le paramètre preserverOrdre, le même lieu peut apparaître plusieurs fois dans la réponse, si deux demandes concernant le même arrêt ne sont pas "côte à côte" dans la requête.)

Exemples

Récupérer les infos-trafic

Cette méthode permet de récupérer les infos-trafic concernant le réseau urbain Ginko (perturbations, travaux, incidents...).

Ces informations ne changent pas souvent en général; toutefois, elle peuvent changer à tout moment, et ne doivent donc pas être mises en cache plus d'une minute.

Les infos-trafic sont séparées en deux catégories: les informations anticipées, d'une part, correspondent à des événements prévisibles (déviation dûe à des travaux par exemple). Généralement, les informations anticipées sont disponibles un ou plusieurs jours avant la perturbation. Les informations temps réel, d'autre part, correspondent à des événements imprévisibles (intempéries, accident, incident technique, etc).

Chemin de la méthodeTR/getInfosTrafic
ParamètresAucun paramètre
Résultat décapsuléObjets contenant deux tableaux: { "infosAnticipees":[FormInfoTrafic,...], "infosTempsReel":[FormInfoTrafic,...] }
  • infosAnticipees: liste des infos-trafic anticipées (objets FormInfoTrafic), triées dans l'ordre logique d'affichage. Eventuellement un tableau vide [].
  • infosTempsReel: liste des infos-trafic temps réel (objets FormInfoTrafic), triées dans l'ordre logique d'affichage. Eventuellement un tableau vide [].

L'objet FormTarif contient les informations détaillées concernant un titre de transport Ginko. Pour obtenir la liste des tarifs, utilisez la méthode Tarifs/get.

L'objet FormTarif contient les champs suivants:

ChampTypeDescription
typeEntierType de titre de transport. Vaut 0 pour un titre au voyage, 1 pour un abonnement mensuel et 2 pour un abonnement annuel.
libelleChaineNom commercial du titre de transport.
descriptionChaineDescription complète et conditions d'utilisation.
pointsDeVenteChainePoints de vente où les clients peuvent se procurer ce titre de transport.
tarifFlottantPrix TTC en euros.

L'objet FormLigne regroupe les informations générales sur une ligne. Pour obtenir ces objets, vous pouvez utiliser la méthode DR/getLignes.

L'objet FormLigne contient les champs suivants:

ChampTypeDescription
idChaineIdentifiant de l'arrêt. Chaque arrêt a un identifiant unique. Vous aurez rarement besoin de cet identifiant; en général, les méthodes de l'API reçoivent le nom de l'arrêt en paramètre.
nomChaineNom de l'arrêt, tel qu'il doit être affiché à l'utilisateur. Plusieurs arrêts peuvent avoir le même nom (par exemple, deux arrêts situés de part et d'autre de la route).
latitudeFlottantLatitude de l'arrêt (en degrés décimaux). Si cette valeur vaut 0, c'est que les coordonnées GPS de l'arrêt sont inconnues (très rare).
longitudeFlottantLongitude de l'arrêt (en degrés décimaux). Si cette valeur vaut 0, c'est que les coordonnées GPS de l'arrêt sont inconnues (très rare).

L'objet FormVariante regroupe les informations générales sur une variante de ligne (chaque ligne étant composée de plusieurs variantes). Pour obtenir ces objets, utilisez par exemple la méthode DR/getLignes.

L'objet FormVariante contient les champs suivants:

ChampTypeDescription
idChaineIdentifiant de la variante dans la ligne. Ne doit pas être affiché à l'utilisateur final. A lui seul, cet identifiant ne signifie rien: il doit être associé à un identifiant de ligne. Certaines méthodes de l'API reçoivent en paramètre un identifiant de ligne et un identifiant de variante.
sensAllerBooléen

Indique le sens de circulation des véhicules qui suivent cette variante. Par convention, pour les lignes qui traversent Besançon de part en part, le sens Aller est utilisé en direction de l'Est, et le sens Retour en direction de l'Ouest. Vous aurez rarement besoin de cette information.

  • true: variante en sens Aller
  • false: variante en sens Retour
destinationChaineDestination de la variante, affichable à l'utilisateur. Correspond en général au nom du terminus d'arrivée de la variante. Par exemple "Chalezeule".
precisionDestinationChainePrécisions sur l'itinéraire emprunté pour rejoindre la destination. La plupart du temps, ce champ est une chaine vide. Il est utilisé pour certaines variantes qui effectuent un crochet dans leur itinéraire pour desservir un point d'attraction particulier à certaines heures de la journée. Par exemple "Par Piscine/Patinoire".

L'objet FormArret contient les informations propres à un arrêt du réseau. Pour obtenir la liste des arrêts d'une variante de ligne, utilisez la méthode DR/getDetailsVariante; pour obtenir la liste complète des arrêts du réseau urbain Ginko, utilisez la méthode DR/getArrets; pour obtenir les informations d'un seul arrêt, utilisez la méthode DR/getDetailsArret.

L'objet FormArret contient les champs suivants:

ChampTypeDescription
idChaineIdentifiant de l'arrêt. Chaque arrêt a un identifiant unique. Vous aurez rarement besoin de cet identifiant; en général, les méthodes de l'API reçoivent le nom de l'arrêt en paramètre.
nomChaineNom de l'arrêt, tel qu'il doit être affiché à l'utilisateur. Plusieurs arrêts peuvent avoir le même nom (par exemple, deux arrêts situés de part et d'autre de la route).
latitudeFlottantLatitude de l'arrêt (en degrés décimaux). Si cette valeur vaut 0, c'est que les coordonnées GPS de l'arrêt sont inconnues (très rare).
longitudeFlottantLongitude de l'arrêt (en degrés décimaux). Si cette valeur vaut 0, c'est que les coordonnées GPS de l'arrêt sont inconnues (très rare).

L'objet FormVehicule contient les informations propres à un véhicule (bus ou tramway). Pour obtenir cet objet, utilisez la méthode DR/getDetailsVehicule.

L'objet FormVehicule contient les champs suivants:

ChampTypeDescription
numChaineIdentifiant du véhicule, pour rappel. Ce numéro est celui qui est inscrit à l'extérieur des véhicules, à l'avant et à l'arrière. Il est de type chaine car il est possible, à l'avenir, que certains véhicules soient numérotés avec des lettres ou d'autres caractères.
affichageDynamiqueBooléenIndique si le véhicule est équipé d'afficheurs dynamiques annonçant les prochaines stations desservies. Attention, cette information ne tient pas compte d'un éventuel dysfonctionnement de l'équipement.
annoncesSonoresBooléenIndique si le véhicule est équipé d'un dispositif d'annonces sonores des prochaines stations desservies. Attention, cette information ne tient pas compte d'un éventuel dysfonctionnement de l'équipement.
accessiblePMRBooléenIndique si le véhicule est facile d'accès aux personnes à mobilité réduite ainsi qu'aux poussettes (plancher bas et/ou rampe d'accès pour fauteuil roulant).

L'objet FormTempsAttente contient le temps d'attente avant l'arrivée d'un bus ou tram à un arrêt. Pour obtenir ces objets, utilisez les méthodes TR/getTempsLieu ou TR/getListeTemps.

Normalement, toutes les informations nécessaires à l'affichage sont incluses; l'identifiant de la ligne et de l'arrêt peuvent toutefois vous êtes utiles pour obtenir des informations supplémentaires.

ChampTypeDescription
idArretChaineIdentifiant de l'arrêt. Normalement, si vous obtenez un objet FormTempsAttente, vous connaissez déjà le nom de l'arrêt à afficher à l'utilisateur. Cet identifiant peut en revanche vous servir pour obtenir d'autres informations sur l'arrêt, telles que les coordonnées GPS (méthode DR/getDetailsArret).
idLigneChaineIdentifiant de la ligne. Ne doit pas être affichée à l'utilisateur. Consultez la documentation de l'objet FormLigne pour plus d'infos.
numLignePublicChaineConsultez la documentation de l'objet FormLigne pour plus d'infos.
couleurFondChaineConsultez la documentation de l'objet FormLigne pour plus d'infos.
couleurTexteChaineConsultez la documentation de l'objet FormLigne pour plus d'infos.
sensAllerBooléenIndique si la ligne circule en sens Aller (true) ou Retour (false). Cette information permet de regrouper les temps d'attente affichés par sens de circulation.
destinationChaineDestination du bus ou tram, à afficher à l'utilisateur. Cette destination ne correspond pas forcément à celle d'une variante de la ligne (certains voyages ne circulent pas jusqu'au terminus habituel de la variante).
precisionDestinationChainePrécisions sur l'itinéraire emprunté pour rejoindre la destination. La plupart du temps, ce champ est une chaine vide. Il est utilisé pour certains voyages qui effectuent un crochet dans leur itinéraire pour desservir un point d'attraction particulier à certaines heures de la journée. Par exemple "Par Clinique St Vincent".
tempsChaineTemps d'attente à afficher à l'utilisateur (exemples: "3 min", "1h 02"). Parfois, cette information est remplacée par l'annonce d'une perturbation ("Travaux", "Manifestation"...) ce qui signifie que la station n'est pas desservie. Cas particulier: le mot "Perturbations" signifie que la station est desservie mais qu'il n'est pas possible de calculer un temps d'attente en raison d'une déviation en amont.
fiableBooléenIndique si le temps d'attente est calculé à l'aide d'informations précises sur la localisation du véhicule (true) ou s'il s'agit d'une estimation basée sur les horaires théoriques (false). Lorsque cette information vaut false, vous devez remplacer le temps d'attente par la mention "Non localisé", ou bien préciser très clairement que le temps indiqué est théorique.
numVehiculeChaineNuméro du bus ou de la rame. Cette information n'est pas destinée à être affichée à l'utilisateur, mais elle peut vous servir pour récupérer des informations d'accessibilité (annonces vocales, accessibilité PMR...) en utilisant la méthode DR/getDetailsVehicule. Attention, ce champ n'est pas toujours rempli.

Objet FormInfoTrafic

L'objet FormInfoTrafic représente une info-trafic (anticipée ou temps réel). Elle peut concerner plusieurs lignes. Pour obtenir ces objets, utilisez la méthode TR/getInfosTrafic.

ChampTypeDescription
idEntierIdentifiant numérique de l'information. Ce numéro ne doit pas être affiché au public. Chaque information a un identifiant numérique unique. Les identifiants ne se suivent pas forcément. Cet identifiant n'est pas modifié lorsque l'information est modifiée après sa publication (mise à jour du texte ou des lignes concernées par exemple).
titreChaineTitre de l'information. Attention, peut être une chaine vide (c'est souvent le cas pour les infos temps réel).
texteChaineContenu de l'information. Jamais vide.
complementChaineComplément d'information. Sous forme de code source HTML. Peut contenir par exemple un tableau des arrêts perturbés et des arrêts de report dans le cadre d'une déviation. Chaine vide si aucune information complémentaire n'est disponible.
urlChaineURL d'une page du site ginko.voyage sur laquelle des informations complémentaires sont disponibles. Attention, peut être une chaine vide (c'est souvent le cas pour les infos temps réel).
tempsReelBooléenIndique s'il s'agit d'une information temps réel (true) ou d'une information anticipée (false). Consultez la documentation de TR/getInfosTrafic pour plus d'infos.
alerteBooléenIndique si cette information revêt une importance capitale. Vous pouvez par exemple faire ressortir davantage cette info, ou l'afficher en priorité si l'espace disponible sur le support de diffusion est limité. Il ne peut pas y avoir plusieurs alertes en même temps.
lignesTableau de FormInfoLigneTableau d'objets FormInfoLigne (décrit ci-dessous). Liste des lignes concernées par cette info-trafic, triée par ordre logique d'affichage. Cette liste n'est jamais vide, mais elle peut ne contenir qu'un seul élément.

Objet FormInfoLigne

L'objet FormInfoLigne fournit les informations essentielles sur une ligne concernée par une info-trafic.

Normalement, toutes les informations nécessaires à l'affichage sont incluses; l'identifiant de la ligne peut toutefois vous êtes utile pour obtenir des informations supplémentaires.

idLigneChaineIdentifiant de la ligne. Ne doit pas être affichée à l'utilisateur. Consultez la documentation de l'objet FormLigne pour plus d'infos.
numLignePublicChaineConsultez la documentation de l'objet FormLigne pour plus d'infos.
couleurFondChaineConsultez la documentation de l'objet FormLigne pour plus d'infos.
couleurTexteChaineConsultez la documentation de l'objet FormLigne pour plus d'infos.