Skip to content

A package to access the private SNCF Connect API. Typed.

License

Notifications You must be signed in to change notification settings

justekoro/sncfconnect.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy way to use the SNCF Connect private API.


Getting started

Get started by installing the package with npm or yarn:

$ npm install sncfconnect.js # or yarn add sncfconnect.js

Usage

The package is typescript ready, so you can use it with typescript or javascript. You decide!

import Client from "sncfconnect.js";

const client = new Client({
    // Here you can pass userAgent. if you don't, one will be generated for you :)
});

(async () => {
    // The package is promise based, so you can use async/await or .then()
    const station = await client.searchStation("Genève Cornavin")

    const geneva = station.places.transportPlaces[0];

    // We get the first result :
    const genevaId = geneva.id;

    // We get the station boards :
    const boards = await client.getStationBoards(genevaId);

    // Now, we get the board for the first train in the first line :
    const board = boards.boardsByLineId[boards.station.lines[0].id];

    // We get the first train :
    const train = board.mainLineBoards.departuresBoard.items[0];

    // We get the journey details :
    const journey = await client.getTraject(train.vehicleDetails.request);

    // And now we have everything we need !
    console.log(`The next train is going to ${train.vehicleDirection.mainDirectionLabel}. It will leave on ${train.vehicleDetails.request.date} at ${train.timeLabel} from platform ${train.platformLabel}.`);
    console.log("Stops :");
    console.log(journey.lineDetailStops.map(stop => `${stop.locationLabel} at ${stop.timeLabel} (${stop.semanticDurationLabel != "" ? stop.semanticDurationLabel : "Unknown stop duration"})`).join("\n"));
})()

It's as easy - and everything is typed!

Documentation

No documentation for now, but you can check the types and the source code to see what you can do with the package.

Contributing

Contributions are welcome! Feel free to open an issue or a pull request.

License

This project is licensed under the MIT License.

Credits

  • THIS PACKAGE IS NOT AFFILIATED WITH SNCF IN ANY WAY.
  • Made by @justekoro with ❤️

Disclaimer

This package is not affiliated with SNCF in any way. It's a reverse-engineered API, so it can break at any time. Use it at your own risk.

Donate

If you like this package, you can donate to me using :

  • ETH: 0x3173F2bE428F53E03cFDC5A9FBaA02d89b0cBdc8
  • SOL: koroAXzMAq6mkgRyjdUhWZiFHJ9SjsjtqTdybGbtPRN
  • XMR: 48yNudxH1acdS7mmHrP24bPpHU6vbfjAGZyVXUt8hLYjW3HyG4go8WDF5jAboFjrJpdq6xQBjKnk1Rps5PNKkEJrPRaBk3n

Thanks a lot! ❤️

About

A package to access the private SNCF Connect API. Typed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published