Verkkotietopisteen sähköisen rajapinnan ohje ja tekninen kuvaus

Samankaltaiset tiedostot
Verkkotietopisteen sähköisen rajapinnan käyttöönotto

Suuli api dokumentaatio

Verkkotietopiste.fi. Palvelun käyttöohjeet tiedon hakijalle

Avoin metsätieto - Rajapintapalvelut

Yhteisrakentamisverkoston uutiskirje 02/2018

Verkkotietopiste.fi. Usein kysytyt kysymykset

KaTSO. KaTSO FAQ. Solteq Oyj. (järjestelmätoimittaja) Päivitetty Update disclaimer here.

Järjestelmäarkkitehtuuri (TK081702)

Verkkotietopiste.fi. Palvelun käyttöohjeet

Kanta PHR:n CapabilityStatement ja REST-API. Eeva Turkka

Kanta PHR:n CapabilityStatement ja REST-API. Eeva Turkka

Maksuturva-palvelun käyttöönottolomakkeen rajapintakuvaus verkkokauppaohjelmistolle

Sosiaalihuollon asiakastiedon arkiston validointipalvelu. Käyttöohje

Veronumero.fi Tarkastaja rajapinta

Tulorekisteri: Varmenne Visma Fivaldi

Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen

Onecapital Invoicer XML API

Sosiaalihuollon asiakastiedon arkiston validointipalvelu

T2V2 Turvallisuushavaintoilmoitussanomakuvaus

T2V2 Vaaratilanneilmoitussanomakuvaus

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

Vaalikone.fi API Presidentinvaalit 2012

sertifikaattiratkaisu Apitamopki

Tilastokeskuksen rajapintapalveluiden käyttöönotto QGIS-ohjelmistossa

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tekstiviestipalvelun rajapintakuvaus

Trimble Feedback Mobile app ja rajapinnat Kuvaus

Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa

Tilastokeskuksen rajapintapalveluiden käyttöönotto MapInfo - ohjelmistossa Ohjeita laatiessa on käytetty MapInfon versiota 11.5.

Visma asiakaspalvelu Tukipyyntöjen lähettäminen

OP Tunnistuksen välityspalvelu

Seuraavat tasot sisältävät alueita ja pisteitä samassa tasossa. o Asemakaavat o Kaavayksiköt o Kiinteistöt

Mainosankkuri.fi-palvelun käyttöohjeita

Verkkotietopiste.fi palvelu yhteisrakentamisen tukena ja laajakaistarakentamisen eteneminen Päivi Peltola-Ojala, Johtava asiantuntija,

Kanta PHR:n Sandboxympäristöt. Eeva Turkka

Autentikoivan lähtevän postin palvelimen asetukset

T&M Autori Versio Series 60 -puhelimiin

Käyttöohje. Visy Access Net UPM

Basware Supplier Portal

Maksuturva-palvelun rajapintakuvaus verkkokaupalle / MAKSUN PERUUTUS

Contact Form 7 -lomakkeen yhdistäminen Timeline Manageriin

HELSINGIN KAUPUNGIN RAKENNUSVIRASTO - Pysäköinnin mobiilimaksaminen

Tilaajavastuu.fi. Muutoshistoria. Suomen Tilaajavastuu Oy. Raporttinoutaja Rajapinta yritysten tilaajavastuutietojen tarkistamiseen

Tätä ohjekirjaa sovelletaan alkaen.

Käyttäjähallintapalvelun REST-rajapinnat

VIRANOMAISEN PALUUKANAVA WS API. Suomi.fi-viestit julkinen rajapinta

VIRANOMAISEN PALUUKANAVA WS API. Suomi.fi-viestit julkinen rajapinta

Sähköisen luvan hakeminen Lahden asiointipalvelusta

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

Metsähallituksen Tarjouspalvelu.fi toimittajaportaalin esittely. Taimikonhoidon ja istutuksen hankinnat

WEB SERVICES RAJAPINTA SAMLINKIN TEKNINEN RAJAPINTAKUVAUS OHJELMISTOTALOILLE

Palvelukuvaus 1 (10) Handelsbankenin tunnistuspalvelun palvelukuvaus

Digiroad-aineiston hyödyntäminen rajapintapalveluiden kautta MapInfo

PRINTER DRIVER PÄÄKÄYTTÄJÄN OPAS

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla

OnniSMS Rajapintakuvaus v1.1

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Rajapintakuvaus Liikenneluvat

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Maventa Connector Käyttöohje

Metsähallituksen Tarjouspalvelu.fi toimittajaportaalin esittely

Visma sovellustuki Tukipyyntöjen lähettäminen

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

Tukipyyntö-toiminnon ohje

Muutostietojen ilmoittaminen sähköisellä lomakkeella NAPliikkumispalvelukatalogissa

Ajankohtaista tietoa LähiTapiolan verkkopalvelun pääkäyttäjille

Sähköposti ja uutisryhmät

Action Request System

Aimo-ohjauspaneelin käyttöohje Sisällys

EKP:N HANKINTAMENETTELYJEN VERKKOPALVELU OSALLISTUMINEN HANKINTAMENETTELYIHIN

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Varmennepalvelu - testipenkki. Kansallisen tulorekisterin perustamishanke

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

EVTEK-PROJEKTORI KÄYTTÖOHJE Tekijä: Teemu Tammivaara VBP04S

Verkkotietopiste.fi. Palvelun käyttöohjeet

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa

Osallistavan suunnittelun kyselytyökalu

ProTieto Oy. Verottajan ilmoitus. Käyttöohje alihankkijoille

SAMLINK VARMENNEPALVELU PALVELUKUVAUS OHJELMISTOTALOILLE

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Ennen varmenteen asennusta varmista seuraavat asiat:

Suomi.fi-palvelutietovaranto

Vaatimusluettelo. Liite2_Vaatimusluettelo. Tun nus (ID) Kpl Tärkeys Toimittajan kommentit Navigointi. Haut

Toimittajaportaalin pikaohje

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

MultiSender -mobiilisovellus

TIEDON LASKUN LÄHETTÄJÄN WEB-SOVELLUS. Käyttäjän ohje, Kotkan kaupunki

SmartShip Connect Lite lisäosa WooCommerce alustalle (c) Webbisivut.org

Contents AdsML ympäristö... 2 AdsML Testi ympäristö... 2 AdsML tuotantoympäristö... 2 AdsML käyttöliittymä... 3 Kirjautuminen...

SilvaToiminta Versio 1.0. SilvaToiminta. Pikaohje Versio Oy Silvadata Ab Pikaohje 1

Tämän ohjeen avulla pääset alkuun Elisa Toimisto 365 palvelun käyttöönotossa. Lisää ohjeita käyttöösi saat:

NAVIGAATTORIN ASENNUS JA MUOKKAUS

KULTA2-JÄRJESTELMÄN KÄYTTÖOPAS Liikunta-, kulttuuri-, nuoriso-, hyvinvointiavustukset

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

Päivitetty JETI pikaohje. Ennakkosuunnitelman luonti

Piirustusten toimittaminen rakennusvalvontaan. Ohje rakennusvalvonnan asiakkaille

Transkriptio:

Verkkotietopisteen sähköisen rajapinnan ohje ja tekninen kuvaus 15.11.2017

1 Sisältö 1 Johdanto... 2 2 Asiakastuki... 2 3 Käyttäjätunnuksen ja RSA-avaimen hankkiminen... 2 4 Suunnitelma- tai verkkoalueen lähettäminen, päivittäminen, poistaminen ja hakeminen rajapinnan kautta... 2 5 Tuetut geometriatyypit... 3 6 Suunnitelmien identifiointi... 4 7 Esimerkkisanomat ja http-statuskoodit... 4 7.1 Rajapinnan osoite... 4 7.2 Rajapintakutsun osoite... 4 8 Maksuttoman palvelun laajuus... 4 9 Aineistopäivityksen tuki... 5 10 Autentikaatioavaimen hankinta... 6 11 Verkkoalueen tai rakennussuunnitelman lisääminen ja päivittäminen... 7 12 Omien verkkojen haku... 8 13 Verkkojen haku paikkatiedon perusteella... 9 14 Verkon poistaminen rajapinnan kautta... 10 15 Kenttien määritelmät... 11 16 Rajapinnan virheilmoitukset... 12 17 Rajapintojen toteutus ja testaus... 12

2 1 Johdanto 2 Asiakastuki Verkkotietopisteen sähköinen rajapinta on tarkoitettu verkkotoimijoille verkkoalueiden ja rakentamissuunnitelmien tietojen toimittamiseksi Verkkotietopisteeseen sekä hakujen tekemiseen. Rajapinnan kautta verkonomistaja voi toimittaa palveluun uusia kohteita sekä hakea, päivittää tai poistaa palvelussa jo olevia kohteita. Sähköisen rajapinnan käyttöä varten verkkotoimija tarvitsee organisaatiokohtaisen systeemi-tasoisen käyttäjätunnuksen, RSAautentikointiavaimen ja JSON Web Tokenin. Verkkotoimija voi hankkia tunnuksen ja avaimen kirjautumalla https://verkkotietopiste.fi/ -palveluun ja tekemällä siellä pyynnön tunnusten luonnista palvelun Ylläpitovälilehdellä. Tämän ohjeen luvuissa 10-17 annetaan tekninen kuvaus Verkkotietopisteen sähköisestä rajapinnasta, rajapintaan lähetettävistä sanomista ja esimerkkivastauksista. Verkkotietopisteen asiakastuki palvelee arkisin klo 8-17 puhelimitse 010-3474935 ja sähköpostitse verkkotietopiste@johtotieto.fi. 3 Käyttäjätunnuksen ja RSA-avaimen hankkiminen Alla on kuvattu se, miten verkkotoimija saa tilattua sähköisen rajapinnan käytössä tarvittavan verkkotoimijakohtaisen käyttäjätunnuksen ja RSAavaimen. Verkkotoimija tunnistetaan tunnuksilla, joita on syytä käsitellä huolellisesti niin, että tieto ei päädy asiattomien käsiin. 1. Ennen rajapinnan käyttöönottoa, käyttäjän tulee tunnistautua Verkkotietopisteeseen (https://verkkotietopiste.fi/ -palveluun) Katsotunnisteella. 2. Käyttäjä menee Verkkotietopisteen Ylläpito-välilehdelle ja lähettää pyynnön RSA-avaimen ja systeemi-tasoisen käyttäjätunnuksen luomiseksi. 3. Verkkotietopisteen asiakaspalvelu lähettää RSA-avaimen ja systeemi-tason tunnuksen salattuna sähköpostiviestinä pyydettyyn sähköpostiosoitteeseen. Verkkotoimija saa tässä yhteydessä tunnuksen ja avaimen sekä palvelun tuotanto- että testirajapintoihin. 4 Suunnitelma- tai verkkoalueen lähettäminen, päivittäminen, poistaminen ja hakeminen rajapinnan kautta Seuraavissa vaiheissa kuvataan suunnitelma- tai verkkoaineiston lähettäminen Verkkotietopisteen rajapintaan. Lähettämistä varten tarvitaan JSON Web Token, joka pyydetään rajapinnasta. 1. Käyttäjä lähettää rajapinnalle RSA-avaimella enkryptoidun JSON Web Tokenin. 2. Vastauksena saadaan 60 minuuttia voimassa oleva access token.

3 3. Verkonomistaja lähettää verkkoalueet / rakentamissuunnitelmat yksitellen https-pyyntöinä rajapintaan. 4. Verkonomistaja vastaanottaa vastaussanoman. Prosessi on kuvattu seuraavassa kaaviossa: Päivitettäessä jo olemassa olevan rakentamissuunnitelman tai verkkoalueen tietoja, pyynnöt rajapintaan lähetetään samalla tavoin, kuin kohdissa 1-4 on kuvattu, mutta pyynnössä käytetään olemassa olevan rakentamissuunnitelman tai verkkoalueen ID:tä. Rajapinnan tekninen kuvaus on esitetty luvussa 15 ja esimerkkisanomat on esitetty luvuissa 10-14. Esimerkki toteutuksesta kuvataan yksityiskohtaisemmin luvussa 17. Lisäksi palvelun kautta voi hakea olemassa olevia verkkoja tai rakennussuunnitelmia, jotka risteävät kartalle haetun alueen kanssa. Rakennussuunnitelmia haettaessa voidaan käyttää lisäksi päivämäärärajausta. Suunnitelmien ja verkkoalueiden päivittämistä rajapinnan kautta voi testata ensin testirajapinnassa. Testirajapinnan toiminnallisuudet ja autentikointi ovat samat, kuin tuotantopuolella. 5 Tuetut geometriatyypit Verkkoalueen tai suunnitelman geometria toimitetaan rajapintaan geojson-muodossa. Sallittuja geometriatyyppejä ovat Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon sekä GeometryCollectionit (yhdistelmiä edellisistä geometriatyypeistä). Itseään leikkaavia Polygon -tyypin geometrioita ei sallita. Viiva saa leikata viivan tai alueen ja alueessa voi olla reikiä. Verkkotietopisteen koordinaatisto on ETRS-TM35. Muille koordinaatistoille ei ole tällä hetkellä tukea.

4 Tällä hetkellä Verkkotietopisteeseen ei tallenneta z-koordinaattia. Verkkotietopisteeseen voi tallentaa dataa ainoastaan Suomen alueelta. Puolustusvoimien alueille ei voi tallentaa verkkoalueita tai suunnitelmatietoja. Puolustusvoimien alueelle osuvassa haussa kaikki kentät saavat arvon null, lukuun ottamatta arvoa protectedarea, joka saa arvon true. 6 Suunnitelmien identifiointi Verkonomistaja voi käyttää suunnitelman tai verkkoalueen identifiointiin joko omaa ID:tä (externalid) tai Verkkotietopisteen luomaa ID:tä. ID:tä käytetään, kun tietoja päivitetään ja poistetaan. Mikäli verkonomistaja käyttää kohteen tunnistamiseen Verkkotietopisteen ID:tä, verkonomistajan tulee tallentaa ID vastaussanomasta. Verkonomistaja vastaa ID:iden hallinnasta. Jos verkonomistaja käyttää omaa ID:tä, ja se halutaan vaihtaa, aikaisempi verkkoalue tai rakentamissuunnitelma pitää ensin poistaa ja sen jälkeen käyttäjän pitää luoda uusi kohde poistetun tilalle. 7 Esimerkkisanomat ja http-statuskoodit Rajapinta palauttaa pyynnön jälkeen vastaussanoman ja http-statuskoodin, joka kertoo tiedonsiirron onnistumisesta. Tarkempi rajapinnan tekninen kuvaus sekä esimerkkisanomat esitellään luvuissa 10-17. 7.1 Rajapinnan osoite Rajapinnan osoite on api.verkkotietopiste.fi. Testirajapinnan osoite on testapi.verkkotietopiste.fi. 7.2 Rajapintakutsun osoite Käyttäjä voi tarkistaa, onko sovelluksen sähköinen rajapinta päällä tekemällä rajapintakutsun. Rajapintakutsu https://api.verkkotietopiste.fi/api/external/ping Testirajapintakutsu https://testapi.verkkotietopiste.fi/api/external/ping 8 Maksuttoman palvelun laajuus Verkonomistaja saa maksutta käyttöönsä rajapintapalvelun, testirajapinnan ja rajapintaan liittyvän dokumentaation. Rajapintapalveluun kuuluu autentikointipalvelu, jolla käyttäjän organisaatio tunnistetaan. Dokumentaatio sisältää tämän rajapinnan käyttöönotto-ohjeen, teknisen kuvauksen ja esimerkkisanomat, joiden avulla verkonomistaja voi tarvittaessa selvittää virhetilanteita.

5 9 Aineistopäivityksen tuki Tarvittaessa verkonomistaja voi pyytää tukea aineistopäivitykseen Verkkotietopisteen palveluntarjoajalta. Tarjottava tuki voi olla rajapinnan käyttöön liittyvää konsultointia ja ohjeistusta tai tiedonsiirron toteuttamista verkonomistajan puolesta kertaluonteisesti tai jatkuvana palveluna esim. WFS-rajapinnan kautta. Lisäksi palveluntoimittaja voi erikseen tilattaessa tehdä koordinaatistomuunnoksia, suunnitelma-alueiden bufferointia tai digitointia. Aineistopäivityksen tukeen liittyvät palvelut on kuvattu alla olevassa taulukossa esimerkin omaisesti. Kun otat yhteyttä palveluntarjoajaan, voidaan koota yrityksesi tarpeita parhaiten vastaava kokonaisuus. Aineistopäivityksen tukeen liittyvissä tiedusteluissa voi ottaa yhteyttä: Sanna Mäyrä, Sito Oy, p. 040-581 2915, sanna.mayra@sito.fi. Lisätietoa aineistopäivityksen tuesta saat myös Siton www-sivuilta: https://www.sito.fi/31123/verkkotietopiste-palvelulla-tavoitellaanyhteisrakentamisen-edistamista

6 10 Autentikaatioavaimen hankinta Sähköisen rajapinnan käyttöön tarvitaan salainen RSA-avain sekä erillinen systeemikäyttäjätili, jonka hankkiminen on kuvattu luvussa 3. Näillä tiedoilla rajapintaan autentikoidutaan lähettämällä pyyntö osoitteeseen https://api.verkkotietopiste.fi/api/external/gettoken. Pyyntö tehdään autentikaatiopalvelun ja käyttäjän yhteisellä salaisella RSAavaimella allekirjoitetulla JSON Web Tokenilla. Esitäytettyyn JSON Web Tokeniin kuuluu kolme kenttää, iss (issuer), sub (subject) ja aud (audience). iss & sub täytetään systeemitilin käyttäjätunnuksella. aud on Verkkotietopisteen autentikaatiopalvelussa määritelty testi- ja tuotantopalvelulle erillinen tunniste. Tämä tunniste toimitetaan verkkotoimijoille salaisen RSA-avaimen yhteydessä, valmiiksi esitäytetyn JWT-tiedoston sisällä. Esimerkki JSON Web Tokenin sisällöstä: "iss":"veli.verkko", "sub":"veli.verkko", "aud":"aa521daa-c812-412a-9ba6-d59fb46ad8c8", iat :1503495733, exp :1503499333} RSA-avaimella allekirjoittaminen tehdään RS256-enkryptointikeinoa käyttäen, ja JSON Web Tokeniin tarvitaan siinä yhteydessä lisättävän attribuutit iat (issued at, allekirjoitusaika) & exp (expiration time, viimeinen elinaika). Nämä voi lisätä JWT:hen manuaalisesti (kts. yllä) tai koneellisesti työkalusta riippuen. Aikamääreet ilmoitetaan sekunteina UNIX-ajassa. Access token on voimassa tunnin autentikoitumisesta. Esimerkki gettokeeniin lähetettävästä pyynnöstä (POST): Header: Content-Type: application/x-www-form-urlencoded Body: jwt=eyj0exaioijkv1qilcjhbgcioijsuzi1nij9.eyjpc3mioijvbgxplmtvbnrry W5lbiIsInN1YiI6Im9sbGkua29udGthbmVuIiwiYXVkIjoiYWE1MjFkYWEtYzgxM i00mtjhltliytytzdu5zmi0nmfkogm4iiwiawf0ijoxntaxnjy2mzm5odywlc JleHAiOjE1MDE3NTI3Mzk4NjB9.WuBC-TLiVQKxp3igPL1kBA- HeqF6loZ1nqOD5s7AzTHcfoHrL7fMebOdoU7dxd_NqAp09PaapC4Am6tfWwc SDfulwTjiSBjoO6NgD9PTqV7n5qgoHQlGvETaoNa7nrByv74G_qRyh6hKbhHW pt86yu4ktchhmdm4zbnnxi1u5ykc07_tulviiq31nyfb- UFB1WaVIFPV2pW15DDOE3MWyLHjUQyGIq3AKQFo2ZkozlyByYJ6- NIJB3C6i8l2dBbkpYd71qtT2WIPvWjoSzXk8x5qey1kqNCZxUSyNXb1nLEqgO 7d9V6E9cRcGfS0QSMMIkLnP-xvMqXpSltMatZfDQ Esimerkkivastaus (200 OK): } "access_token": "49c0da49-8677-4bad-bea8-34cbb02e80f7"

7 11 Verkkoalueen tai rakennussuunnitelman lisääminen ja päivittäminen Verkonomistaja voi access tokenin saatuaan lähettää POST-pyynnön palvelun osoitteeseen https://api.verkkotietopiste.fi/api/external/verkko luodakseen tai päivittääkseen sen kautta verkkoja tai rakennussuunnitelmia. Verkon tai rakennussuunnitelman tunnistamiseen käytetään joko Verkkotietopisteen ID:tä (networkid) tai verkonomistajan omaa ID:tä (externalid). Mikäli kohteen ID:tä ei aikaisemmin ole ollut Verkkotietopisteessä, luodaan uusi kohde. Esimerkkipyyntö (POST): Autentikoinnissa käytettävän Authorization: Bearer -otsikkoon lisättävän access tokenin hankinta kuvataan luvussa 10. Header: Authorization: Bearer 49c0da49-8677-4bad-bea8-34cbb02e80f7 Content-Type: application/json Body: "name": "Testiverkko", "externalid": "Verkonomistajan sisäinen tunniste", "networktype": "Sähkö", "additionaltype": "Pienjänniteverkko", "email": "foo@bar.com", "plan": "true", "readinesslevel": "Toteutetaan", "freetext": "Vapaamuotoista lisätietoa verkolle", "startdate":"2017-09-11", "enddate":"2017-12-25", "geometry":"\"type\":\"polygon\",\"coordinates\":[[[393193.4239115723, 6677097.533743208],[387397.8113234864,6674496.938351118],[384239.9454902344,6679921.037311763],[390704.2826077149,6681518.54590 97605],[393193.4239115723,6677097.533743208]]]}" } Esimerkkivastaus (200 OK): "name": Testiverkko, "networkid": 7, "externalid": "Verkonomistajan sisäinen tunniste", "networktype": "Sähkö", "additionaltype": "Pienjänniteverkko", "readinesslevel": "Toteutetaan", "email": "foo@bar.com", "plan": true, "confirmed": true, "attachments": null, "freetext": "Vapaamuotoista lisätietoa verkolle", "startdate": "2017-09-11",

8 "enddate": "2017-12-25", "geometry": \"type\":\"polygon\",\"coordinates\":[[[393193.4239115723,6677097.533 743208],[387397.8113234864,6674496.938351118],[384239.9454902344,6679921.037311763],[390704.2826077149,6681518.5459097605],[3931 93.4239115723,6677097.533743208]]]}" } Confirmed-kenttä saa automaattisesti arvon true. Arvo ei ole tarpeellinen tieto vastaukseen, eikä sitä siksi käsitellä tämän dokumentin kenttien määrittelyssä. 12 Omien verkkojen haku Palvelulla voidaan hakea oman organisaation verkkoja sekä rakennussuunnitelmia API kutsulla https://api.verkkotietopiste.fi /api/external/verkko/omat/100, jossa annetaan parametrinä haettavien verkkojen maksimimäärä. Haku tehdään GET metodilla ja käyttäjän organisaatio tunnistetaan authorizaatio avaimen perusteella. Esimerkkipyyntö (GET): Autentikoinnissa käytettävän Authorization: Bearer -otsikkoon lisättävän access tokenin hankinta kuvataan luvussa 10. Header Authorization: Bearer 49c0da49-8677-4bad-bea8-34cbb02e80f7 Content-Type: application/json Esimerkkivastaus (200 OK): [ "networkid": 11, "externalid": null, "networktype": "Vesihuolto", "additionaltype": null, "readinesslevel": "Toteutetaan", "email": "foo@bar.com", "plan": true, "confirmed": true, "attachments": [], "freetext": null, "startdate": "2017-03-07", "enddate": "2017-03-25", "geometry": "\"type\":\"geometrycollection\",\"geometries\":[\"type\":\"polygon\",\" coordinates\":[[[377864.476809177,6672522.89364951],[378050.197118 512,6672551.96516379],[378051.321580016,6672538.47162573],[37787 4.038604842,6672512.75235108],[377864.476809177,6672522.8936495 1]]]}]}", "name": "tuulikuja_vesi", "organizationname": "Verkkorakentajat Oy", "organizationbusinessid": "6632246-7"

9 }, "networkid": 12, "externalid": null, "networktype": "Sähkö", "additionaltype": null, "readinesslevel": null, "email": "foo@bar.com", "plan": true, "confirmed": true, "attachments": [], "freetext": null, "startdate": "2017-03-07", "enddate": "2017-04-01", "geometry": "\"type\":\"polygon\",\"coordinates\":[[[358555.465900954,6684061.124 71242],[358514.25110791,6684082.02235396],[358549.080510483,6684 205.6667331],[358698.266451502,6684149.93968898],[358679.6907701 3,6684026.29530985],[358572.880602241,6684051.25638169],[358555. 465900954,6684061.12471242]]]}", "name": "ostari", "organizationname": "Verkkorakentajat Oy", "organizationbusinessid": "6632246-7" } ] Confirmed-kenttä saa automaattisesti arvon true. Arvo ei ole tarpeellinen tieto vastaukseen, eikä sitä siksi käsitellä tämän dokumentin kenttien määrittelyssä. 13 Verkkojen haku paikkatiedon perusteella Palvelulla haetaan olemassa olevia verkkoja tai rakennussuunnitelmia, jotka risteävät kartalle haetun alueen kanssa. Verkkoja haetaan osoitteesta https://api.verkkotietopiste.fi/api/external/verkko/hae. Hakua voidaan rajata verkkotyypiä ilmaisevalla networktype-arvolla (kts. vaihtoehdot kohdasta 15). Rakennussuunnitelmia haettaessa (kun request on true ) voidaan käyttää lisäksi päivämäärärajausta. Haku tehdään POST -metodilla, sillä haussa tarvittava geometria välitetään JSON-muodossa. Esimerkkipyyntö (POST): Autentikoinnissa käytettävän Authorization: Bearer -otsikkoon lisättävän access tokenin hankinta kuvataan luvussa 10. Header Authorization: Bearer 49c0da49-8677-4bad-bea8-34cbb02e80f7 Content-Type: application/json Body "request":true, "startdate":"2017-09-01", "enddate":"2017-10-15", "geometry":"\"type\":\"polygon\",\"coordinates\":[[[336294.5684718752,

10 6758396.794272277],[335294.5684718752,6758396.794272277],[335294.5684718752,6757396.794272277],[336294.5684718752,6757396.79427 2277],[336294.5684718752,6758396.794272277]]]}", networktype : Sähkö } Esimerkkivastaus: "networkid": 135, "request": true, "readinesslevel": "Toteutetaan", "networktype": "Sähkö", "additionaltype": "Keskijänniteverkko", "organizationname": "Verkkorakentajat Oy", "startdate": "2017-09-01", "enddate": "2017-11-05", "geometry": "\"type\":\"geometrycollection\",\"geometries\":[\"type\":\"polygon\",\" coordinates\":[[[373150.263711108,6675388.57105698],[389051.046965 601,6663054.31862592],[394066.48093606,6681890.0595372],[383032. 52620105,6685085.0767332],[373150.263711108,6675388.57105698]]]} ]}", "networkname": "Esimerkkisuunnitelma", "freetext": "Lisätietoa rakennushankkeesta", "protectedarea": false, "attachments": [] } 14 Verkon poistaminen rajapinnan kautta Verkkotoimija voi poistaa lisäämiään verkkoja ja hankesuunnitelmia osoitteen https://api.verkkotietopiste.fi/api/external/verkko/poista kautta. Poistettavan verkon tunnisteena voidaan käyttää joko externalid:tä tai networkid:tä. Autentikointiin käytetään saman käytännön access tokenia kuin edeltävän kohdan pyynnössä. Esimerkkipyyntö: Autentikoinnissa käytettävän Authorization: Bearer -otsikkoon lisättävän access tokenin hankinta kuvataan luvussa 10. Header: Authorization: Bearer 49c0da49-8677-4bad-bea8-34cbb02e80f7 Content-Type: application/json Body: "externalid": "Verkonomistajan sisäinen tunniste" } TAI "networkid": 591 }

11 Onnistunut verkon poistaminen kuitataan 200 OK:lla. Poistetutkin verkot löytyvät vielä palvelun tietokannasta, mutta niitä ei käsitellä millään sovelluksen tasolla, eikä niitä voi palauttaa/päivittää poistetusta poistamattomaksi. 15 Kenttien määritelmät networkid: Palvelun sisäinen, numeromuotoinen tunniste verkolle. Verkon tunnistamiseen tarvitaan joko tämä tai externalid. externalid: Verkonomistajan vapaamuotoinen tekstitunniste verkolle. Verkolle tarvitaan joko tämä tai networkid. Kentän maksimipituus on 50 merkkiä. name: Verkon järjestelmässä käyttämä nimi. Pakollinen kenttä. Kentän maksimipituus on 200 merkkiä. networktype: Verkkotyyppi. Sallitut vaihtoehdot: Viestintä, Sähkö, Kaukolämpö, Kaukojäähdytys, Vesihuolto, Liikenne ja Kaasu. Pakollinen kenttä. additionaltype: Verkon tarkentava lisätyyppi. Sallitut vaihtoehdot: Pienjänniteverkko, Keskijänniteverkko, Suurjänniteverkko ja Pien- ja keskijänniteverkko. Pakollinen ja sallittu kenttä vain ja ainoastaan sähköverkoille. email: Verkkoon tai rakennushankkeeseen liitettävä sähköpostiosoite, johon tiedon hakijan halutaan ottavan yhteyttä. Pakollinen kenttä. Kentän maksimipituus on 200 merkkiä. plan: Merkintä, joka määrittelee, lisätäänkö palveluun olemassa olevaa verkkoa vai rakennussuunnitelmaa. Validit arvot true ja false. true - arvo on rakennussuunnitelma ja false -arvo on olemassa oleva verkko. Pakollinen kenttä. startdate: Rakennushankkeen alkamispäivämäärä. Ilmoitetaan muodossa yyyy-mm-dd (esim. 2017-08-29 ). Pakollinen ja sallittu kenttä vain, mikäli plan on true. enddate: Rakennushankkeen päättymispäivämäärä muodossa yyyy-mmdd. Pakollinen ja sallittu kenttä vain, mikäli plan on true. readinesslevel: Määrittelee rakennussuunnitelman valmiusasteen. Voi olla Alustava tai Toteutetaan. Pakollinen ja sallittu kenttä vain, mikäli plan on true. freetext: Vapaamuotoisen tekstisisällön kenttä verkon tai hankkeen mahdollisille lisätiedoille. Valinnainen kenttä. Kentän maksimipituus on 2000 merkkiä. geometry: GeoJSON-muotoinen geometria verkon tai rakennussuunnitelman alueesta. Tuetaan geometriatyyppejä Point, MultiPoint, LineString, MultiLineString, Polygon & MultiPolygon sekä GeometryCollection -kokoelmia edeltävistä geometrioista. Arvon sisäiset lainausmerkit tulee alustaa \ -koodinvaihtomerkillä (esim. type : Polygon, coordinates : -> \"type\":\"polygon\",\"coordinates\":)

12 attachments: Verkon tai rakennushankkeen mukaan liitettävät liitetiedostot. Ulkoinen rajapinta ei tällä hetkellä ota vastaan liitetiedostoja missään muodossa, mutta niitä voi lisätä palvelun graafisen käyttöliittymän välityksellä. Tulevissa pyynnöissä liitteitä ei käsitellä ja saapuvissa vastauksissa niitä ei näy, vaikka hankkeella olisikin liitteitä. Hankkeen liitetiedostojen metatietoja voidaan tarvittaessa liittää osaksi järjestelmäkäyttäjien rajapintaa. request: Verkon aluehaussa käytettävä merkintä olemassa olevan verkon tai rakennussuunnitelman haulle. true arvo on rakennussuunnitelma, false arvo olemassa oleva verkko. Kenttien järjestyksellä pyynnössä ei ole merkitystä. 16 Rajapinnan virheilmoitukset HTTP status 200: Onnistunut pyyntö mahdollisine lisätietoineen (access token, vahvistus luodusta verkosta/hankkeesta) HTTP status 400: Bad Request: Pyynnön JSON on rakenteellisesti rikkinäinen, tai se yrittää tehdä kiellettyä operaatiota (esim. päivittää toisen organisaation verkkoa). Katso tarkempi virheviesti ja korjaa tarvittaessa JSONin rakenne vastaamaan esimerkkipyyntöä. HTTP status 401: Unauthorized: gettokenille toimitetut tiedot eivät ole valideja, tai muihin rajapintakutsuihin käytetty access token on virheellinen/vanhentunut. gettoken ei anna tämän tarkempia virheilmoituksia tietoturvasyistä. HTTP status 406: Not Acceptable. Rajapinnalle annettu JSON ei vastaa sen validointitarpeita. Pyyntöön liittyvät puuttuvat tai sopimattomat tiedot ilmoitetaan JSON-muotoisena listana. HTTP status 415: Unsupported Media Type: Toimitettu pyyntö ei vastaa palvelun odottamaa sisältötyyppiä. Tarkasta, että lähettämäsi JSON on määritelty pyyntöön oikeanmuotoisella application/json Content-Type - headerillä. Virheviesti ilmoittaa tulkatun Content-Typen. HTTP status 502: Bad Gateway: Rajapinta on alhaalla tai päivitettävänä. 17 Rajapintojen toteutus ja testaus Rajapintojen toteuttamiseen voidaan käyttää esimerkin mukaista Java koodia, joka on ladattavissa osoitteesta https://verkkotietopiste.fi/vtpexample.zip Lisäksi rajapintoja voidaan testata helposti Postman-sovelluksella (https://www.getpostman.com/). Sillä voi kokeilla eri rajapintakutsuja ja generoida koodi eri ohjelmointikielille varsinaista kutsua varten. Esimerkiksi luvun 10 autentikaatioavaimen hankinta, voidaan tehdä Postman -sovelluksella näin:

13 Kuva 1: Postman sovellus Headerin ja urlin määrittäminen Määritä Apin tyypiksi POST ja anna Apin url. 1. Täytä headers lista Key: Content-Type Value: application/x-www-form-urlencoded Kuva 2: Bodyn sisällön määrittäminen 1. Siirry Body välilehdelle ja täytä kentät Key: jwt Value: Allekirjoitettu JSON Web Token 2. Kokeile rajapintaa Send napilla.

14 3. Code painikkeella pääset näkemään miten kutsu voidaan tehdä eri ohjlmointikielillä. Kuva 3: Kutsun esimerkkikoodit eri kielillä

Yhteystiedot PL 313 Itämerenkatu 3A 00181 Helsinki puh: 0295 390 100 fax: 0295 390 270 www.viestintävirasto.fi