Package: py-nsapi
What is this repository for?This python3 module is for easy usage of the the NS Train APIHow do I get set up?Go ToNS API SIteSubscribe for the NS API (It’s free for 50.000 calls a day)Install this script with:pip3 py_nsapi –upgrade (or pip py_nsapi –upgrade )orsudo -H pip3 py_nsapi –upgradeready to use it!Repository & PypiYou can find the Repro atBitbucketand the install information onPypiAPI’sThe API’s return the data in a Dictionary. You can loop through the Dict
as any Dict.See examples about how to get information.All api’s can write warnings, errors and debug information to log filesJust useimportlogginglogging.basicConfig(format='%(asctime)s-%(name)s-%(levelname)s-%(message)s',level=logging.DEBUG)More information aboutloggingStoringenDe webservice voor de storingen en werkzaamheden maakt het mogelijk
informatie op te vragen over storingen en/of werkzaamheden.FieldsidTrajectRedenPeriodeBerichtAdviesExample codefrompy_nsapiimportstoringenuser="yourusername"pwd="yournotsoeasytoguesspassword"station=[astation,canbeempty]actual=[trueorfalse]unplanned=[trueorfalse]#false = the oposite of what you think! :-) you get unplannedns=reisadviezen(user,pwd)ns=storingen(user,pwd)nsStoringen=ns.getData(station,actual,unplanned)nsStoringen is a DictReisadviezenDe webservice voor de reisadviezen maakt het mogelijk de NS Reisplanner
aan te roepen voor een treinreis van een station naar een station. Een
reisadvies bestaat uit meerdere reismogelijkheden, zodat de
treinreiziger hier een keuze uit kan maken. Een reismogelijkheid bevat
zowel geplande als actuele informatie.FieldsAantalOverstappenActueleVertrekTijdGeplandeAankomstTijdActueleReisTijdGeplandeVertrekTijdGeplandeReisTijdStatusActueleAankomstTijdOptimaalReisDeel@reisSoortStatusVervoerderVervoerTypeRitNummerReisStopNaamTijdSpoor#text@wijzigingExample codefrompy_nsapiimportreisadviezenuser="yourusername"pwd="yournotsoeasytoguesspassword"ns=reisadviezen(user,pwd)fromST="GS"toST="RTB"triplist=ns.getData(fromST,toST)StationslijstDe webservice voor de stationslijst maakt het mogelijk om alle
stationsnamen op te vragen.FieldsCodeUICCodeSynoniemenTypeLandLonLatNamenLangMiddelKortExample codefrompy_nsapiimportstationsuser="yourusername"pwd="yournotsoeasytoguesspassword"ns=stations(user,pwd)nsStations=ns.getData()VertrektijdenDe webservice voor de actuele vertrektijden maakt het mogelijk om voor
een station een actueel overzicht op te vragen van alle vertrekkende
treinen voor het komende uur.FieldsRitNummerEindBestemmingVervoerderVertrekSpoor#text@wijzigingRouteTekstVertrekTijdTreinSoortExample codefrompy_nsapiimportvertrektijdenuser="yourusername"pwd="yournotsoeasytoguesspassword"ns=vertrektijden(user,pwd)fromST="GS"triplist=ns.getData(fromST)Prijzen APIDe webservice voor de prijzen maakt het mogelijk voor een treinreis de
bijbehorende prijsinformatie op te vragen.Voor gebruik van de webservice is aparte autorisatie vereist. Deze
autorisatie wordt verleend na ontvangst van een getekend contract. Dit
contract is op te vragen viansr.api@ns.nl.Fields@naamTariefeenhedenReisType@naamReisKlasse@klasseKortingKortingsprijs@name@prijsTotaalPrijsdeel@naar@vervoerdervan@prijsExample codefrompy_nsapiimportprijzenuser="yourusername"pwd="yournotsoeasytoguesspassword"ns=prijzen(user,pwd)fromST="GS"toST="RTB"viaST=""dateTime=""data=ns.getData(fromST,toST,viaST,dateTime)elements=data['VervoerderKeuzes']print(elements)#dictWho do I talk to?Theodorus van der Sluijs (friends call me Theo)theodorus@vandersluijs.nlLicenseAttribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)You are free to:Share — copy and redistribute the material in any medium or formatAdapt — remix, transform, and build upon the material-The licensor cannot revoke these freedoms as long as you follow the
license terms.-Under the following terms:Attribution — You must give appropriate credit, provide a link to the
license, and indicate if changes were made. You may do so in any
reasonable manner, but not in any way that suggests the licensor
endorses you or your use.NonCommercial — You may not use the material for commercial purposes.ShareAlike — If you remix, transform, or build upon the material, you
must distribute your contributions under the same license as the
original.NS DisclaimerDe getoonde prijsinformatie is niet afkomstig van NS reizigers B.V. of
een hieraan gelieerde partij. Jegens NS Reizigers B.V. of daaraan
gelieerde partijen, kunnne dan ook geen rechten worden ontleend met
betrekking tot deze prijsinformatieSpecial thanks toStefan de Konink who gave me a complete new insight with hispython
api