Yleiset käytännöt

Rajapinnat on toteutettu ns. REST rajapintoina ja niissä käytetään JSON-kuvausta tietojen esittämiseen. Merkistökoodauksena käytetään UTF-8:ia.

Sisäiset tunnisteet:

Useimmissa objekteissa on kenttä "id" jonka arvo toimii objektin sisäisenä tunnisteena jota voi käyttää eperusteiden sisäisten viittausten selvittämiseen.

{
"id" : 611,
"nimi" : { "_id" : "552122", "fi" : "Audiovisuaalisen viestinnän perustutkinto", "sv" : "Grundexamen i audiovisuell kommunikation" },

...
}

id:llä tunnistetaan objektin tietty julkaistu versio ja se objektin tyypistä riippuen voi esiintyä myös rajapinnassa (esim. https://virkailija.opintopolku.fi/eperusteet-service/api/perusteet/611 ). Esim. perusteen tapauksessa tunniste ei ole pysyvä kahva tutkinnon perusteen uusimpaan versioon eikä sitä pidä käyttää viitteenä jos perusteeseen viitataan ulkoisesta järjestelmästä.

Viittaukset

Sisäiset viittaukset toisiin objekteihin on esitetty seuraavasti. Viittauksen arvona on kohdeobjektin tunniste (id). Huom! Arvo on merkkijono vaikka varsinaisen kohdeobjektin tunniste olisi tyypiltään luku.
?

"_tutkinnonOsa" : "637"

Aikaleimat

AIkaleimat esitetään pääsääntöisesti millisekunteina alkaen 1970-01-01 00:00:00 UTC (ns. unix-timestamp millisekunteina).
?

"voimassaoloAlkaa" : 1438376400000

Tekstien esittäminen (teksti)


?

"nimi" : {
      "_id" : "193255",
      "fi" : "Matemaattis-luonnontieteellinen osaaminen",
      "sv" : "Kunnande i matematik och naturvetenskap"
}

Tekstit ovat pääsääntöisesti objekteja joissa sama sisältö voi olla tarjolla yhdellä tai useammalla kielellä.  Tekstiobjekteissa esiintyy kenttä "_id" joka muuttuu jos tekstin sisältö muuttuu.

Tekstisisällöt voivat olla ns. rikasta tekstiä jossa käytetään rajoitettua HTML-merkkausta. Sallitut merkkauselementit ovat:

p, strong ,em, s, ol, li, ul, blockquote, hr, pre, th, thead, a, abbr, table, caption, tbody, tr, td, th, thead, a, abbr

Edellä olevat vahvennetut elementit ovat tuettuja lähes kaikissa teksteissä. Taulukoita voi esiintyä lähinnä laajoissa tekstikappaleissa (perusteen sisältö -osuus). Taulukoita lukuun ottamatta elementeissä ei voi olla attribuutteja (esim. tyylimäärityksiä tms.).

Perusteen tiedot

Perusteen yleiset tiedot

kenttä

tietotyyppi

kuvaus

kenttä

tietotyyppi

kuvaus

idlukutunniste
nimitekstiperusteen nimi
koulutustyyppi<koodisto-uri>Koulutustyyppi; https://virkailija.opintopolku.fi/koodisto-service/rest/codeelement/{kentän arvo}
koulutukset[koulutus]

(vain ammatillisissa perusteissa). Tutkinnot jotka peruste määrittelee.

kielet[merkkijono]Kielet joilla perusteen sisältö on olemassa.
kuvaustekstiPerusteen tiivistelmä (ei ole osa varsinaista perustetekstiä)
diaarinumeromerkkijonoMääräyksen diaarinumero
voimassaoloAlkaaaikaleimaPerusteen voimassaolon alku (voimassaoloAlkaa < voimassaoloLoppuu <= siirtymaPaattyy)
voimassaoloLoppuuaikaleimaPerusteen voimassaolon loppu (voi olla tyhjä jos peruste on toistaiseksi voimassa)
siirtymaPaattyyaikaleimaPerusteen siirtymäajan loppu (tyhjä jos peruste on toistaiseksi voimassa. Voi olla sama kuin voimassaoloLoppuu jos perusteella ei ole siirtymäaikaa.
muokattuaikaleimaperusteen viimeisin muokkaushetki
tilamerkkijono"valmis" jos kyseessä on julkaistu peruste
tyyppi--
korvattavatDiaarinumerot[merkkijono]lista määräysten diaarinumeroita jotka tämä peruste korvaa. Voi viitata myös perusteeseen jota ei löydy järjestelmästä.
osaamisalat[osaamisala](vain ammatillisissa perusteissa) Tutkinnon osaamisalat
tutkintonimikkeet[tutkintonimike](vain ammitillisissa perusteissa) Tutkinnon nimikkeet osaamisaloittain
suoritustavat[suoritustapa](vain ammatillisissa perusteissa) Tutkinnon suoritustavat (näyttötutkinto ja/tai opetussuunnitelmaperusteinen)
tutkinnonosat[tutkinnonosa](vain ammatillisissa perusteissa)
koulutuksenOsat[koulutuksenosa](vain tutkintoon valmistavissa perusteissa)
perusopetus[perusopetusSisalto](vain perusopetuksen perusteissa)
lukiokoulutus[lukiokoulutusSisalto](vain lukiokoulutuksen perusteissa)
lops2019[lukiokoulutus2019Sisalto](vain 2019 rakenteen mukaisissa lukiokoulutuksen perusteissA)
esiopetus[esiopetusSisalto](vain esiopetuksen perusteissa)
aipe[aikuistenPerusopetusSisalto](vain aikuisten perusopetuksen perusteissa)
tpo[taiteenPerusopetusSisalto](vain taiteen perusopetuksen perusteissa)
vapaasivistystyo[vapaasivistystyoSisalto](vain vapaan sivistystyön perusteissa)
tutkintoonvalmentava[tutkintoonvalmentavaSisalto](vain tutkintoon valmentavan perusteissa)
opas[opasSisalto](vain oppaissa)

Ammatillisen tutkinnon perusteen tiedot

-> Ammatillisen tutkinnon perusteen tiedot

Perusopetuksen perusteen tiedot

-> Perusopetuksen perusteen tiedot

REST-API

Swagger-dokumentaatio rajapinnasta: http://opetushallitus.github.io/eperusteet/api/eperusteet

Perusteiden haku

https://eperusteet.opintopolku.fi/eperusteet-service/api/external/perusteet

  • palauttaa PagePerusteenJulkaistuData
    • perusteet listattuna content-tietueessa tietomallina PerusteenJulkaisuData


Yksittäisen perusteen julkaistujen tietojen haku

https://eperusteet.opintopolku.fi/eperusteet-service/api/external/peruste/{perusteId}


Huom! Alla olevaa rajapintakuvausta ei enää suositella julkisien tietojen hakuun.

Swagger-dokumentaatio rajapinnasta: https://eperusteet.opintopolku.fi/eperusteet-service/

Edellä kuvattu tietosisältö vastaa 'kaikki' rajapinnan palauttamaa tietoa. Muista rajapinnoissa palautettu tieto on suppeampaa.

Perusteiden haku ( https://eperusteet.opintopolku.fi/eperusteet-service/api/perusteet/ )

  • Rajapinta on sivutettu; oletuksena palautetaan 25 tulosta

    • sivukokoa voi kontrolloida parametrilla "sivukoko"  (maksimi on 100 tulosta)

    • sivun voi valita parametrilla "sivu" (ensimmäinen sivu on "0")
      ?

      {
          "data" : [{ perusteen tiedot suppeassa muodossa }, ...]
          "sivuja" : 2,
          "kokonaismäärä" : 41,
          "sivukoko" : 25,
          "sivu" : 0
      }

  • Rajapinnasta on mahdollisuus pyytää jonkin aikaleiman jälkeen muuttuneet tiedot (parametri muokattu; palauttaa perusteet joiden muokattu -aikaleima on suurempi kuin annettu aikaleima).
  • Tiedot palautetaan oletuksena valitun kielen mukaisesti aakkosjärjestyksessä perusteen nimen mukaan. Vaihtoehtoisesti hakutulokset voi järjestää muokkaushetken mukaan uusin ensin -järjestykseen:

Esimerkki: perusopetuksen perusteen kaikkien tietojen haku

Muutokset perusteisiin

Julkaistut perusteet voivat muuttua kahdella tapaa.

  1. Olemassa olevaa perustetta korjataan. Tällöin peruste pysyy samana (ja esim. id ei muutu). Korjaus rajoittuu pieniin muutoksiin ja on tarkoitettu esim. kirjoitusvirheiden korjaamiseen tai puuttuvien käännösten lisäämiseen. Korjaus ei voi muuttaa perusteen rakennetta (esim. uusia tutkinnon osia ei julkaistuun perusteeseen voi lisätä).
  2. Olemassa olevaan perusteeseen tehdään merkittävä muutos (esim. lisätään ammatilliseen perusteeseen tutkinnon osa). Tässä tapauksessa järjestelmään syntyy uusi peruste joka korvaa aikaisemman.
    • Uudella perusteella on uusi tunniste ja myös vanha versio jää järjestelmään.
    • Vanhan version voimassaolopäivämäärät päivittyvät uuden määräyksen tietojen mukaan.
    • Uudessa perusteessa on tieto (korvattavatDiaarinumerot) perusteista jotka uusi peruste korvaa.
  • No labels