Tievelho tarjoaa pääsyn muokkaamaan ja hyödyntämään tietosisältöänsä kattavien rajapintapalveluiden kautta. Palveluihin kuuluvat Metatietopalvelu, Hakupalvelu , REST-tyyppiset HTTP-rekisterirajapinnat, Latauspalvelu ja Lähetyspalvelu.
Rajapintojen käyttö on suunnattu järjestelmäintegraatioille, paikkatieto-ohjelmistoille (GIS) sekä data-analyytikoille. Tarjolla on sekä tuotantoympäristö (prd), staging-ympäristö (stg) järjestelmätestaukseen ja development-ympäristö (dev) sisäiseen testaukseen ja kehittämiseen. Staging-ympäristö on rajapintojen osalta identtinen tuotantoympäristön kanssa.
Tämä sivu kokoaa yhteen Tievelhon tarjoamat rajapinnat ja ohjeet niiden käyttöönottoon. Tekniset yksityiskohdat löydät kunkin rajapinnan omasta dokumentaatiosta. Niiden kautta pääset myös Swagger (OpenAPI) -kuvauksiin, joiden avulla voit tarkastella ja kokeilla rajapintojen ajantasaisia toimintoja.
1. Tunnistautuminen ja käyttöoikeudet
API-tunnukset, ympäristöt ja OAuth v2 -autentikaatio.
API-tunnukset, ympäristöt ja OAuth v2 -autentikaatio.
Käyttöliittymän käyttöön vaaditaan Väyläviraston Extranet-tunnuksia. Rajapintojen käyttöön tarvitaan kuitenkin erilliset organisaatiokohtaiset API-tunnukset. Organisaation sisällä tunnuksia voi käyttää useampi henkilö.
Käyttäjätunnuksiin sidotut käyttöoikeudet rajaavat, mihin rajapintoihin on pääsy. Oikeudet vaihtelevat sen mukaan, onko käyttäjä tiedon tuottaja vai hyödyntäjä, ja käsitteleekö käyttäjä yksittäisiä tai suurempia tietoeriä (esim. massainventoinnit). Lisäksi oikeudet voivat vaihdella eri ympäristöjen välillä. Käyttäjällä voi olla laajemmat oikeudet testiympäristöön (STG) ja suppeammat tuotantoympäristöön (PRD).
Tarkemmat ohjeet tunnuksien hakemiseen löytyvät Käyttöoikeudet-sivulta ↗.
Ympäristöt ja niiden osoitteetRajapinnoista on tarjolla sekä staging-ympäristö (stg) järjestelmätestaukseen että varsinainen tuotantoympäristö (prd). API-tunnukset ovat ympäristökohtaisia.
- Käyttöliittymien osoitteet: Tuotanto | Staging | Development
- Rajapinnan juuriosoitteet: Pyyntö juuriosoitteeseen palauttaa HTML-sivun palvelukohtaisiin dokumentaatioihin. Osoitteet ovat:
- Development-ympäristö (DEV):
https://apiv2devvelho.testivaylapilvi.fi - Staging-ympäristö (STG):
https://apiv2stgvelho.testivaylapilvi.fi - Tuotantoympäristö (PRD):
https://apiv2prdvelho.vaylapilvi.fi
- Development-ympäristö (DEV):
Erityisesti metatietopalvelun dokumentaatio on syytä käydä läpi.
Kaikki rajapintoihin tehtävät kutsut tulee autentikoida. Tämä tapahtuu liittämällä kutsuun OAuth v2 -standardin mukainen autorisaatioheader. Sen muodostamiseen tarvittava autorisaatio-token saadaan suorittamalla API-käyttäjätunnuksien avulla autentikaatio erilliseen rajapintaan. Onnistunut autentikaatio palauttaa rajoitetun ajan (tällä hetkellä 1 tunti) voimassa olevan tokenin.
Vaihe 1. Autentikaatiopyynnön tekeminenPyynnön tulee olla OAuth2-standardin (RFC 6749) mukainen client credentials grant flow. Pyyntö tulee tehdä POST-metodilla, HTTP Basic Authentication -autentikoituna (API-tunnus ja salasana), antaen pyynnön vartalona (HTTP form datana) kenttä grant_type=client_credentials.
- Development-ympäristö (DEV):
https://vayla-velho-dev.auth.eu-west-1.amazoncognito.com/oauth2/token - Staging-ympäristö (STG):
https://vayla-velho-stg.auth.eu-west-1.amazoncognito.com/oauth2/token - Tuotantoympäristö (PRD):
https://vayla-velho-prd.auth.eu-west-1.amazoncognito.com/oauth2/token
> curl -X POST -u "käyttäjätunnus:salasana" \
-d "grant_type=client_credentials" \
"https://vayla-velho-stg.auth.eu-west-1.amazoncognito.com/oauth2/token"
Onnistuneen pyynnön vastauksena palautuu JSON-objekti, joka sisältää autorisaatiotokenin ja sen voimassaoloajan sekunteina (3600 s = 1 tunti):
{"access_token":"eyJr... ...Pln4w",
"expires_in":3600,
"token_type":"Bearer"}
Vaihe 2. Autorisoidun rajapintapyynnön tekeminen
Saatu token tulee lisätä kaikkiin rajapintakutsuihin Authorization -headerissa muodossa: Authorization: Bearer <access_token>.
curl -H "Authorization: Bearer eyJr… …Pln4w" "https://apiv2stgvelho.testivaylapilvi.fi"Käyttö selaimella ja Swagger UI:ssa
Tavallisella selaimella pääset selaamaan HTML-pohjaista dokumentaatiota ja kokeilemaan Swagger UI:ta esimerkiksi Modheader-selainlaajennusta hyödyntämällä. Laajennus hoitaa tällöin autentikaation lisäämisen rajapintaosoitteisiin. Muista ottaa huomioon tokenin 1 tunnin expiroitumisaika.
2. Velhon tietorakenne ja rekisterit
Miten tieto on jäsennelty rajapinnoissa ja Swagger-kuvauksissa.
Miten tieto on jäsennelty rajapinnoissa ja Swagger-kuvauksissa.
Velho-järjestelmän tietorakenne koostuu taustapalveluista ja rekistereistä. Tievelhossa hallittavat tiedot on jaettu seuraaviin rekistereihin: hallintorekisteri, kuntorekisteri, liikennetietorekisteri, luokitusrekisteri, mittausrekisteri, onnettomuusrekisteri, päätösrekisteri, rakennerekisteri, sijaintipalvelu, tiekohderekisteri, toimenpiderekisteri sekä varusterekisteri.
Tievelhon tietorakenne on jaoteltu rekistereihin, jotka jakautuvat tietokokonaisuuksiin ja jotka muodostuvat kohdeluokista. Kohdeluokkien tietosisältö sekä tieto kenttien (avainten) pakollisuudesta ja arvojen tietotyypeistä löydät käyttöliittymän tietokuvauksesta ↗ tai kohdeluokkakohtaisilta ohjesivuilta ↗. Arvot voivat olla tietotyypiltään merkkijonoja, lukuja, totuusarvoja, avainluetteloita tai nimikkeistöjä (kentälle annettavia arvojoukkoja).
Swagger-dokumentaatioissa tietokokonaisuuksista käytetään termiä nimiavaruus. Rajapintakutsuissa kohdeluokkien tekniset nimet muodostuvat aina rakenteella: nimiavaruus/kohdeluokka. Kohdeluokkien tekniset nimet näkyvät rekistereiden swagger-dokumentaatioissa.
Esimerkki: Rakennerekisteriin kuuluvan ”Jakava kerros” -kohdeluokan tekninen nimi on paallysrakennekerrokset/jakavat-kerrokset.
Jokainen kohdeluokka on joko versioituva tai ei-versioituva. Tämä vaikuttaa suoraan rajapintojen käyttöön ja kohteiden elinkaaren hallintaan, erityisesti tietojen päivitysvaiheessa.
Kaikki kohdeluokat, rekisterit ja tietokokonaisuudet
| TIETOLÄHTEEN REKISTERI | TIETOKOKONAISUUS VELHOSSA | KOHDELUOKKA | TEMPORAALISUUS |
|---|---|---|---|
| Hallintorekisteri | Kunnossapitovastuu | Hoitosopimus | Versioituva |
| Hallintorekisteri | Kunnossapitovastuu | Korjaussopimus | Versioituva |
| Hallintorekisteri | Urakka | Inventointitapahtuma | Versioituva |
| Hallintorekisteri | Urakka | Maanteiden hoitourakka | Versioituva |
| Hallintorekisteri | Urakka | Muu urakka | Versioituva |
| Hallintorekisteri | Urakka | Palvelusopimus | Versioituva |
| Kuntorekisteri | Kunto-ja vauriotiedot | Pistemäinen puute | Versioituva |
| Kuntorekisteri | Kunto-ja vauriotiedot | Pistemäinen tiealueen poikkileikkausvaurio | Versioituva |
| Kuntorekisteri | Kunto-ja vauriotiedot | Välimäinen puute | Versioituva |
| Kuntorekisteri | Kunto-ja vauriotiedot | Välimäinen tiealueen poikkileikkausvaurio | Versioituva |
| Kuntorekisteri | Kunto-ja vauriotiedot | Välimäinen varustevaurio | Versioituva |
| Liikennetietorekisteri | Tunnusluvut ja liikennetiedot | Asukastiheys | Ei versioituva |
| Liikennetietorekisteri | Tunnusluvut ja liikennetiedot | Liikennelaskentamenetelmät | Versioituva |
| Liikennetietorekisteri | Tunnusluvut ja liikennetiedot | Liikennemäärät | Ei versioituva |
| Liikennetietorekisteri | Tunnusluvut ja liikennetiedot | Näkemäpituus | Ei versioituva |
| Liikennetietorekisteri | Tunnusluvut ja liikennetiedot | Näkemäprosentit | Ei versioituva |
| Luokitusrekisteri | Kansainväliset luokitukset | Eurooppatiet | Ei versioituva |
| Luokitusrekisteri | Kansainväliset luokitukset | TERN-verkko | Ei versioituva |
| Luokitusrekisteri | Kansalliset luokitukset | Erikoiskuljetusreitit | Ei versioituva |
| Luokitusrekisteri | Kansalliset luokitukset | Kävelyn ja pyöräilyn väylä | Ei versioituva |
| Luokitusrekisteri | Kansalliset luokitukset | Matkailutiet | Ei versioituva |
| Luokitusrekisteri | Kansalliset luokitukset | Museotiet | Ei versioituva |
| Luokitusrekisteri | Kansalliset luokitukset | Pääväylät | Ei versioituva |
| Luokitusrekisteri | Kansalliset luokitukset | Toiminnallinen luokka | Ei versioituva |
| Luokitusrekisteri | Kunnossapitoluokitukset | Päällysteen korjausluokka | Ei versioituva |
| Luokitusrekisteri | Kunnossapitoluokitukset | Soratieluokka | Ei versioituva |
| Luokitusrekisteri | Kunnossapitoluokitukset | Talvihoitoluokka | Ei versioituva |
| Luokitusrekisteri | Kunnossapitoluokitukset | Viherhoitoluokka | Ei versioituva |
| Luokitusrekisteri | Liikennetekninen luokitus | Asema maankäytön rakenteessa | Ei versioituva |
| Luokitusrekisteri | Liikennetekninen luokitus | Tekninen toimenpide | Ei versioituva |
| Luokitusrekisteri | Liikennetekninen luokitus | Väylän luonne | Ei versioituva |
| Luokitusrekisteri | Varautumiseen liittyvät luokitukset | Varareitit | Versioituva |
| Luokitusrekisteri | Varautumiseen liittyvät luokitukset | Varmistetut reitit | Versioituva |
| Luokitusrekisteri | Varautumiseen liittyvät luokitukset | Varareittiluokitus | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Mittausobjekti | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Päällystepaksuus | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Päällystevauriokartoitus | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Palvelutason mittaus pituusprofiili 100m | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Palvelutason mittaus pituusprofiili 10m | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Palvelutason mittaus poikkiprofiili 1m | Ei versioituva |
| Mittausrekisteri | Mittaustiedot | Sorateiden runkokelirikko | Ei versioituva |
| Onnettomuusrekisteri | Onnettomuustiedot | Onnettomuudet | Ei versioituva |
| Onnettomuusrekisteri | Onnettomuustiedot | Onnettomuusindeksi, linja | Ei versioituva |
| Onnettomuusrekisteri | Onnettomuustiedot | Onnettomuusindeksi, risteys | Ei versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Eläinvaroitukset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Erikoiskuljetusreitit (rajoitukset & päätökset) | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Kadunpitopäätökset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Katu- ja yksityistieliittymäluvat | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Kelirikkorajoitukset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Korkeusrajoitukset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Leveysrajoitukset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Liittymäkiellot | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Nopeusrajoituspäätökset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Nopeusrajoitukset | Ei versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Opasteet | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Putket, johdot ja kaapelit (päätökset) | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Suoja-aluerakentaminen | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Suolankäyttörajoitukset | Versioituva |
| Päätösrekisteri | Rajoitukset ja päätökset | Tienvarsimainosilmoitukset | Versioituva |
| Rakennerekisteri | Alusrakenne | Arinarakenteet | Versioituva |
| Rakennerekisteri | Alusrakenne | Paaluperustukset | Versioituva |
| Rakennerekisteri | Alusrakenne | Penkereet | Versioituva |
| Rakennerekisteri | Alusrakenne | Pohjamaa | Versioituva |
| Rakennerekisteri | Alusrakenne | Suojaukset ja eristykset | Versioituva |
| Rakennerekisteri | Alusrakenne | Täytöt | Versioituva |
| Rakennerekisteri | Alusrakenne | Vahvistetut maarakenteet | Versioituva |
| Rakennerekisteri | Päällysrakennekerrokset | Jakava kerros | Ei versioituva |
| Rakennerekisteri | Päällysrakennekerrokset | Kantava kerros | Ei versioituva |
| Rakennerekisteri | Päällysrakennekerrokset | Päällysrakenteen lujitteet | Versioituva |
| Rakennerekisteri | Päällysrakennekerrokset | Siirtymäkiilat | Versioituva |
| Rakennerekisteri | Päällysrakennekerrokset | Suodatinrakenteet | Versioituva |
| Rakennerekisteri | Päällyste- ja pintarakenne | Kasvillisuusrakenteet | Versioituva |
| Rakennerekisteri | Päällyste- ja pintarakenne | Ladottavat pintarakenteet | Versioituva |
| Rakennerekisteri | Päällyste- ja pintarakenne | Muut pintarakenteet | Versioituva |
| Rakennerekisteri | Päällyste- ja pintarakenne | Pintaukset | Ei versioituva |
| Rakennerekisteri | Päällyste- ja pintarakenne | Sidotut päällysrakenteet | Ei versioituva |
| Rakennerekisteri | Päällyste- ja pintarakenne | Sitomattomat pintarakenteet | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Erotusalue | Versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Kaista | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Keskialue | Versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Liikennesaarekkeet | Versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Levikkeet | Versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Luiska | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Ojan pohja | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Piennar | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Reuna-alue | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Tasanne | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Tiealueen poikkileikkauksen kaltevuustiedot | Ei versioituva |
| Sijaintipalvelu | Tiealueen poikkileikkaus | Tiealueen poikkileikkauksen leveystiedot | Ei versioituva |
| Taitorakennerekisteri | Taitorakenteet | Silta | Ei versioituva |
| Taitorakennerekisteri | Taitorakenteet | Tunneli | Ei versioituva |
| Tiekohderekisteri | Alueet | Palvelualueet | Versioituva |
| Tiekohderekisteri | Alueet | Pohjavesialueet | Versioituva |
| Tiekohderekisteri | Alueet | Suoja-alue | Ei versioituva |
| Tiekohderekisteri | Alueet | Tulvakohteet | Ei versioituva |
| Tiekohderekisteri | Alueet | Varasto- ja kuormausalueet | Versioituva |
| Tiekohderekisteri | Kohdepisteet ja -välit | Alikulkupaikat | Versioituva |
| Tiekohderekisteri | Kohdepisteet ja -välit | Katu- ja yksityistieliittymät | Versioituva |
| Tiekohderekisteri | Kohdepisteet ja -välit | Mittaradat | Versioituva |
| Tiekohderekisteri | Kohdepisteet ja -välit | Pyörätien jatkeet | Versioituva |
| Tiekohderekisteri | Kohdepisteet ja -välit | Rautatietasoristeykset | Versioituva |
| Tiekohderekisteri | Kohdepisteet ja -välit | Suojatiet | Versioituva |
| Tiekohderekisteri | Tiensuuntaus | Kaarteet | Ei versioituva |
| Tiekohderekisteri | Tiensuuntaus | Mäet | Ei versioituva |
| Tiekohderekisteri | Ympäristö | Viheralueet | Versioituva |
| Tiekohderekisteri | Ympäristö | Viherkuviot | Versioituva |
| Tiekohderekisteri | Ympäristö | Viherhoitoalueet | Versioituva |
| Tiekohderekisteri | Ympäristö | Viherhoitokuviot | Versioituva |
| Tiekohderekisteri | Tiemerkinnät | Pienmerkinnät | Versioituva |
| Tiekohderekisteri | Tiemerkinnät | Pituussuuntaiset merkinnät | Ei versioituva |
| Tiekohderekisteri | Tiemerkinnät | Täristävät jyrsinnät | Ei versioituva |
| Toimenpiderekisteri | Toimenpiteet | Tiealueen poikkileikkaustoimenpide | Versioituva |
| Toimenpiderekisteri | Toimenpiteet | Tienrakennetoimenpiteet | Ei versioituva |
| Toimenpiderekisteri | Toimenpiteet | Välimäinen varustetoimenpide | Versioituva |
| Varusterekisteri | Varusteet | Aidat | Versioituva |
| Varusterekisteri | Varusteet | Kaiteet | Versioituva |
| Varusterekisteri | Varusteet | Kaivot | Versioituva |
| Varusterekisteri | Varusteet | Liikennemerkit | Versioituva |
| Varusterekisteri | Varusteet | Portaalit | Versioituva |
| Varusterekisteri | Varusteet | Portaat | Versioituva |
| Varusterekisteri | Varusteet | Portit | Versioituva |
| Varusterekisteri | Varusteet | Pumppaamot | Versioituva |
| Varusterekisteri | Varusteet | Puomit, sulkulaitteet ja pollarit | Versioituva |
| Varusterekisteri | Varusteet | Putket, johdot ja kaapelit | Versioituva |
| Varusterekisteri | Varusteet | Pylväät | Versioituva |
| Varusterekisteri | Varusteet | Reunapaalut | Versioituva |
| Varusterekisteri | Varusteet | Reunatuet | Versioituva |
| Varusterekisteri | Varusteet | Rumpuputket | Versioituva |
| Varusterekisteri | Varusteet | Tienvarsikalusteet | Versioituva |
| Varusterekisteri | Varusteet | Tienvarsimainokset | Versioituva |
| Varusterekisteri | Varusteet | Valaistukset | Ei versioituva |
3. Tietojen hakeminen
Tietojen hakeminen eri rajapintapalveluista
Tietojen hakeminen eri rajapintapalveluista
Tievelhon tietosisältöä pystyy hakemaan koneluettavasti kolmen pääasiallisen kanavan kautta: latauspalvelun, hakupalvelun ja suoran REST-api rekisterirajapinnan kautta. Tiivistettynä erot näiden välillä ovat seuraavat:
Tehokkain tapa massatiedon käsittelyyn. Tiedot päivittyvät kerran vuorokaudessa. Palauttaa NDJSON-muodossa.
Mahdollistaa monimutkaiset hakulausekkeet. Tieto on reaaliaikaista. Palauttaa tarvittaessa vain määritellyt tietokentät.
Suora yhteys perusrekistereihin reaaliaikaisesti. Soveltuu täsmähakuihin ja ylläpitoon. Palauttaa NDJSON-muodossa.
Latauspalvelu tarjoaa rajapinnat saatavilla olevien kohdeluokkakohtaisten sisältöjen luettelointiin (rajapinta /kohdeluokat), yksittäisen kohdeluokan sisältökuvauksen hakemiseksi (rajapinta /kohdeluokka) sekä kohdeluokkakohtaisen, elinvoimakeskuskohtaisen lataustiedoston hakemiseksi. Huom! Latauspalveluun tuotetaan tietosisällöt kerran vuorokaudessa klo 20 alkaen. Kaikki kohdeluokat on ladattu Latauspalveluun klo 24 mennessä.
/kohdeluokat: Listaa latauspalvelussa saatavilla olevat kohdeluokat./kohdeluokka: Palauttaa kuvauksen kohdeluokan ladattavissa olevasta tietosisällöstä. Kuvaus sisältää tiedon kohteiden jaottelusta elinvoimakeskusten aluejaon mukaisesti, kohteiden lukumäärästä kussakin lataustiedostossa sekä ajanhetkestä, jolloin sisältö on tuotettu latauspalveluun.- Lataustiedoston haku (
/kohdeluokat): Palauttaa annetun kohdeluokan kohteet NDJSON-muodossa siten, että tiedoston jokainen rivi on itsenäinen, validi JSON-objekti. Jaotteluna on elinvoimakeskusten aluejako. - Elinvoimakeskusten aluejako: Kukin kohdeluokka on rajattu elinvoimakeskusten aluejaon mukaisesti. Kohteen tieosoite määrittää, minkä elinvoimakeskuksen alueelle kohde kuuluu. Mikäli tieosoite (tai sijaintikokoelmallisilla kohteilla tieosoitteet) osuu useammalle alueelle, kohde tuotetaan kaikkien kyseenomaisten alueiden lataustiedostoihin. Mittaustietoja lukuun ottamatta kaikkien kohdeluokkien tiedot löytyvät myös maankattavasti lataustiedostosta
"koko_maa". Elinvoimakeskusten alueiden yksilöintiin käytetään nimikkeistöä, joka on saatavilla metatietopalvelusta (alueet/hallinnolliset-alueet). Katso aluejako kartalta: Elinvoimakeskukset kartta ↗. - Ajantasaisuus ja voimassaolo: Latauspalveluun tuotetaan tietosisällöt kerran vuorokaudessa klo 20 alkaen. Kaikki kohdeluokat on ladattu Latauspalveluun klo 24 mennessä. Latauspalvelusta on toistaiseksi ladattavissa ainoastaan latauspäivänä voimassaolevat kohteet. Latauspalvelusta ei voi ladata sellaisia kohteita, joiden voimassaolo on päättynyt (esimerkiksi lakkautetut varusteet) tai jotka eivät vielä ole voimassa (esimerkiksi tulevat urakat).
Kutsu lataustiedoston hakuun tuottaa HTTP 307 -redirectin, eikä sitä voi sen takia käyttää suoraan Swagger-käyttöliittymässä. Lisäksi tiedostoja ladattaessa ns. tarkka TLS-validointi (strict TLS validation) on mahdollisesti kytkettävä pois päältä, mikäli käytettävä työkalu tai kirjasto sitä käyttää. Tämä on Latauspalvelun taustalla toimivan järjestelmän tekninen rajoite, ja yhteys on tästä huolimatta turvallinen. Esim. curl -työkalulla tämä tapahtuu antamalla -k tai --insecure -komentoriviparametri.
Hakupalvelu tarjoaa yleiskäyttöiset lausepohjaiset kohdeluokka- ja tieosuushakutoiminnot koko Velhon tietosisällöstä hakemiseen. Kohdeluokkahaku kohdistuu yhteen tai useampaan kohdeluokkaan, ja palauttaa annettuja kriteereitä vastaavat kohteiden tiedot. Haettavien kohdeluokkien rakenne vastaa metatietopalvelussa määriteltyjä kohdeluokkia.
- Kohdeluokkahaku: Hakulausekkeessa on mahdollista rajata haun tuloksiin sisältyviä ominaisuustietoja joko ”palautettavat-kentat” tai ”poistettavat-kentat” -asetuksilla. Tieto toimitetaan yksittäisinä kohteina, joilla on kullakin oma tunnisteensa eli OID. Jos kohde koostuu useasta sijainnista (välisijaintikokoelma), hakutulos pilkkoo sen niin, että jokainen yksittäinen sijainti palautetaan omana JSON-objektinaan. Näiden objektien ominaisuustiedot ovat keskenään identtiset. Kohdeluokkahaku toimii Tievelhon käyttöliittymän tiekohdehaun mukaisesti.
- Tieosuushaku: Tulokset toimitetaan tieosoiteväleinä, joilla hakuehdoissa määritellyt ominaisuustiedot pysyvät muuttumattomina. Tieosuushaku toimii Tievelhon käyttöliittymän tieosuushaun mukaisesti.
Hakupalveluun tehtävä kysely annetaan JSON-objektina. Ohjeet hakulausekkeen muodostamiseen on esitetty hakupalvelun dokumentaatiossa ja rajapintakutsut Swagger-dokumentaatiossa.
Jokainen Velhon perusrekisteri tarjoaa REST-api-rajapinnat, joista pystyy hakemaan Velhon tietosisältöä reaaliaikaisesti. Hakutuloksia ei pysty rajaamaan yhtä monipuolisesti kuin hakupalvelussa. Tulosjoukko on rajattavissa lähinnä aikaperusteisesti joko kohteiden voimassaolotietojen tai niiden tallentamisesta ja päivittämisestä muodostuneiden aikaleimojen perusteella.
- Sijaintiperusteinen haku: Haku on mahdollista niin, että Sijaintipalvelun rajapinnasta haetaan ensin tieosoitetta tai tieosuutta leikkaavien kohdeluokan kohteiden OID-tunnukset, jotka syötetään sen jälkeen perusrekisterin rajapintaan kohdistettuun OID-hakuun.
- Rajoitukset: POST-kyselyn tulee sisältää kohteiden OID-tunnuksista muodostettu yksi JSON-lista, jonka pituus saa olla enintään 1 048 576 merkkiä. Kerralla haettavien kohteiden enimmäismäärä riippuu OID-tunnusten pituudesta, mutta vaihtelee tyypillisesti 15 000 ja 35 000 kohteen välillä.
- Suositus: Jos haku kohdistuu koko tieverkolle, suositellaan haun pilkkomista osiin. Jos käyttäjälle riittää edellisenä päivänä voimassa olleet tiedot koko tieverkolta, suositellaan Latauspalvelun käyttöä.
Sijaintipalvelu poikkeaa Velhon muista perusrekistereistä: siellä hallitaan tiealueen poikkileikkaukseen kuuluvien kohdeluokkien tietojen lisäksi myös muiden rekistereiden sijaintitietoja.
- Sijaintiominaisuus (Swagger): Tämän otsikon alle on koottu poikkileikkauksen kohdeluokkakohtaiset rajapintakutsut.
- Sijainnit (Swagger): Tämän otsikon alle on koottu kaikkien kohdeluokkien sijainteihin liittyvät yleiset kutsut.
- Sijaintien hakeminen: Leikkaavien kohteiden OID-tunnuksia voidaan hakea tieosakohtaisesti, tieosoitevälikohtaisesti (alku- ja loppuosoite) tai pistemäisestä osoitteesta säteellä (enimmäisetäisyyden perusteella).
Yhdistävänä tekijänä kohdeluokkien kohteiden ja niiden sijaintien välillä toimii erillinen sijainti-oid (sisältää tieosoitteen, sijaintitarkenteet ja voimassaolon).
Huom! ”Sijainnit”-rajapintapyynnöissä avain oid viittaa aina tähän sijainnin tunnisteeseen, ei varsinaisen kohdeluokan kohteen tunnisteeseen. Itse kohteisiin viitataan näissä hauissa avaimilla viittaavat-kohteet tai leikkaavat-kohteet.
Keskitetty palvelu muiden palveluiden ja rekisterien hallinnoiman tietosisällön rakenteen ymmärtämiseen ja datan validointiin.
- Muoto: Tarjoaa Velhon tietosisällön kuvauksen OpenAPI 3 -standardimuodossa.
- Ominaisuudet: Mahdollistaa Velhoon tallennettavien JSON-objektien validoinnin ennen niiden oikeaa vientiä rekisterirajapintoihin. Katso tarkemmat ohjeet validoinnista seuraavasta osiosta ja Metatietopalvelun dokumentaatiosta.
4. Tiedon validointi
Metatietopalvelun ja rekisterirajapintojen suorittamat validoinnit.
Metatietopalvelun ja rekisterirajapintojen suorittamat validoinnit.
Ennen tiedon tallentamista Velhoon kukin lähetettävä JSON-objekti on tärkeää validoida Velhon metatietopalvelun rajapinnassa. Validointi tapahtuu käytännössä kahdessa tasossa:
Tarkistaa vain, onko JSON-objekti skeeman mukainen. Ei vertaa dataa kantaan, ei tarkista tieosoitteiden olemassaoloa eikä estä päällekkäisiä sijainteja.
Suorittaa fyysisen validoinnin tallennushetkellä. Vertaa sijainteja Viitekehysmuuntimeen (VKM) ja estää ei-versioituvien kohteiden päällekkäisyydet.
POST /metatietopalvelu/api/v2/validoi/{nimiavaruus}/{nimi}/{variantti}
Pyyntönä lähetetään validoitava JSON-objekti. Variantti tarkoittaa kohteen muokkausta (=päivitys) tai luontia.
- Onnistunut (200): Palauttaa normalisoidun version (kentät pakotettuina normaalimuotoihin, ylimääräiset poistettuna).
- Virhe (400): Palauttaa HTTPS virhekoodin
"spec": "(spec-tools.core/spec {:spec (spec-tools.core/spec, jossa on kerrottu skeeman vastainen virhe JSON-objektissa.
Metatietopalvelu ei palauta virhettä väärin kirjoitetuista valinnaisista kentistä, vaan se tulkitsee ne ylimääräisiksi ja poistaa ne automaattisesti ilmoittamatta asiasta.
Ei-versioituvien kohteiden tallennus hylätään tyypillisesti (HTTP 400), jos kohteilla on sama sijainti ja uuden kohteen alkupäivämäärä on sama tai aiempi kuin Velhossa jo olevan kohteen. Välimäisissä kohdeluokissa hylkäykseen riittää 1 metrin leikkaus (esim. virhesanoma "Luotavan kohteen sijaintia leikkaa joku toinen voimassaololtaan ongelmallinen kohde 1.2.246.578… …kohteen alkaen xxxx-xx-xx"), jossa xxxx-xx-xx on Tievelhossa olevan kohteen alkupäivämäärä.
Poikkeuksina ovat tietyt kohdeluokat (esim. sidotut päällysrakenteet ja mittaustiedot), joissa päällekkäisyys on luonnollista. Esimerkiksi tien päällystettä edustavassa sidottujen päällysrakenteiden kohdeluokassa sallitaan sama sijainti silloin, kun kohteet edustavat eri päällystekerroksia. Tällöin sidotun päällysrakenteen tyypin on oltava eri. Mittaustiedoille taas on tyypillistä, että samaan sijaintiin samalla sijaintitarkenteella voidaan tallentaa samaan aikaan voimassa olevia tuotanto- ja kontrollimittaustietoja.
5. Tietojen ylläpito ja käsittely
Tiedon luonti, päivitys, lakkautus, korjaus ja poisto.
Tiedon luonti, päivitys, lakkautus, korjaus ja poisto.
Tievelhon tietosisältöä pystyy luomaan ja päivittämään suoran REST-api rekisterirajapinnan ja lähetyspalvelun kautta. Tiivistettynä erot näiden välillä ovat seuraavat:
Suositellaan yksittäisten kohteiden luontiin ja päivitykseen. Toimii reaaliaikaisesti POST/PUT-metodeilla.
Tehokkain tapa suurten datamassojen (esim. uudet inventointiaineistot) tallentamiseen.
Uusia kohteita voi luoda kohdeluokkakohtaisten REST-rajapintojen kautta POST-metodilla. Pyyntönä on aina kohteen validi JSON-objekti.
POST /{rekisteri}/api/v1/kohde/{nimiavaruus}/{kohdeluokka}
- Pakolliset vs. Valinnaiset kentät: Kenttien pakollisuuden, sallitut arvot ja tietotyypit näet käyttöliittymän tietokuvauksesta ja kohdeluokkakohtaisilta ohjesivuilta. Pakollisten kenttien on oltava aina mukana (osalle voi antaa arvoksi
null). Valinnaisia kenttiä ei tarvitse lähettää JSON-objektissa lainkaan, ellei niille anneta arvoa. - Versioituvat kohdeluokat: Ensimmäisen version voimassaolon alku on aina sama kuin
alkaenja voimassaolon loppu onpaattyen. Velho asettaa nämä automaattisesti luonnissa, eikä niitä tarvitse antaa pyynnössä erikseen. - Ei-versioituvat kohdeluokat: Kun samassa tieosoitteessa oleva kohde korvataan toisella, Velho päättelee lakkautustarpeen automaattisesti. Se pilkkoo ja historioi mahdollisen alle jäävän tiedon.
- Vastaus: Onnistunut luonti palauttaa kohteen NDJSON-muodossa yhdessä järjestelmän generoiman OID-tunnuksen kanssa.
Lähetyspalvelu on tehokkain tapa siirtää suuria määriä uutta tietoa (esim. inventointiaineistot). Lähetyspalvelua käytetään tietojen päivittämiseen ja nämä tietohuoltoprosessit käydään päivittäjien kanssa erikseen läpi. Huom: Lähetyspalvelu ei ole käytettävissä rakenne- ja toimenpiderekisterille eikä ”hallinnollinen alue” -kohdeluokalle.
Tiedoston sisältö vastaa rekisterirajapinnan yksittäistä pyyntöä, mutta JSON-objektit on muutettava NDJSON-muotoon.
1. Poista rivinsiirrot JSON-objektien sisältä.
2. Tiedostossa jokainen kohde (JSON-objekti) on omalla rivillään, ja ne erotetaan toisistaan vain rivinsiirrolla (älä käytä pilkkua kohteiden välissä).
Lähetyspalvelun 4 askeleen prosessi:
xxxxx= aiemmin haettu autorisaatio-tokenyyy-yyy-yyy= pyynnön (1) vastauksena saatu lähetystunnistehttps://lahetyspalvelu.../zzzzz= pyynnön (1) vastauksena saatu URL-osoite, johon NDJSON-tiedosto tulee lähettääC:/data/ojan_pohjat.ndjson= lähetettävän NDJSON-tiedoston hakemistopolku
| # | Toiminto | HTTPie / cURL Esimerkit |
|---|---|---|
| 1. | Avaa yhteys (POST) Kertoo mitä kohdeluokkaa ollaan päivittämässä. Palauttaa lähetystunnisteen ja URL-osoitteen, johon NDJSON-tiedosto tulee lähettää. |
HTTPie
http https://apiv2stgvelho.testivaylapilvi.fi/lahetyspalvelu/api/v1/laheta kohdeluokka=tiealueen-poikkileikkaus/ojan-pohjat "Authorization: Bearer xxxxx"cURL curl -X POST https://apiv2stgvelho.testivaylapilvi.fi/lahetyspalvelu/api/v1/laheta -H "Content-Type: application/json" -H "Authorization: Bearer xxxxx" -d "{\"kohdeluokka\":\"tiealueen-poikkileikkaus/ojan-pohjat\"}" --output - --compressed
|
| 2. | Lähetä tiedosto (PUT) Lähettää NDJSON-tiedoston suoraan saatuun URL-osoitteeseen. |
HTTPie
http --verify=no PUT "https://lahetyspalvelu.testivaylapilvi.fi.s3.eu-west-1.amazonaws.com/zzzzz" < C:/data/ojan_pohjat.ndjsoncURL curl -X PUT -k -T "C:\data\ojan_pohjat.ndjson" "https://lahetyspalvelu.testivaylapilvi.fi.s3.eu-west-1.amazonaws.com/zzzzz" |
| 3. | Kysy tilaa (GET) Tarkista käsittelyn tila vaiheesta 1 saadulla lähetystunnisteella. |
HTTPie
http -F https://apiv2stgvelho.testivaylapilvi.fi/lahetyspalvelu/api/v1/tila/yyy-yyy-yyy "Authorization: Bearer xxxxx"cURL curl -X GET "https://apiv2stgvelho.testivaylapilvi.fi/lahetyspalvelu/api/v1/tila/yyy-yyy-yyy" -H "Authorization: Bearer xxxxx" --output - --compressed |
| 4. | Pyydä raportti (GET) Kun tila on valmis, hae raportti lähetystunnisteella. Tallenna muodostuneet OID:t! |
HTTPie
http -F https://apiv2stgvelho.testivaylapilvi.fi/lahetyspalvelu/api/v1/raportti/yyy-yyy-yyy "Authorization: Bearer xxxxx"cURL curl -X GET "https://apiv2stgvelho.testivaylapilvi.fi/lahetyspalvelu/api/v1/raportti/yyy-yyy-yyy" -H "Authorization: Bearer xxxxx" --output - --compressed |
Raportin sisältö: Lähetyksen tilan ollessa ”kaikki-tallennettu-onnistuneesti”, ”osa-tallennettu-onnistuneesti” tai ”kaikki-tallennukset-epaonnistuneet”, voit pyytää raportin. Raportti sisältää lähetettyä tiedostoa vastaavat rivinumerot. Onnistuneiden kohdalla saat generoituneen OID-tunnuksen, ja epäonnistuneiden kohdalla tarkemmat tiedot virheistä (vastaa muodoltaan normaalia rekisterirajapinnan virhettä). Suosittelemme aina säästämään OID-tunnukset sisältävän raportin!
Esimerkki: Kaistavaurioiden massaluontiKuivatusinventoinnissa tai kunnostusurakan yhteydessä havaittujen kaistavaurioiden tallentaminen on tyypillinen esimerkki lähetyspalvelun käytöstä. Esimerkissä samaan lähetyspalveluun lähetettävään tiedostoon on sisällytetty kaikki ne kaistavauriot, jotka on havaittu samassa inventointitapahtumassa (tapahtuman OID-tunnus tässä 1.2.246.578.8.4.2529347381.2945883666):
Lataa yllä oleva esimerkki valmiina NDJSON-tiedostona tutustumista varten:
lahetyspalvelu_esimerkki_kaistavaurio.txt ⬇
Versioituvien kohdeluokkien tietoja päivitetään REST-API-rajapinnan kautta PUT-metodilla. Ei-versioituvia kohdeluokkia ei voi päivittää lainkaan, sillä niiden elinkaarta ei hallita versioinneilla.
PUT /{rekisteri}/api/v1/kohde
- Versiointi: Päivitys luo kohteelle uuden version annetulla alkupäivämäärällä ja muuttuneilla tiedoilla. Aikaisempi versio päätetään automaattisesti tähän päivämäärään. Voit myös luoda ”väliversion” asettamalla alkupäivämäärän kahden aiemman version väliin, jolloin Velho hoitaa päättymispäivät automaattisesti.
- Tunnisteet: Päivitettävän kohteen OID-tunnus on välitettävä sekä rajapintakyselyssä että lähetettävässä JSON-objektissa. Pakolliset kentät (nähtävissä käyttöliittymän tietokuvauksesta tai kohdeluokkakohtaisilta ohjesivuilta) on aina oltava mukana, valinnaiset vain tarvittaessa.
Päivityksessä pyyntönä on lähetettävä myös muuttumattomat kentät. Tietojen häviämisen välttämiseksi päivitys suositellaan tehtävän aina seuraavalla työnkululla:
- Hae kohteen tiedot ensin
GET-metodilla REST-apista. - Muokkaa haettua JSON-objektia päivittyneillä tiedoilla (lisää kenttä tai muuta arvoa).
- Lähetä muokattu JSON-objekti takaisin REST-apiin
PUT-metodilla.
Mitatun geometrian osalta päivityssanoma noudattaa seuraavaa logiikkaa:
- Annettu vain
mitattugeometria-oid: Asetetaan uuden version mitatun geometrian tunnukseksi. Velho tarkistaa sijaintipalvelusta, että kyseinen geometria löytyy (palauttaa virheen jos ei). Tarkistusta ei tehdä, jos OID on sama kuin edellisessä versiossa. - Annettu vain
mitattugeometria: Tämä tulee uuden version mitatuksi geometriaksi. - Annettu molemmat:
mitattugeometriajätetään huomiotta ja OID-tunnus tallentuu uudelle versiolle. Tuleva muutos: Tulevaisuudessa molempien lähettäminen yhtä aikaa aiheuttaa virheen, ja kohteen päivitys epäonnistuu. - Ei kumpaakaan: Uudelle versiolle ei aseteta mitattua geometriaa ollenkaan. Käytetään esimerkiksi silloin, kun mitattu geometria on tieosoitemuutoksen vuoksi muuttunut, mutta uutta mitattua geometriaa ei vielä tiedetä.
Kohteen fyysinen poistuminen maastosta (esim. tien piennar puretaan tai varuste poistetaan) on aina lakkautus, ei poisto. Tievelhossa kohdeluokkien kohteiden tietoja voidaan lakkauttaa REST-API-rajapinnan kautta PUT-metodilla.
1. Versioituvan kohteen lakkauttaminenPUT /{rekisteri}/api/v1/lakkauta
- Pyyntöön annetaan kohteen OID-tunnus ja lakkautuspäivämäärä.
- Lakkautuspäivämäärän tulee olla vähintään kaksi (2) päivää myöhempi kuin olemassa olevan uusimman version alkupäivämäärä. (Esim. jos kannassa uusimman kohteen version alku on 2024-10-01, aikaisin mahdollinen lakkautuspäivämäärä on 2024-10-03).
- Järjestelmä luo automaattisesti uuden version, jossa tiekohteen tila on TT06 (tiekohde purettu maastosta ja poistettu lopullisesti käytöstä). Tämän TT06-version pituus on tasan 1 päivä, eli version voimassaolo alkaa lakkautuspäivämäärästä miinus 1 päivä.
- Valinnaisesti voidaan antaa myös
"muutoksen-lahde-oid"sekä sopivat varustetoimenpiteet pistemäisille varusteille.
Lataa JSON-esimerkki:
Liikennemerkin_lakkautus_esimerkki.txt ⬇
Ei-versioituvia kohteita lakkautetaan sijaintiväliä hyödyntäen. Rajapinta etsii sijaintipalvelusta kohdeluokan leikkaavat sijainnit. Jos kohde on kokonaisuudessaan sijaintivälillä, se lakkautetaan. Muutoin se pilkkoutuu automaattisesti useammaksi kohteeksi. Lakkautusta voidaan rajata kohteelle annetun sijaintitarkenteen, tyypin tai numeroinnin avulla. Erikoistapaukset löytyvät rekisterikohtaisista Swaggereista.
Kohteen lakkauttamisessa sijaintivälillä on annettava seuraavat tiedot:
- kohdeluokka (tietokokonaisuus/kohdeluokka)
- tieosoiteväli
- lakkautuspäivämäärä
- mahdollinen sijaintitarkennetieto
- erikoistapauksissa: tyyppi tai numerointi
PUT /{rekisteri}/api/v1/lakkauta-tieosoitevalilla
PUT /{rekisteri}/api/v1/kohteet/lakkauta-tieosoitevalilla
{
// Pakolliset kentät
"kohdeluokka": "tietokokonaisuus/kohdeluokka",
"alkuosoite": {
"tie": 3,
"osa": 110,
"etaisyys": 100
},
"loppuosoite": {
"tie": 3,
"osa": 110,
"etaisyys": 150
},
"lakkautuspaivamaara": "2024-11-10",
// Valinnainen: jos lakkautetaan vain tietty sijaintitarkenne
"sijaintitarkenne": {}
}
Jos haluat lakkauttaa kohteet sijaintitarkenteesta riippumatta, älä lähetä "sijaintitarkenne"-kenttää lainkaan. Jos alkuperäiselle kohteelle on annettu sijaintitarkenne ja haluat lakkauttaa juuri sen, sijaintitarkenne on annettava pyynnössä.
Joillakin kohdeluokilla on annettava lakkautuksen yhteydessä myös tyyppi tai numerointi, joita käytetään lakkautuksen rajaamiseen (katso rekisterikohtaiset Swaggerit). Esimerkiksi:
- Sijaintipalvelu (poikkileikkaus): Pientareet, kaistat, luiskat, ojan-pohjat, tasanne ja reuna-alueet edellyttävät numerointi-avainta ja arvoa.
- Rakennerekisteri: Sidotut päällysrakenteet vaativat avaimen
sidotus-paallysrakenteen-tyyppi. Kantavat kerrokset vaativat avaimenkantavan-kerroksen-tyyppi.
Lataa JSON-esimerkit ei-versioituvien erikoistapauksille:
Sidotut-paallysrakenteet lakkauta-tieosoitevalilla.txt ⬇
Kantavat-kerrokset lakkauta-tieosoitevalilla.txt ⬇
Luiskat lakkauta-tieosoitevalilla.txt ⬇
Pintaukset lakkauta-tieosoitevalilla.txt ⬇
Valaistukset lakkauta-tieosoitevalilla.txt ⬇
Tiedon korjaamiseen ja lopulliseen tietokannasta poistamiseen on syytä ryhtyä vain silloin, kun Velhossa olevan tiedon havaitaan olevan virheellistä (esim. tallennusvirhe).
Mikäli Velhossa havaitaan virheellistä tietoa, rajapinnan käyttäjä ei voi poistaa sitä itse.
Tee ilmoitus Tiestötukeen: tiestotuki@vayla.fiTukipyynnön lähettämisen jälkeen Velhon operointipalvelu tarkistaa tilanteen Velhossa, toteuttaa tietokantatason korjaus- tai poistotoimenpiteen manuaalisesti ja vastaa pyynnön lähettäjälle.
6. Yleisimmät rajapinnan palauttamat virheet
Yleisimmät HTTP-virhekoodit ja niiden merkitykset.
Yleisimmät HTTP-virhekoodit ja niiden merkitykset.
- 400 Bad Request: Pyyntö on clientin päässä virheellinen (esim. JSON-objekti validointien vastainen), eikä rajapinta pysty käsittelemään sitä.
- 401 Unauthorized: Käyttäjän tai järjestelmän tulee autentikoitua OAuth v2 -tokenilla.
- 403 Forbidden: Käyttäjällä tai järjestelmällä ei ole oikeuksia kyseiseen toimenpiteeseen. Ole yhteydessä Velhotukeen oikeuksien tarkistamiseksi.
- 404 Not Found: Kohdetta ei löydy. Se on joko poistettu tai haettu kohde ei ole kyseisen palvelun vastuulla.
- 413 Request Entity Too Large: Pyynnössä lähetetty JSON-objekti on liian suuri (esim. liian monta OID-tunnusta kerralla).
- 500 Internal Server Error: Sisäinen palvelinongelma. Pyyntö ei ole mennyt läpi; yritä hetken kuluttua uudelleen.
- 501 Not Implemented: Kyseistä HTTP-metodia (esim. PUT/POST) ei ole toteutettu tälle rajapinnalle.
- 502 Bad Gateway: Hetkellinen häiriö palvelimella. Yritä hetken kuluttua uudelleen.
- 503 Service Unavailable: Palvelin on hetkellisesti pois käytöstä esimerkiksi huoltokatkon vuoksi.
- 504 Gateway Timeout: Aikakatkaisu. Pyyntö on saattanut virheilmoituksesta huolimatta mennä läpi. Aikakatkaisu saattaa johtua useammasta samanaikaisesta pyynnöstä tai häiriöstä palvelimella. Toistuvista aikakatkaisuista tulee ilmoittaa tiestotuki@vayla.fi.
