forum.supercharge.info

API endpoint for all data of a particular site?

Assumptions

  • the changes endpoint lists which superchargers are being changed, but doesn’t expose full details for a changed charger
  • the country endpoint DOES list ALL superchargers of a particular country, with all of its fields

Use case

I want to read out the changes, and then, for every supercharger that has been changed, pull in all data for that supercharger, to ensure I have the latest fields locally.

Problem/Challenge

Because I did not yet find a way/endpoint, to get the fields for a particular supercharger, I read out the changes, collect all the countries that have at least one supercharger with changes, and then pull the lists of all superchargers in those affected countries, only to read out the ones that effectively appeared in the list of changes.

It works, but it seems like a waste of resources. I would be great to just get the JSON for one particular site, on the basis of its id.

Any help or guidance would be great !!!

Looking at the source code on GitHub I did not find any API for that.
The main API URLs are:
https://supercharge.info/service/supercharge/allSites
https://supercharge.info/service/supercharge/allChanges
https://supercharge.info/service/supercharge/country
https://supercharge.info/service/supercharge/region
https://supercharge.info/service/supercharge/databaseInfo
https://supercharge.info/service/supercharge/discuss?siteId=123
https://supercharge.info/service/supercharge/site/stallCount

When the site needs to get data for just one supercharger it uses the function “Sites.getById(id)”
But this function also only goes through the whole list:
grafik

Also please note that only changes to the status of the supercharger sites (planned, construction, open…) are on the changes sites. Updates on stall count, location and so on will not create an entry there.

So you could use the output of databaseInfo to know when you need to download the complete list.

Wow, thank you so much for this. Indeed, if this is the case, processing the /changes endpoint doesn’t make a lot of sense for me, and I will just have to re-process the entire list daily or weekly.