qistoph/MMM-nstreinen

New API

Closed this issue · 11 comments

NS just emailed that the API will change in early 2019.

This module should be updated accordingly.

Additional information that was sent:

De NS-API zoals u die kent zal uitgefaseerd worden. Van u als gebruiker verwachten wij, als u gebruik wilt blijven maken van onze services, dat u gaat migreren naar onze nieuwe API.

Hoe u dit aan moet pakken is te lezen in de migratiehandleiding die we met deze mail meesturen.

Kort samengevat gaat het volgende voor u veranderen:
· U heeft voor het gebruik van de nieuwe API een API-key nodig. Deze is aan te vragen via het NS API portaal (https://apiportal.ns.nl/)
· URL’s naar de services veranderen
· Het response is in het JSON formaat
· De veldnamen van de parameters en de responses zijn verandert.

U krijgt 6 maanden de tijd om de migratie uit te voeren. De planning is om per 1 oktober 2019 de oude API uit te schakelen en onze services niet meer beschikbaar te stellen.

Bij vragen kunt u ons bereiken via het volgende e-mailadres: nsr.api@ns.nl

NS REST API migration guide.pdf

Apparently some changes were already propogated to the public NS API. These changes broke MMM-nstreinen.

Made some fixes in c2e5da9

Did a git pull but now the module is stuck on Loading..., any ideas?

Any errors in the log file?

Create new trip fetcher for trip: Amsterdam Sloterdijk-Haarlem, Interval: 300000
Whoops! There was an uncaught exception...
TypeError: Cannot read property 'wijziging' of undefined
at /home/pi/MagicMirror/modules/nstreinen/tripfetcher.js:60:39

Did you npm install after the pull? I have updated the dependencies and that required some code changes.

Initially thought it was the API that changed, but now I guess it's the dependencies update I did. Sorry for any inconvenience

I actually forgot to do an npm install or npm update, but after doing so, I'm still getting an error. I actually deleted the plug-in and did a new 'git clone' and 'npm install', but this is the error I'm getting now:

Create new trip fetcher for trip: Amsterdam Sloterdijk-Haarlem, Interval: 300000
Whoops! There was an uncaught exception...
TypeError: Cannot read property 'ReisStop' of undefined
at /home/pi/MagicMirror/modules/nstreinen/tripfetcher.js:58:45

Found the issue and just pushed a fix that should solve your issue.

  • git pull
  • npm install (just to be sure, shouldn't be necessary for this small change)

works! thanks!!!

Lets keep an eye on https://github.com/fvdm/nodejs-ns-api. Maybe that will be usable and save me some work.

Looking for beta testers. Please give v2 a try:

https://github.com/qistoph/MMM-nstreinen/tree/v2

If you find anything that isn't working or looks suspicious, please create an issue.

The new API is integrated in the master branch.