Ohje API-avaimen käyttöön

Avoimet rajapintapalvelut tarjotaan maksuttomina Maanmittauslaitoksen avoimen rajapintapalvelun käyttöehtojen mukaisesti. Palveluiden käyttö edellyttää API-avaimen liittämistä rajapinnan palvelupyyntöihin.

Seuraavien rajapintojen käyttöön tarvitaan API-avain:

API-avaimien luominen ja hallinta

Voit luoda API-avaimen Maanmittauslaitoksen OmaTili-palvelussa.

  1. Rekisteröidy OmaTili-palveluun.
  2. Kirjaudu palveluun rekisteröimälläsi käyttäjätunnuksella.
    Kirjautumisen jälkeen voit
    - luoda uuden API-avaimen,
    - poistaa olemassa olevan API-avaimen.
    - muokata tietojasi tai poistaa käyttäjätunnuksesi.

Unohtuiko OmaTili-palvelun salasana? Tilaa uusi salana.

API-avaimen käyttö

API-avain (eli API-key) on merkkijono, joka tulee liittää jokaiseen avoimen rajapinna palvelupyyntöön.

Tähän on tarjolla kaksi vaihtoehtoa:

HTTP Basic Authentication 

  • rajapintapyynnön URL välitetään palveluun sellaisena kuin URL on määritelty palvelun dokumentaatiossa
  • käytettäessä rajapintapalvelua selaimesta (selaimen osoitelaatikon kautta) tai esim. QGIS-ohjelmistosta, asiakasohjelmisto pyytää käyttäjältä käyttäjätunnusta ja salasanaa - tällöin API-avain syötetään käyttäjätunnuksen paikalle ja salasana voidaan jättää tyhjäksi   
  • käytettäessä rajapintapalvelua itse ohjelmoitavasta asiakassovelluksesta
    • jokaiseen rajapintapalveluun tehtävään HTTPS-pyyntöön on liitettävä Authorization-header, jonka muoto Basic HTTP Authentication (https://tools.ietf.org/html/rfc7617) mukainen
    • Authorization-headerissa user-id kentän arvoksi tulee asettaa API-avaimen merkkijono täsmällisenä ja password kenttä jätetään tyhjäksi
  • etuna tätä vaihtoehtoa käytettäessä on se että rajapintapalvelun resurssien väliset URL-linkit toimivat sellaisenaan, kunhan jokaisessa HTTPS-pyynnössä mukana em. kuvattu Authorization-header 

URL-parametri

  • API-avain voidaan välittää rajapintapalveluun myös URL-parametrina
  •  jos rajapintapalvelun tietty resurssi palauttaa URL-linkin toiseen resurssiin, niin tämä linkki ei sisällä API-avainta, vaan käyttäjän on itse lisättävä API-avain URL-parametrina myös viitatun resurssin URL-linkkiin
  • URL-parametrin muoto:
    • api-key=<oma-api-avain>