2.2.5 • Published 7 months ago

divia-api v2.2.5

Weekly downloads
1
License
MIT
Repository
github
Last release
7 months ago

Divia API

Version 2 de l'API Divia.

Puisque l'ancienne API de Keolis n'est plus disponible, celle-ci utilise l'API du site de Divia qui renvoie un extrait de page HTML dans lequel se trouve les horaires des prochains passages.

Importation de l'API :

  • Avec ESM :
    import DiviaAPI from 'divia-api';
  • Avec CommonJS :
    const DiviaAPI = require('divia-api');
  • Via un CDN :
    <script src="https://cdn.jsdelivr.net/npm/divia-api/dist/divia-api.min.js"></script>

Utilisation

Exemple :

const api = new DiviaAPI();

(async () => {
    // Charge les données de Divia (https://bo-api.divia.fr/api/reseau/type/json) dans api.reseau :
    await api.init();

    // Récupère la ligne :
    const line = api.findLine('T1', 'A');
    // ou :
    const line = api.getLine('82');

    // Récupère l'arrêt :
    const stop = line.findStop('République T1');
    // ou :
    const stop = line.getStop('1560');
    // ou directement :
    const stop = api.findStop('T1', 'République T1', 'A');

    // Récupère les prochains passages :
    console.log(await stop.totem());
})();

Chaque ligne possède deux directions : A et R. A est utilisé par défaut dans l'API.

Pour chaque Line ou Stop, vous pouvez récupérer les données fournies par Divia via la propriété data.

Fonctionnement

L'API récupère dans un premier temps les données du réseau Divia à cette adresse : https://bo-api.divia.fr/api/reseau/type/json (méthode api#init) afin de pouvoir récupérer les identifiants et informations des lignes et arrêts. Vous pouvez donc si vous le souhaitez mettre en cache la variable JSON api.reseau afin d'éviter de refaire la requête à chaque démarrage de votre application.

Pour récupérer les prochains passages Totem, il faut faire une requête HTTP POST à cette adresse : https://www.divia.fr/bus-tram?type=479, avec le contenu application/x-www-form-urlencoded suivant :

  • requete=arret_prochainpassage
  • requete_val[id_ligne]=<id_ligne>
  • requete_val[id_arret]=<id_arrêt> Note : bien penser à encoder les crochets avec URL encode (par exemple : requete_val%5Bid_ligne%5D).

Licence

Licence MIT

Copyright (c) 2021 gauthier-th (mail@gauthier-th.fr)

2.2.3

7 months ago

2.2.5

7 months ago

2.2.4

7 months ago

2.1.2-token.2

3 years ago

2.1.2-token.1

3 years ago

2.1.3-token

3 years ago

2.2.2

3 years ago

2.1.3

3 years ago

2.1.3-token.1

3 years ago

2.1.2-token

3 years ago

2.1.1-token.0

3 years ago

2.1.1-token.1

3 years ago

2.1.1-token.2

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

4 years ago