Velhon rajapinnat (API)

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.

Käyttöoikeudet ja tunnukset

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 osoitteet

Rajapinnoista 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

Erityisesti metatietopalvelun dokumentaatio on syytä käydä läpi.

Autentikaatio (OAuth v2)

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 tekeminen

Pyynnö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.

Velhon OAuth2 token-endpointit:
  • 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
Esimerkki tokenin hakemisesta (STG-ympäristö):
> 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>.

Esimerkki:
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.

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).

Nimiavaruudet ja tekniset nimet

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.

Versioituva vs. Ei-versioituva kohdeluokka

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
Oheiseen taulukkoon on koottu tiedot kohdeluokkien temporaalisuudesta. Voit suodattaa taulukon tietoja kirjoittamalla tekstiä "Etsi"-kenttään.
TIETOLÄHTEEN REKISTERITIETOKOKONAISUUS VELHOSSAKOHDELUOKKATEMPORAALISUUS
HallintorekisteriKunnossapitovastuuHoitosopimusVersioituva
HallintorekisteriKunnossapitovastuuKorjaussopimusVersioituva
HallintorekisteriUrakkaInventointitapahtumaVersioituva
HallintorekisteriUrakkaMaanteiden hoitourakkaVersioituva
HallintorekisteriUrakkaMuu urakkaVersioituva
HallintorekisteriUrakkaPalvelusopimusVersioituva
KuntorekisteriKunto-ja vauriotiedotPistemäinen puuteVersioituva
KuntorekisteriKunto-ja vauriotiedotPistemäinen tiealueen poikkileikkausvaurioVersioituva
KuntorekisteriKunto-ja vauriotiedotVälimäinen puuteVersioituva
KuntorekisteriKunto-ja vauriotiedotVälimäinen tiealueen poikkileikkausvaurioVersioituva
KuntorekisteriKunto-ja vauriotiedotVälimäinen varustevaurioVersioituva
LiikennetietorekisteriTunnusluvut ja liikennetiedotAsukastiheysEi versioituva
LiikennetietorekisteriTunnusluvut ja liikennetiedotLiikennelaskentamenetelmätVersioituva
LiikennetietorekisteriTunnusluvut ja liikennetiedotLiikennemäärätEi versioituva
LiikennetietorekisteriTunnusluvut ja liikennetiedotNäkemäpituusEi versioituva
LiikennetietorekisteriTunnusluvut ja liikennetiedotNäkemäprosentitEi versioituva
LuokitusrekisteriKansainväliset luokituksetEurooppatietEi versioituva
LuokitusrekisteriKansainväliset luokituksetTERN-verkkoEi versioituva
LuokitusrekisteriKansalliset luokituksetErikoiskuljetusreititEi versioituva
LuokitusrekisteriKansalliset luokituksetKävelyn ja pyöräilyn väyläEi versioituva
LuokitusrekisteriKansalliset luokituksetMatkailutietEi versioituva
LuokitusrekisteriKansalliset luokituksetMuseotietEi versioituva
LuokitusrekisteriKansalliset luokituksetPääväylätEi versioituva
LuokitusrekisteriKansalliset luokituksetToiminnallinen luokkaEi versioituva
LuokitusrekisteriKunnossapitoluokituksetPäällysteen korjausluokkaEi versioituva
LuokitusrekisteriKunnossapitoluokituksetSoratieluokka Ei versioituva
LuokitusrekisteriKunnossapitoluokituksetTalvihoitoluokka Ei versioituva
LuokitusrekisteriKunnossapitoluokituksetViherhoitoluokka Ei versioituva
LuokitusrekisteriLiikennetekninen luokitusAsema maankäytön rakenteessaEi versioituva
LuokitusrekisteriLiikennetekninen luokitusTekninen toimenpide Ei versioituva
LuokitusrekisteriLiikennetekninen luokitusVäylän luonneEi versioituva
LuokitusrekisteriVarautumiseen liittyvät luokituksetVarareitit Versioituva
LuokitusrekisteriVarautumiseen liittyvät luokituksetVarmistetut reititVersioituva
LuokitusrekisteriVarautumiseen liittyvät luokituksetVarareittiluokitusEi versioituva
MittausrekisteriMittaustiedotMittausobjektiEi versioituva
MittausrekisteriMittaustiedotPäällystepaksuusEi versioituva
MittausrekisteriMittaustiedotPäällystevauriokartoitusEi versioituva
MittausrekisteriMittaustiedotPalvelutason mittaus pituusprofiili 100mEi versioituva
MittausrekisteriMittaustiedotPalvelutason mittaus pituusprofiili 10mEi versioituva
MittausrekisteriMittaustiedotPalvelutason mittaus poikkiprofiili 1mEi versioituva
MittausrekisteriMittaustiedotSorateiden runkokelirikkoEi versioituva
OnnettomuusrekisteriOnnettomuustiedotOnnettomuudetEi versioituva
OnnettomuusrekisteriOnnettomuustiedotOnnettomuusindeksi, linjaEi versioituva
OnnettomuusrekisteriOnnettomuustiedotOnnettomuusindeksi, risteysEi versioituva
PäätösrekisteriRajoitukset ja päätöksetEläinvaroituksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetErikoiskuljetusreitit (rajoitukset & päätökset)Versioituva
PäätösrekisteriRajoitukset ja päätöksetKadunpitopäätöksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetKatu- ja yksityistieliittymäluvatVersioituva
PäätösrekisteriRajoitukset ja päätöksetKelirikkorajoituksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetKorkeusrajoituksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetLeveysrajoituksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetLiittymäkiellotVersioituva
PäätösrekisteriRajoitukset ja päätöksetNopeusrajoituspäätöksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetNopeusrajoituksetEi versioituva
PäätösrekisteriRajoitukset ja päätöksetOpasteetVersioituva
PäätösrekisteriRajoitukset ja päätöksetPutket, johdot ja kaapelit (päätökset)Versioituva
PäätösrekisteriRajoitukset ja päätöksetSuoja-aluerakentaminenVersioituva
PäätösrekisteriRajoitukset ja päätöksetSuolankäyttörajoituksetVersioituva
PäätösrekisteriRajoitukset ja päätöksetTienvarsimainosilmoituksetVersioituva
RakennerekisteriAlusrakenneArinarakenteetVersioituva
RakennerekisteriAlusrakennePaaluperustuksetVersioituva
RakennerekisteriAlusrakennePenkereetVersioituva
RakennerekisteriAlusrakennePohjamaaVersioituva
RakennerekisteriAlusrakenneSuojaukset ja eristyksetVersioituva
RakennerekisteriAlusrakenneTäytötVersioituva
RakennerekisteriAlusrakenneVahvistetut maarakenteetVersioituva
RakennerekisteriPäällysrakennekerroksetJakava kerrosEi versioituva
RakennerekisteriPäällysrakennekerroksetKantava kerrosEi versioituva
RakennerekisteriPäällysrakennekerroksetPäällysrakenteen lujitteetVersioituva
RakennerekisteriPäällysrakennekerroksetSiirtymäkiilatVersioituva
RakennerekisteriPäällysrakennekerroksetSuodatinrakenteetVersioituva
RakennerekisteriPäällyste- ja pintarakenneKasvillisuusrakenteetVersioituva
RakennerekisteriPäällyste- ja pintarakenneLadottavat pintarakenteetVersioituva
RakennerekisteriPäällyste- ja pintarakenneMuut pintarakenteetVersioituva
RakennerekisteriPäällyste- ja pintarakennePintauksetEi versioituva
RakennerekisteriPäällyste- ja pintarakenneSidotut päällysrakenteetEi versioituva
RakennerekisteriPäällyste- ja pintarakenneSitomattomat pintarakenteetEi versioituva
SijaintipalveluTiealueen poikkileikkausErotusalueVersioituva
SijaintipalveluTiealueen poikkileikkausKaistaEi versioituva
SijaintipalveluTiealueen poikkileikkausKeskialueVersioituva
SijaintipalveluTiealueen poikkileikkausLiikennesaarekkeetVersioituva
SijaintipalveluTiealueen poikkileikkausLevikkeetVersioituva
SijaintipalveluTiealueen poikkileikkausLuiskaEi versioituva
SijaintipalveluTiealueen poikkileikkausOjan pohjaEi versioituva
SijaintipalveluTiealueen poikkileikkausPiennarEi versioituva
SijaintipalveluTiealueen poikkileikkausReuna-alueEi versioituva
SijaintipalveluTiealueen poikkileikkausTasanneEi versioituva
SijaintipalveluTiealueen poikkileikkausTiealueen poikkileikkauksen kaltevuustiedotEi versioituva
SijaintipalveluTiealueen poikkileikkausTiealueen poikkileikkauksen leveystiedotEi versioituva
TaitorakennerekisteriTaitorakenteetSiltaEi versioituva
TaitorakennerekisteriTaitorakenteetTunneliEi versioituva
TiekohderekisteriAlueetPalvelualueetVersioituva
TiekohderekisteriAlueetPohjavesialueetVersioituva
TiekohderekisteriAlueetSuoja-alueEi versioituva
TiekohderekisteriAlueetTulvakohteetEi versioituva
TiekohderekisteriAlueetVarasto- ja kuormausalueetVersioituva
TiekohderekisteriKohdepisteet ja -välitAlikulkupaikatVersioituva
TiekohderekisteriKohdepisteet ja -välitKatu- ja yksityistieliittymätVersioituva
TiekohderekisteriKohdepisteet ja -välitMittaradatVersioituva
TiekohderekisteriKohdepisteet ja -välitPyörätien jatkeetVersioituva
TiekohderekisteriKohdepisteet ja -välitRautatietasoristeyksetVersioituva
TiekohderekisteriKohdepisteet ja -välitSuojatietVersioituva
TiekohderekisteriTiensuuntausKaarteetEi versioituva
TiekohderekisteriTiensuuntausMäetEi versioituva
TiekohderekisteriYmpäristöViheralueetVersioituva
TiekohderekisteriYmpäristöViherkuviotVersioituva
TiekohderekisteriYmpäristöViherhoitoalueetVersioituva
TiekohderekisteriYmpäristöViherhoitokuviotVersioituva
TiekohderekisteriTiemerkinnätPienmerkinnätVersioituva
TiekohderekisteriTiemerkinnätPituussuuntaiset merkinnätEi versioituva
TiekohderekisteriTiemerkinnätTäristävät jyrsinnätEi versioituva
ToimenpiderekisteriToimenpiteetTiealueen poikkileikkaustoimenpideVersioituva
ToimenpiderekisteriToimenpiteetTienrakennetoimenpiteetEi versioituva
ToimenpiderekisteriToimenpiteetVälimäinen varustetoimenpideVersioituva
VarusterekisteriVarusteetAidatVersioituva
VarusterekisteriVarusteetKaiteetVersioituva
VarusterekisteriVarusteetKaivotVersioituva
VarusterekisteriVarusteetLiikennemerkitVersioituva
VarusterekisteriVarusteetPortaalitVersioituva
VarusterekisteriVarusteetPortaatVersioituva
VarusterekisteriVarusteetPortitVersioituva
VarusterekisteriVarusteetPumppaamotVersioituva
VarusterekisteriVarusteetPuomit, sulkulaitteet ja pollaritVersioituva
VarusterekisteriVarusteetPutket, johdot ja kaapelitVersioituva
VarusterekisteriVarusteetPylväätVersioituva
VarusterekisteriVarusteetReunapaalutVersioituva
VarusterekisteriVarusteetReunatuetVersioituva
VarusterekisteriVarusteetRumpuputketVersioituva
VarusterekisteriVarusteetTienvarsikalusteetVersioituva
VarusterekisteriVarusteetTienvarsimainoksetVersioituva
VarusterekisteriVarusteetValaistuksetEi versioituva
3. Tietojen hakeminen

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:

Mistä rajapinnasta haen tietoa?
Latauspalvelu

Tehokkain tapa massatiedon käsittelyyn. Tiedot päivittyvät kerran vuorokaudessa. Palauttaa NDJSON-muodossa.

Hakupalvelu

Mahdollistaa monimutkaiset hakulausekkeet. Tieto on reaaliaikaista. Palauttaa tarvittaessa vain määritellyt tietokentät.

REST-api rekisterit

Suora yhteys perusrekistereihin reaaliaikaisesti. Soveltuu täsmähakuihin ja ylläpitoon. Palauttaa NDJSON-muodossa.

Latauspalvelu

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).
HUOM! Redirect ja TLS-validointi

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

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.

REST-api rekisterirajapinnat

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öä.
Rekistereiden Swagger-dokumentaatiot:
Erityistapaus: Sijaintipalvelu

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).
Tärkeää: Sijainti-OID vs. Kohteen OID

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.

Metatietopalvelu

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.

Tiedon validointi

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:

1 Metatietopalvelu (Skeema)

Tarkistaa vain, onko JSON-objekti skeeman mukainen. Ei vertaa dataa kantaan, ei tarkista tieosoitteiden olemassaoloa eikä estä päällekkäisiä sijainteja.

2 Rekisterirajapinta (Tietokanta)

Suorittaa fyysisen validoinnin tallennushetkellä. Vertaa sijainteja Viitekehysmuuntimeen (VKM) ja estää ei-versioituvien kohteiden päällekkäisyydet.

1. Metatietopalvelun validoinnit
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.
HUOM! Valinnaisten kenttien ”katoaminen”

Metatietopalvelu ei palauta virhettä väärin kirjoitetuista valinnaisista kentistä, vaan se tulkitsee ne ylimääräisiksi ja poistaa ne automaattisesti ilmoittamatta asiasta.

2. Rekisterirajapintojen validointivirheet

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.

Yleisimmät sijaintivirheet (koskevat myös versioituvia luokkia):
1. Sijaintitarkenne on väärin

Kohdeluokan validointisääntö (esim. pakollinen ”puoli”) ei täyty tai lähetetty sijaintitarkenne on kielletty. Kohdeluokan sijaintitarkenteelle on määritelty validointisääntö. Kohteelta voidaan edellyttää tietyt pakolliset sijaintitarkenteet. Lisäksi voidaan sallia ylimääräisiä sijaintitarkenteita ja kieltää tiettyjä sijaintitarkenteita. Tiedot sijaintitarkenteiden validointisäännöistä on dokumentoitu kohdeluokan Open API 3 – muotoiseen tietokuvaukseen, jota voi tutkia esimerkiksi metatietopalvelun Swaggerissä .

{"kasittely":"uusi","validi":true,"rivinumero":2,"tallennus":{"virheviesti":{"virheet":[{"puuttuvat":["puoli"],"sijaintitarkenne":["reuna-alueet"],"virhe":"Kohteelta puuttuu pakollinen sijaintitarkenne","kaikki-oltava":["puoli"]},{"ylimaaraiset":["reuna-alueet"],"sijaintitarkenne":["reuna-alueet"],"virhe":"Kohteella on ylimääräisiä sijaintitarkenteita","vain-yksi-oltava":[],"kaikki-oltava":["puoli"]}],"viesti":"Luotava varuste ei ole validi"},"tulos":"virhe","palvelukutsun-statuskoodi":400}}
2. Kohteelle ei löydy geometriaa VKM:stä

Velho tarkistaa keskilinjageometrian Viitekehysmuuntimesta (VKM).Ilmoitetulta tilannepäivämäärän mukaiselta tieosoiteväliltä on saatettu lakkauttaa tieosuuksia tilannepäivämäärän jälkeen, eikä geometriaa ole saatavilla VKM:stä. Tässä esimerkissä virhesanoma kertoo, että kyseinen tieosuus on lakkautettu koko matkaltaan eikä tietoa ole mahdollista tallentaa sille.

{"sijainnit":[{"viittaavan-kohteen-voimaantulopvm":"2021-11-02","alkuosoite":{"tie":17487,"osa":1,"etaisyys":21},"sijaintitarkenne":{"kaistat":["kaista-numerointi/kanu11"]},"viittaava-kohde":"1.2.246.578.4.5.3.3119341326.2007682771","loppuosoite":{"tie":17487,"osa":1,"etaisyys":52}}],"lisatiedot":[{"virhevastauksen-osoite":{"alkuosoite":{"tie":17487,"osa":1,"etaisyys":21},"sijaintitarkenne":{"ajoradat":["ajorata/ajr0"]},"loppuosoite":{"tie":17487,"osa":1,"etaisyys":52}},"kysytty-osoite":{"viittaavan-kohteen-voimaantulopvm":"2021-11-02","alkuosoite":{"tie":17487,"osa":1,"etaisyys":21},"sijaintitarkenne":{"kaistat":["kaista-numerointi/kanu11"]},"tunniste":"1886441217","viittaava-kohde":"1.2.246.578.4.5.3.3119341326.2007682771","loppuosoite":{"tie":17487,"osa":1,"etaisyys":52}},"vkm-virheet":[{"virhekoodi":2,"virheviesti":"Annetuilla parametreilla ei löydy tietoja","yksityiskohdat":"Annetuilla parametreilla löytyi piste mutta tällä ei ole geometriaa (piste/alkupiste). "},{"virhekoodi":2,"virheviesti":"Annetuilla parametreilla ei löydy tietoja","yksityiskohdat":"Annetuilla parametreilla löytyi piste mutta tällä ei ole geometriaa (loppupiste). "}],"kohdepaiva":null,"tilannepaiva":"2021-01-20"}]}
3. Tallennus estetty lakkautetun tieosuuden vuoksi.

Tieosasta on lakkautettu osuus. Virheraportti ehdottaa, mille osoitevälille tallentaminen on mahdollista. Tässä esimerkissä tieosasta 8890/4 on lakkautettu osuus tilannepäivämäärän mukaiseen etäisyyteen 3376 asti. Virheraportti ilmoittaa, että kohteen tallentaminen on kuitenkin mahdollista tieosuudelle, jonka nykyinen tieosoiteväli on 8890/4/3386-3985.

{"sijainnit":[{"viittaavan-kohteen-voimaantulopvm":"2022-05-23","alkuosoite":{"tie":8890,"osa":4,"etaisyys":3137},"sijaintitarkenne":{"pientareet":["piennar-numerointi/pinu08"]},"viittaava-kohde":"1.2.246.578.4.5.3.2384741175.257683542","loppuosoite":{"tie":8890,"osa":4,"etaisyys":3975}}],"lisatiedot":[{"mahdolliset-sijainnit":[{"alkuosoite":{"tie":8890,"osa":4,"etaisyys":3386},"keskilinjageometria":{"coordinates":[lista TM35-koordinaattipareista],"type":"MultiLineString"},"loppuosoite":{"tie":8890,"osa":4,"etaisyys":3985}}],"lakkautetut-sijainnit":[{"alkuosoite":{"tie":8890,"osa":4,"etaisyys":3137},"lakkautuspvm":"2023-11-30","keskilinjageometria":{"coordinates":[lista TM35-koordinaattipareista],"type":"MultiLineString"},"loppuosoite":{"tie":8890,"osa":4,"etaisyys":3376}}],"pyydetty-sijainti":{"viittaavan-kohteen-voimaantulopvm":"2022-05-23","alkuosoite":{"tie":8890,"osa":4,"etaisyys":3137},"sijaintitarkenne":{"pientareet":["piennar-numerointi/pinu08"]},"loppuosoite":{"tie":8890,"osa":4,"etaisyys":3975}}}]}
5. Tietojen ylläpito ja käsittely

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:

Mitä rajapintaa käytän tietojen ylläpidossa?
REST-api rekisterit

Suositellaan yksittäisten kohteiden luontiin ja päivitykseen. Toimii reaaliaikaisesti POST/PUT-metodeilla.

Lähetyspalvelu

Tehokkain tapa suurten datamassojen (esim. uudet inventointiaineistot) tallentamiseen.

Tiedon luonti (Uudet kohteet) 1. REST-api rekisterirajapinnat (Yksittäiset kohteet)

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 alkaen ja voimassaolon loppu on paattyen. 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.
2. Lähetyspalvelu (Massaluonti)

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.

Kuinka muodostan NDJSON-tiedoston?

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:

Esimerkkien muuttujat:
  • xxxxx = aiemmin haettu autorisaatio-token
  • yyy-yyy-yyy = pyynnön (1) vastauksena saatu lähetystunniste
  • https://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.ndjson
cURL
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 massaluonti

Kuivatusinventoinnissa 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 ⬇

Tietojen päivittäminen (vain versioituvat)

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.
HUOM! Lähetä koko objekti, ei vain muutoksia

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:

  1. Hae kohteen tiedot ensin GET-metodilla REST-apista.
  2. Muokkaa haettua JSON-objektia päivittyneillä tiedoilla (lisää kenttä tai muuta arvoa).
  3. Lähetä muokattu JSON-objekti takaisin REST-apiin PUT-metodilla.
Mitatun geometrian päivityslogiikka

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: mitattugeometria jä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ä.
Tietojen lakkauttaminen

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 lakkauttaminen
PUT /{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 ⬇

2. Ei-versioituvan kohteen lakkauttaminen

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
Päätös-, Rakenne-, Luokitus- ja Liikennetietorekisteri: PUT /{rekisteri}/api/v1/lakkauta-tieosoitevalilla
Varuste-, Tiekohde- ja Toimenpiderekisteri: PUT /{rekisteri}/api/v1/kohteet/lakkauta-tieosoitevalilla
JSON-pyynnön rakenne:
{
  // 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": {} 
}
Sijaintitarkenteen huomioiminen

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ä.

Erikoistapaukset (tyyppi tai numerointi)

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 avaimen kantavan-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 korjaaminen ja poistaminen

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.fi

Tukipyynnö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.

  • 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.