Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonbengtsson/vasttrafik-api
Mirror of the official Västtrafik API (reseplaneraren) for JavaScript
https://github.com/simonbengtsson/vasttrafik-api
mirror vasttrafik
Last synced: 6 days ago
JSON representation
Mirror of the official Västtrafik API (reseplaneraren) for JavaScript
- Host: GitHub
- URL: https://github.com/simonbengtsson/vasttrafik-api
- Owner: simonbengtsson
- License: unlicense
- Created: 2017-08-06T20:26:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-17T12:30:54.000Z (9 months ago)
- Last Synced: 2024-09-19T07:41:06.948Z (about 2 months ago)
- Topics: mirror, vasttrafik
- Language: JavaScript
- Homepage: https://developer.vasttrafik.se/portal/#/api/Reseplaneraren/v2/landerss
- Size: 620 KB
- Stars: 16
- Watchers: 7
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Västtrafik API for JavaScript
This is a mirror of the official Västtrafik Travel Planner API Client for Javascript. For more information, see [the official api website](https://developer.vasttrafik.se/apis/13/v4).
### Usage
Below is an example of how to use the LocationsApi endpoint. See all endpoints
in ./mirror/README.md or https://developer.vasttrafik.se/apis/13/v4NodeJS (see ./example.js)
```js
const vasttrafik = require("vasttrafik-api");// Sample credentials. Be sure to get your own before going into production.
(async () => {
const key = "8aOzt2RmMIG0OXSyIgjM2IkHvAoa";
const secret = "OMxjxjaXblXdpn8E1gYFehHyx3Ea";
await vasttrafik.authorize(key, secret);const api = new vasttrafik.LocationsApi();
const res = await api.locationsByTextGet({ input: "Lindholmen" });
console.log(res.text);
})();
```Browsers (see ./example.html)
```html
(function () {
// Sample token. Generate access token on server (see example.js)
var token = "eyJ4NXQiOiJaV05sTURNNE56SmpZ...";
vasttrafik.setAccessToken(token);var api = new vasttrafik.LocationsApi();
api
.locationsByTextGet({ input: "Lindholmen" })
.then(function (error, data, res) {
console.log(res.text);
});
})();```
### Authentication
If you just want to test things out you can use these sample credentials:
`key` '8aOzt2RmMIG0OXSyIgjM2IkHvAoa'
`secret` 'OMxjxjaXblXdpn8E1gYFehHyx3Ea'Don't forget to create your own credentials in the [developer portal](https://developer.vasttrafik.se/portal/#/) before going into production however since the sample ones might become invalid at any time.
### Changes
This repository is mostly a simple mirror of the official api client, but a few changes were made to make it easier to work with.
Helper methods added:
- `vasttrafik.authorize(key, secret, deviceId)` Fetches an access token with the specified key and secret (cannot be used in the browser)
- `vasttrafik.setAccessToken(token)` Authorizes upcoming api calls with the specified access token (obtained with authorize)Three patches applied to APIClient.js (commented with @monkeyPatch)
- JSON instead of XML is returned by default (see `mirror/src/ApiClient.js#448`)
- Fix promise usage (see `mirror/src/ApiClient.js#453`)### Version
- npm version patch|minor|major
- npm run deploy### Questions?
You can post questions about Västtrafik's API in the [developer forum](https://developer.vasttrafik.se/portal/#/community/forum/9). Also feel free posting issues or questions regarding this mirror here on github.