Skip to content

buren/stockholm-api

Repository files navigation

StockholmAPI

Simple JavaScript API client for Stockholm API.

Getting started

Requires node >= 8.9.0

npm install --save stockholm-api

Usage

⚠️ You must have an API key to make any request. Request one at api.stockholm.se.

Stockholm API keys are split in two ServiceGuideService ("Enhetsdatabasen"/Entity database) and PlaceService ("Platsdatabasen"/Place database) and you request the API keys separately.

Initialize

const StockholmAPI = require('stockholm-api')

const serviceGuideServiceAPIKey = 'your_api_key' // required
const serviceAPI = new StockholmAPI({ ServiceGuideServiceAPIKey: serviceGuideServiceAPIKey })

// or to initialize a PlaceService client
const placeServiceAPIKey = 'your_api_key' // required
const placeAPI = new StockholmAPI({ PlaceServiceAPIKey: placeServiceAPIKey })

Please note that currently there is no way to call both ServiceGuideService and PlaceService using one instance of the client - you have to create two if you need to talk to both.

Fetch all ServiceUnits of type "Utegym"/Outside gym

const id = '96a67da3-938b-487e-ac34-49b155cb277b'
api.getServiceUnits({ ServiceUnitTypes: id })
  .then((data) => {
    console.log('outside gyms', data)
  })

Fetch one ServiceUnit

const id = '2eec914c-595d-4148-85cb-97b35c7694d2'
api.getServiceUnits({ id: id })
  .then((data) => {
    console.log('Grimsta outside gym', data)
  })

Search

const name = 'stockholm'
api.getServiceUnits({ search: { name: name }})
  .then((data) => {
    console.log('stockholm search', data)
  })
  .catch((error) => { console.error(error) })

Parameters are automatically URI encoded

const name = 'Familj och relation'
api.getServiceUnitTypeGroups({ name: name })
  .then((data) => {
    console.log(data)
  })
  .catch((error) => { console.error(error) })

📆 Dates returned from the API are in a weird format /Date(1330524285303+0100)/, you can require a helper function that converts it to a JavaScript date object (UTC)

const convertAPIDate = require('./stockholm-api/convert-api-date')
const dateString = '/Date(1330524285303+0100)/'
console.log(convertAPIDate(dateString)) // 2012-02-29T13:04:45.303Z

See the full API client documentation or the Endpoint Schema.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/buren/stockholm-api.

Wish list

  • Test suite!
  • Describe each endpoint type - for example ServiceUnitTypeGroupInfos etc.
  • TypeScript definitions (move to TypeScript?)

Development

Setup

$ git clone https://github.com/buren/stockholm-api
$ cd stockholm-api
$ npm install

then set your API key

export STOCKHOLM_API_SERVICE_GUIDE_SERVICE_API_KEY=your_api_key

then to call most services index endpoint, run

$ npm run kitchen-sink # should print a lot of JSON

See the current API client documentation.

Links

License

The library is available as open source under the terms of the MIT License.

About

Stockholm API client

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •