🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

divia-api

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

divia-api

Dvia API v2

latest
Source
npmnpm
Version
2.2.5
Version published
Maintainers
1
Created
Source

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)

FAQs

Package last updated on 12 Oct 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts