Eksempler
Alle Java-eksempler benytter seg av Apache HTTP Client
Alle eksempler går mot vår kursbase så eventuelle data man ser her er fiktive.
Tilgjengelige grensesnitt
- Hente ut versjonsnummer til eksamenstjenesten
- Hente json schema autogenerert fra objektklasser
- Hente ut informasjon om eksamen i emne
- Hent liste av eksamener
- Hent info for en eksamen
- Registrere sensur for en eksamen
- Testregistrere sensur for en eksamen
- Registrere oppmøte for en eksamen
- Hente planleggingsdata for eksamen
- Lagre planleggingsdata for eksamen
- Hent begrunnelser for eksamen
- Registrere begrunnelse gitt til en kandidat for en eksamen
- Hent klager for eksamen
- Registrere et vedtak for klagesensur (Registrere et vedtak for eksamen)
- Registrere gruppeid for kandidater
- Registrere tittel på oppgave
- Hent eksamener filtrert på hjelpemiddel
- Hent klager endret siden tidspunkt
- Hent begrunnelsesforespørsler endret siden tidspunkt
- Hent status på bachelor/master oppgave ifm overføring til Brage
Hente ut versjonsnummer til eksamenstjenesten
Denne tjenesten henter ut versjonsnummeret til tjenesten. Dette er en GET-tjeneste som ikke tar noen parametre.
Denne tjenesten returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/eksamen/versjon
URL for prod: https://fsws.usit.no/eksamen/versjon
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetVersjon { private static String theUrl = "https://fs-test.uio.no/eksamen/versjon"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "versjonsnummer": "4.6.3", "wstjeneste": "fsws-eksamen" }
Hente autogenererte json schema
Alle tjenestene har nå et (ikke påkrevd) parameter schema som kan være enten true eller false. Dersom true så vil et json-schema leveres istedenfor opprinnelig resultat.
For GET-tjenester leveres json schema til det kommer fra FS.
For POST-tjenester leveres json schema til det som skal inn til FS.
I tillegg finnes en tjeneste "schema" som tar inn ett tekststrengparameter schema=
Denne tjenesten returnerer et JSON-objekt.
For oppdatert liste over implementerte schemaklasser, bruk en ukjent klassetype i query ?schema=NOE
URL for test: https://fs-test.uio.no/eksamen/schema?schema=<klasse>
URL for prod:Finnes foreløpig kun i test.
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetVersjon { private static String theUrl = "https://fs-test.uio.no/eksamen/schema?schema=KLAGER"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "type": "object", "id": "urn:jsonschema:no:ceres:eksamen:model:Vurderingsenhet", "properties": { "campuskode": { "type": "string" }, "datoSistEndret": { "type": "string" }, "datoUttak": { "type": "string" }, "domene": { "type": "string" }, "eksamenssystem": { "type": "string" }, "emnekode": { "type": "string" }, "emnetittel": { "type": "string" }, "fristKunngjoring": { "type": "string" }, "id": { "type": "string" }, "institusjonsnr": { "type": "integer" }, "klagefrist": { "type": "string" }, "klager": { "type": "array", "items": { "type": "object", "id": "urn:jsonschema:no:ceres:eksamen:model:KlageGet", "properties": { "brukernavn": { "type": "string" }, "etternavn": { "type": "string" }, "fornavn": { "type": "string" }, "kandidatnr": { "type": "integer" }, "klagestatus": { "type": "string" }, "kommisjonsidNy": { "type": "string" }, "kommisjonsidOppr": { "type": "string" }, "personlopenr": { "type": "string" }, "sensurfrist": { "type": "string" } } } }, "kunkandidatnr": { "type": "boolean" }, "poeng": { "type": "string" }, "sensurfrist": { "type": "string" }, "sensursystem": { "type": "string" }, "sistEndret": { "type": "integer", "format": "utc-millisec" }, "slutt": { "type": "string" }, "start": { "type": "string" }, "stedkode": { "type": "string" }, "tid": { "type": "object", "id": "urn:jsonschema:no:ceres:eksamen:model:Tid", "properties": { "reell": { "type": "string" }, "start": { "type": "string" } } }, "tidStart": { "type": "integer" }, "varighetTimer": { "type": "number" }, "vekttype": { "type": "string" }, "versjonskode": { "type": "string" }, "vurderingsform": { "type": "string" }, "vurderingsordning": { "type": "string" }, "vurdkombkode": { "type": "string" }, "vurdkombtittel": { "type": "string" }, "vurdstatuskode": { "type": "string" } } }
Hente ut informasjon om eksamen i emne
Denne tjenesten henter ut informasjon om eksamen for et gitt emne i et gitt semester. Dette er en GET-tjeneste som tar følgende query-parametre:
- institusjonsnr: Nummeret for institusjonen som du skal hente fra
- emnekode: Emnekoden for eksamen
- versjonskode: Versjonskoden for emnet. Alle versjoner av emnet vises dersom versjonskode ikke er angitt.
- arstall: Årstall for eksamen
- terminkode: Terminkoden
- malform: Målformen for informasjonen, enten "BM" (bokmål), "NN" (nynorsk) eller "EN" (engelsk). Bokmål vises dersom ikke målformen er angitt.
- schema=true: Viser autogenerert json schema for retur
Denne tjenesten returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/eksamen/eksamensinfo?institusjonsnr=<nr>&emnekode=<kode>&versjonskode=<nr>&arstall=<år>&terminkode=<kode>&malform=<form>
URL for prod: https://fsws.usit.no/eksamen/eksamensinfo?institusjonsnr=<nr>&emnekode=<kode>&versjonskode=<nr>&arstall=<år>&terminkode=<kode>&malform=<form>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEksamensinfo { private static String theUrl = "https://fs-test.uio.no/eksamen/eksamensinfo?institusjonsnr=185&emnekode=AST2180&versjonskode=1&arstall=2015&terminkode=HØST&malform=EN"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "id": "AST2180", "artermin": "15h", "ordning": [ { "id": "MTg1fHxBU1QyMTgwfHwxfHxWU3x8MjAxNXx8SMOYU1Q=", "versjonskode": "1", "vurderingsordningnavn": "2 skriftlige og 1 muntlig prøve", "navn": "Samlet vurdering", "status": "Kontinuasjon", "tid": { "aar": 2015, "termin": "HØST" }, "reellTid": { "aar": 2015, "termin": "HØST" }, "eksamensdel": [ { "id": "MTg1fHxBU1QyMTgwfHwxfHxTMnx8MjAxNXx8SMOYU1Q=", "navn": "Skriftlig eksamen 2 - gruppeoppgave", "statusObligatoriskAktivitet": "N", "form": "Written examination", "datoEksamen": "2015-10-22", "klokkeslettEksamen": "08:00", "terminnr": 1, "varighetTimer": 2, "tid": { "aar": 2015, "termin": "HØST" }, "reellTid": { "aar": 2015, "termin": "HØST" }, "rom": [ { "bygningskode": "81003", "romkode": "D33309" } ] }, { "id": "MTg1fHxBU1QyMTgwfHwxfHxNfHwyMDE1fHxIw5hTVA==", "navn": "Muntlig eksamen", "statusObligatoriskAktivitet": "N", "form": "Oral examination", "terminnr": 1, "tid": { "aar": 2015, "termin": "HØST" }, "reellTid": { "aar": 2015, "termin": "HØST" } } ] } ] }
Hent liste av eksamener
Denne tjenesten henter en liste over tilgjengelige eksamener. Dette er en GET-tjeneste som tar følgende query-parametre:
- institusjonsnr: Nummeret for institusjonen som du skal hente fra
- eksamenssystem: Navnet på eksamenssystemet som skal hente data, dette er registrert på vurderingskombinasjon i FS
- datofra: Start på datointerval det skal søkes i, gitt på form ddMMyyyy
- datotil: Slutt på datointerval det skal søkes i, gitt på form ddMMyyyy
- sistEndret : tidspunkt for forrige sjekk. Format: DDMMYYYY
- kunmedstartdato : vis kun de oppføringene som har startdato satt; boolsk verdi true|false
- campus : campuskode; vis kun eksamener på oppgitt campus
- schema=true: Viser autogenerert json schema for retur
Denne tjenesten returnerer en JSON-liste, spesifisert her.
URL for test: https://fs-test.uio.no/eksamen/liste?institusjonsnr=<nr>&eksamenssystem=<system>&datofra=<dato>&datotil=<dato>
URL for prod: https://fsws.usit.no/eksamen/liste?institusjonsnr=<nr>&eksamenssystem=<system>&datofra=<dato>&datotil=<dato>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetListe { private static String theUrl = "https://fs-test.uio.no/eksamen/liste?institusjonsnr=185&eksamenssystem=INSPERA&datofra=01012020&datotil=31122020"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
[ { "id": "MTg1fHxGWVMyMTQwfHwxfHxTfHwyMDE2fHwwNg==", "institusjonsnr": 185, "stedkode": "185_15_00_00", "emnekode": "FYS2140", "versjonskode": "1", "emnetittel": "Kvantefysikk", "vurdkombtittel": "1 skriftlig prøve", "vurdkombkode": "S", "eksamenssystem": "INSPERA", "sensursystem": "INSPERA", "domene": "ceres.no", "vurderingsform": "Skriftlig eksamen", "vurderingsordning": "S", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoSistEndret": "2016-03-29T16:46+0200", "tid": { "start": "2016 06", "reell": "2016 06" }, "vekttype": "Studiepoeng", "poeng": "10" }, { "id": "MTg1fHxLUkggMTMzfHwxfHxTfHwyMDIwfHxWxVI=", "institusjonsnr": 185, "stedkode": "185_14_00_00", "emnekode": "KRH 133", "versjonskode": "1", "emnetittel": "Lean innovasjon", "vurdkombtittel": "Innovativ eksamen", "vurdkombkode": "S", "eksamenssystem": "DEVILRY", "sensursystem": "FAGPWEB", "begrunnelsesystem": "INSPERA", "klagesystem": "WISEFLOW", "domene": "ceres.no", "vurderingsform": "Skriftlig eksamen", "vurderingsordning": "S", "vurdstatuskode": "ORD", "kunkandidatnr": false, "datoSistEndret": "2020-08-13T11:19+0200", "tid": { "start": "2020 VÅR", "reell": "2020 VÅR" }, "vekttype": "Studiepoeng", "poeng": "7.5" } ]
Hent info for en eksamen
Denne tjenesten henter info for en eksamen, basert på en ID, gitt i liste. Dette er en GET-tjeneste som tar eksamenssystem og ID som en del av stien. Denne tjenesten returnerer et JSON-objekt, spesifisert her.
Queryparameter schema=true Viser autogenerert json schema for retur
URL for test: https://fs-test.uio.no/eksamen/<system>/<ID>
URL for prod: https://fsws.usit.no/eksamen/<system>/<ID>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEksamen { private static String theUrl = "https://fs-test.uio.no/eksamen/INSPERA/MTg1fHxTT1NBTlQxMDkwfHwxfHxIfHwyMDIwfHxWw4VS"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "id": "MTg1fHxTT1NBTlQxMDkwfHwxfHxIfHwyMDIwfHxWw4VS", "institusjonsnr": 185, "stedkode": "185_17_09_00", "campuskode": "UIO", "emnekode": "SOSANT1090", "versjonskode": "1", "emnetittel": "Antropologiens historie", "vurdkombtittel": "Hjemmeeksamen", "vurdkombkode": "H", "eksamenssystem": "INSPERA", "sensursystem": "INSPERA", "begrunnelsesystem": "INSPERA", "klagesystem": "INSPERA", "start": "2020-04-27T09:00+0200", "domene": "uio.no", "slutt": "2020-04-30T14:00+0200", "vurderingsform": "Hjemmeeksamen", "sensurfrist": "2020-05-21", "fristKunngjoring": "2020-05-21", "vurderingsordning": "H", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoEksamenFra": "2020-05-12", "datoEksamenTil": "2020-05-12", "datoSistEndret": "2020-05-14T16:26+0200", "tid": { "start": "2020 VÅR", "reell": "2020 VÅR" }, "kommisjoner": [ { "id": "3", "navn": "Ordinær 3 - SM", "klagekommisjon": false, "antall_oppgaver": 0, "sensorer": [ { "id": "8504743", "fnr": "99999999999", "fornavn": "Ada", "etternavn": "Alderson", "brukernavn": "adaa", "sensorrolle": "INTERN", "kontaktinfo": { "telefonnr": "12345678" } } ] }, { "id": "1", "navn": "Ordinær 1 - JRN", "klagekommisjon": false, "antall_oppgaver": 25, "sensorer": [ { "id": "123535", "fnr": "88888888888", "fornavn": "Bernt", "etternavn": "Berntsen", "brukernavn": "bernb", "sensorrolle": "INTERN", "kontaktinfo": { "telefonnr": "12345678" } } ] }, { "id": "2", "navn": "Ordinær 2 - MG", "klagekommisjon": false, "antall_oppgaver": 25, "sensorer": [ { "id": "23544", "fnr": "77777777777", "fornavn": "Charlie", "etternavn": "Chaplin", "brukernavn": "char", "sensorrolle": "INTERN", "kontaktinfo": { "telefonnr": "12345678" } } ] } ], "vurderingsgrupper": [ { "id": "1", "kandidater": [ { "id": "642675", "kandidatnr": 35123, "kommisjonsid": "2", "fornavn": "Didrik", "etternavn": "Didriksen", "erKandidat": true, "brukernavn": "didr", "sprak": "BOKMÅL", "kontaktinfo": { "telefonnr": "12345678" }, "oppmote": [], "tilpasninger": [], "campuskode": "UIO" } ] }, { "id": "2", "kandidater": [ { "id": "5435359", "kandidatnr": 14332, "kommisjonsid": "2", "fornavn": "Eirik", "etternavn": "Eiriksen", "erKandidat": true, "brukernavn": "eirie", "sprak": "BOKMÅL", "kontaktinfo": { "telefonnr": "12345678" }, "oppmote": [], "tilpasninger": [], "innleveringsfrist": "2020-05-04T10:00", "campuskode": "UIO" } ] }, { "id": "3", "kandidater": [ { "id": "5528857", "kandidatnr": 50426, "kommisjonsid": "1", "fornavn": "Gunhild", "etternavn": "Gregersen", "erKandidat": true, "brukernavn": "gunhg", "sprak": "BOKMÅL", "kontaktinfo": { "telefonnr": "12345678" }, "oppmote": [], "tilpasninger": [ { "id": "TID", "navn": "EKSTRA TID TIL SKRIFTLIG EKSAMEN", "merknad": "" }, { "id": "185_SOSANT1090_1_H_2020_VÅR", "merknad": "", "ekstratid": "Ekstra tid (timer): 24", "ekstratidTall": { "type": "H", "value": 24.0 }, "ekstratidTimer": 24, "ekstratidMinutter": 0 } ], "campuskode": "UIO" } ] } ], "rom": [], "eksamensansvarlige": [], "karakterskala": { "kode": "NO30", "kodeNavn": "A - F" }, "vekttype": "Studiepoeng", "poeng": "10" }
Registrere sensur for eksamen
Denne tjenesten registrerer sensur for en gitt eksamen. Dette er POST-tjeneste som tar inn et JSON-objekt. Eksempel på JSON-objekt under.
Queryparameter schema=true returnerer json-schema for input.
URL for test: https://fs-test.uio.no/eksamen/sensur/<system>/registrer
URL for prod: https://fsws.usit.no/eksamen/sensur/<system>/registrer
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetListe { private static String theUrl = "https://fs-test.uio.no/eksamen/sensur/INSPERA/registrer"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("json-objekt")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-objekt
Som man kan se, så kan både personlopenr og kandidatnr brukes som identifikator på person som har tatt eksamen. Kandidatnr tar presedens dersom begge sendes. For å kunne registrere personer med stryk, der man ikke har en karakterregel som aksepterer stryk, så kan man bruke status-feltet med verdi S (se nederste kandidat). Det er også åpnet for å registrere status I (ikke møtt) og A (avbrutt eksamen).
Følgende parametre kan registreres (noen av dem settes på toppnivå og vil gjelde alle sensurregistreringer, noen settes på enkeltsensurnivå):
- Gruppeid - kan settes både på toppnivå og på individnivå
- Saksbehandler - Brukernavn eller personløpenummer til person som overfører sensurregistreringen, settes på toppnivå
- sensorliste - Liste over brukernavn/personløpenummer til sensorer som har utført sensur, kan settes både på toppnivå og på individnivå
- url - Url til sted hvor studenten kan se begrunnelsen for sensuren, settes på individnivå
{ "vurdId": "MTIzNHx8QVVUVEVTVDF8fDF8fFN8fDIwMTZ8fEjDmFNU", "institusjonsnr": 1234, "gruppeid":"Gruppe1-allesammen", "saksbehandler":{ "brukernavn": "monaiv" }, "sensorliste": [ {"brukernavn": "sensor11"}, {"brukernavn": "sensor12"} ], "sensur": [ { "personlopenr": 3168, "sensorliste": [ {"brukernavn": "sensor1"}, {"brukernavn": "sensor2"} ], "url": "http://begrunnelse.url/Begrunnelse", "gruppeid": "Min Egen Gruppe2", "resultat": "C" }, { "personlopenr": 973, "status": "A" }, { "personlopenr": 11858, "url": "http://begrunnelse.url/Min", "resultat": "B" }, { "personlopenr": 2829, "status": "S" } ] }
Eksempel på svar
{ "antallOk": 2, "antallFeil": 3, "feil": [ { "personlopenr": 973, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG06: Kun status S (Stryk), I (ikke møtt), eller A (avbrutt eksamen) kan registreres." }, { "personlopenr": 11858, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG01: Kan ikke registrere status og resultat for samme kandidat." }, { "kandidatnr": 14277, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG04: Kandidat ikke registrert for eksamen." } ] }
Testregistrere sensur for eksamen
Denne tjenesten tester registrering av sensur for en gitt eksamen. Den oppfører seg helt likt som sensurregistreringen, men ingenting skrives tilbake til FS. Dette er POST-tjeneste som tar inn et JSON-objekt. Eksempel på JSON-objekt under.
URL for test: https://fs-test.uio.no/eksamen/sensur/<system>/valider
URL for prod: https://fsws.usit.no/eksamen/sensur/<system>/valider
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetListe { private static String theUrl = "https://fs-test.uio.no/eksamen/sensur/INSPERA/valider"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("json-objekt")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-objekt
Som man kan se, så kan både personlopenr og kandidatnr brukes som identifikator på person som har tatt eksamen. Kandidatnr tar presedens dersom begge sendes. For å kunne registrere personer med stryk, der man ikke har en karakterregel som aksepterer stryk, så kan man bruke status-feltet med verdi S (se nederste kandidat). Det er også åpnet for å registrere status I (ikke møtt) og A (avbrutt eksamen).
Følgende parametre kan registreres (noen av dem settes på toppnivå og vil gjelde alle sensurregistreringer, noen settes på enkeltsensurnivå):
- Gruppeid - kan settes både på toppnivå og på individnivå
- Saksbehandler - Brukernavn eller personløpenummer til person som overfører sensurregistreringen, settes på toppnivå
- sensorliste - Liste over brukernavn/personløpenummer til sensorer som har utført sensur, kan settes både på toppnivå og på individnivå
- url - Url til sted hvor studenten kan se begrunnelsen for sensuren, settes på individnivå
{ "vurdId": "MTIzNHx8QVVUVEVTVDF8fDF8fFN8fDIwMTZ8fEjDmFNU", "institusjonsnr": 1234, "gruppeid":"Gruppe1-allesammen", "saksbehandler":{ "brukernavn": "monaiv" }, "sensorliste": [ {"brukernavn": "sensor11"}, {"personlopenr": 923} ], "sensur": [ { "personlopenr": 3168, "sensorliste": [ {"brukernavn": "sensor1"}, {"brukernavn": "sensor2"} ], "url": "http://begrunnelse.url/Begrunnelse", "gruppeid": "Min Egen Gruppe2", "resultat": "C" }, { "personlopenr": 973, "status": "A" }, { "personlopenr": 11858, "url": "http://begrunnelse.url/Min", "resultat": "B" }, { "personlopenr": 2829, "status": "S" } ] }
Eksempel på svar
{ "antallOk": 2, "antallFeil": 3, "feil": [ { "personlopenr": 973, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG06: Kun status S (Stryk), I (ikke møtt), eller A (avbrutt eksamen) kan registreres." }, { "personlopenr": 11858, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG01: Kan ikke registrere status og resultat for samme kandidat." }, { "kandidatnr": 14277, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG04: Kandidat ikke registrert for eksamen." } ] }
Registrere oppmøte for eksamen
Denne tjenesten registrerer oppmøte for en gitt eksamen. Dette er POST-tjeneste som tar inn et JSON-objekt. Eksempel på JSON-objekt under.
Queryparameter schema=true returnerer json-schema for input.
URL for test: https://fs-test.uio.no/eksamen/oppmote/<system>/registrer
URL for prod: https://fsws.usit.no/eksamen/oppmote/<system>/registrer
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetListe { private static String theUrl = "https://fs-test.uio.no/eksamen/oppmote/INSPERA/registrer"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("json-objekt")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-objekt
Som man kan se, så kan både personlopenr og kandidatnr brukes som identifikator på person som har tatt eksamen.
{ "vurdId": "MTg1fHxBTUgtRVhGQUN8fDF8fFN8fDIwMTV8fDEy", "institusjonsnr": 1234, "oppmote": [ { "personlopenr": 5198, "oppmoteStatus": "A" }, { "personlopenr": 2106, "oppmoteStatus": "U" }, { "personlopenr": 5287, "oppmoteStatus": "I" }, { "personlopenr": 2109, "oppmoteStatus": "M" }, { "kandidatnr": 513, "oppmoteStatus": "A" } ] }
Gyldige statuser kan angis i FS, gyldige for denne tjenesten er:
- A: Trekk under eksamen
- M: Møtt til eksamen
- I: Ikke møtt
Eksempel på svar
{ "antallOk": 3, "antallFeil": 2, "feil": [ { "personlopenr": 2106, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG06: Kun status S (Stryk), I (ikke møtt), eller A (avbrutt eksamen) kan registreres." }, { "personlopenr": 5287, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG04: Kandidat ikke registrert for eksamen." } ] }
Hente planleggingsdata for eksamen
Denne tjenesten henter planleggingsdata for en eksamen
Queryparameter schema=true returnerer json-schema for retur.
URL for test: https://fs-test.uio.no/eksamen/planleggingsdata?emnekode=...&arstall=...&terminkode=...
URL for prod: https://fsws.usit.no/eksamen/planleggingsdata?emnekode=...&arstall=...&terminkode=...
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEksamen { private static String theUrl = "https://fs-test.uio.no/eksamen/planleggingsdata?emnekode=ENG1100&arstall=2015&terminkode=HØST"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "emnekode": "ENG1100", "enheter": [ { "antallForrigeAr": 265, "antallUndervisningsmeldt": 330, "antallVurderingsmeldt": 302, "arstall": 2015, "rom": [], "statusPubliser": "J", "vurderingsnavn": "Oppmøte på 11 av 14 seminarer + to skriftlige innleveringer", "vurdkombkode": "OBL1", "vurdkombtypekode": "OBLIG", "vurdstatuskode": "ORD", "vurdtidkode": "HØST" }, { "antallForrigeAr": 279, "antallUndervisningsmeldt": 330, "antallVurderingsmeldt": 302, "arstall": 2015, "datoEksamen": "2015-12-07", "klokkeslettFremmoteTid": "09:00", "rom": [ { "bygningskode": "BL04", "romkode": "126", "varighetTimer": 4.0 }, { "bygningskode": "BL04", "romkode": "120", "varighetTimer": 4.0 }, { "bygningskode": "BL04", "romkode": "114", "varighetTimer": 4.0 }, { "bygningskode": "BL04", "romkode": "106", "varighetTimer": 4.0 } ], "statusIndTid": "N", "statusPubliser": "J", "varighetTimer": 4.0, "vurderingsformkode": "S", "vurderingsnavn": "Skriftlig eksamen", "vurdkombkode": "S", "vurdkombtypekode": "AVVIKLING", "vurdstatuskode": "ORD", "vurdtidkode": "HØST" } ], "semesterkode": "15H", "
Registrere planleggingsdata for eksamen
Denne tjenesten registrerer planleggingsdata for en eksamen
Queryparameter schema=true returnerer json-schema for input.
URL for test: https://fs-test.uio.no/eksamen/planleggingsdata/oppdater
URL for prod: https://fsws.usit.no/eksamen/planleggingsdata/oppdater
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class OppdaterEksamen { private static String theUrl = "https://fs-test.uio.no/eksamen/planleggingsdata/oppdater; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("se eksempel på json-data under")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-data som sendes inn
{ "arstall": 2008, "datoEksamen": "2008-05-01", "emnekode": "AST2110", "institusjonsnr": 185, "klokkeslettFremmoteTid": "08:00", "versjonskode": "1", "vurdkombkode": "S", "vurdtidkode": "06", "romdata": [ { "bygningskode": "201", "klokkeslettFremmoteTid": "09:00", "romkode": "201", "statusLaSta": "J", "tallKandidaterIRom": 10, "varighetTimer": 5.0 } ] }
Hent begrunnelser for eksamen
Denne tjenesten henter begrunnelser for en gitt eksamen. Dette er en GET-tjeneste:
Queryparameter schema=true viser json-schema for retur.
System: Kode for datasystem brukt ifm. behandling av begrunnelser.
URL for test: https://fs-test.uio.no/eksamen/begrunnelser/<SYSTEM>/<ID>
URL for prod: https://fsws.usit.no/eksamen/begrunnelser/<SYSTEM>/<ID>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetBegrunnelser { private static String theUrl = "https://fs-test.uio.no/eksamen/begrunnelser/INSPERA/MTIzNHx8QVVUVEVTVDF8fDF8fFNLUklGVExJR3x8MjAxNnx8SMOYU1Q="; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "id": "MTg1fHxTUEVENDMwMHx8MXx8SFMtU3x8MjAxOXx8SMOYU1Q=", "institusjonsnr": 185, "stedkode": "185_18_03_00", "campuskode": "UIO", "emnekode": "SPED4300", "versjonskode": "1", "emnetittel": "Fordypning i psykososiale vansker", "vurdkombtittel": "Skriftlig eksamen", "vurdkombkode": "HS-S", "eksamenssystem": "INSPERA", "sensursystem": "INSPERA", "begrunnelsesystem": "INSPERA", "klagesystem": "INSPERA", "start": "2020-06-03T09:00+0200", "domene": "uio.no", "varighetTimer": 6.0, "vurderingsform": "Individuell skriftlig prøve", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoSistEndret": "2020-09-04T13:51+0200", "tid": { "start": "2019 HØST", "reell": "2020 VÅR" }, "begrunnelser": [ { "personlopenr": "1234567", "kandidatnr": 123456, "brukernavn": "adab", "kommisjonsId": "1", "datoKlageMottat": "2020-06-18", "datoVedtakFormidlet": "2020-06-18" }, { "personlopenr": "2345678", "kandidatnr": 234567, "brukernavn": "bernla", "kommisjonsId": "3", "datoKlageMottat": "2020-06-18", "datoVedtakFormidlet": "2020-06-18" } ], "vekttype": "Studiepoeng", "poeng": "40" }
Registrere begrunnelser for eksamen
Denne POST-tjenesten registrerer begrunnelse gitt til en kandidat for en eksamen.
Begrunnelsen leses inn som en base64-kodet streng-representasjon av enten et pdf-dokument eller ren tekst. Feltet "contentTypeBegrunnelse" angir hva.
Tjenesten tar også inn url til begrunnelse i feltet "urlBegrunnelse", til registrering dersom det ikke ble lagt inn som del av sensurregisreringen.
Formen angis med feltet "begrunnelsesform" som kan være enten "SKRIFTLIG" eller "MUNTLIG".
Queryparameter schema=true returnerer json-schema for input.
URL for test: https://fs-test.uio.no/eksamen/begrunnelser/<SYSTEM>
URL for prod: https://fsws.usit.no/eksamen/begrunnelser/<SYSTEM>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class OppdaterBegrunnelser { private static String theUrl = "https://fs-test.uio.no/eksamen/begrunnelser/INSPERA; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("se eksempel på json-data under")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-data som sendes inn
{ "id": "MTIzNHx8QVVUVEVTVDF8fDF8fFNLUklGVExJR3x8MjAxNnx8SMOYU1Q=", "institusjonsnr": 1234, "begrunnelser": [ { "datoBegrunnelseBedtOm": "2016-06-06", "datoBegrunnelseGitt": "2016-06-06", "dokumentBegrunnelse": "RGV0dGUgZXIgYmVncnVubmVsc2VuIHNvbSBwbGFpbi10ZXh0LCBiYXNlNjQtZW5rb2RldC4=", "contentTypeBegrunnelse": "text/plain", "kandidatnr": 1, "urlBegrunnelse": "http://min.begrunnelse.url/ligger_her", "begrunnelsesform": "SKRIFTLIG", "personlopenr": 2829 } ] }
Eksempel på svar
{ "antallOk": 1, "antallFeil": 0 }
Hent klager for eksamen
Denne tjenesten henter klager for en gitt eksamen. Dette er en GET-tjeneste:
Queryparameter schema=true viser json-schema for retur.
System: Kode for datasystem brukt ifm. klagebehandling.
URL for test: https://fs-test.uio.no/eksamen/klager/<SYSTEM>/<ID>
URL for prod: https://fsws.usit.no/eksamen/klager/<SYSTEM>/<ID>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetKlager { private static String theUrl = "https://fs-test.uio.no/eksamen/klager/INSPERA/MTg1fHxTUEVENDMwMHx8MXx8SFMtU3x8MjAxOXx8SMOYU1Q="; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "id": "MTg1fHxLUkgyMDF8fDF8fFN8fDIwMjB8fFbDhVI=", "institusjonsnr": 185, "stedkode": "185_00_00_00", "emnekode": "KRH201", "versjonskode": "1", "emnetittel": "Langsiktig kvalitetssikring", "vurdkombtittel": "Skriftlig eksamen", "vurdkombkode": "S", "eksamenssystem": "INSPERA", "sensursystem": "INSPERA", "begrunnelsesystem": "FAGPWEB", "klagesystem": "FAGPWEB", "start": "2020-05-10T00:00+0200", "domene": "ceres.no", "vurderingsform": "Skriftlig eksamen", "klagefrist": "2021-01-21", "vurderingsordning": "S", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoSistEndret": "2020-06-26T09:11+0200", "tid": { "start": "2020 VÅR", "reell": "2020 VÅR" }, "klager": [ { "personlopenr": "11814", "kandidatnr": 3, "fornavn": "Georgie", "etternavn": "Washington", "klagestatus": "AKTIV", "kommisjonsidOppr": "1", "kommisjonsidNy": "2" }, { "personlopenr": "11878", "kandidatnr": 2, "fornavn": "James", "etternavn": "Buchanan", "klagestatus": "AKTIV", "kommisjonsidOppr": "1", "kommisjonsidNy": "2" } ], "vekttype": "Studiepoeng", "poeng": "10" }
Registrere vedtak for klagesensur (Registrere vedtak for eksamen)
Denne tjenesten registrerer vedtak på en klage for en eksamen
Queryparameter schema=true returnerer json-schema for input.
System: Kode for datasystem brukt ifm. klagebehandling.
URL for test: https://fs-test.uio.no/eksamen/vedtak/<SYSTEM>
URL for prod: https://fsws.usit.no/eksamen/vedtak/<SYSTEM>
I tillegg er det nå også mulig å registrere følgende parametre, ref. registrere sensur for en eksamen (noen av parametrene settes på toppnivå og vil gjelde alle sensurregistreringer, noen settes på enkeltsensurnivå):
- Saksbehandler - Brukernavn eller personløpenummer til person som overfører sensurregistreringen, settes på toppnivå
- sensorliste - Liste over brukernavn/personløpenummer til sensorer som har utført sensur, kan settes både på toppnivå og på individnivå
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class OppdaterVedtak { private static String theUrl = "https://fs-test.uio.no/eksamen/vedtak/INSPERA; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("se eksempel på json-data under")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-data som sendes inn
{ "id": "MTIzNHx8QVVUVEVTVDF8fDF8fE1VTlRMSUd8fDIwMTZ8fFbDhVI=", "institusjonsnr": 1234, "saksbehandler": { "brukernavn": "krimei" }, "sensorliste": [ { "brukernavn": "sensor11" }, { "brukernavn": "sensor12" } ], "vedtak": [ { "kandidatnr": 1, "karakter": "A", "sensorliste": [ { "brukernavn": "sensor1" }, { "personlopenr": 123456 } ] }, { "status": "J", "personlopenr": 971 } ] }
Eksempel på svar
{ "antallOk": 1, "antallFeil": 1, "feil": [ { "personlopenr": 971, "feilmelding": "DIG43: Kun status I (Ikke møtt), Ø (Manglende oblig), A (Avbrutt eksamen), eller S (Stryk) kan registreres." } ] }
Registrere gruppeid for kandidater
Denne POST tjenesten registrerer gruppeid (gruppenavn) på kandidater for en gitt eksamen
Queryparameter schema=true returnerer json-schema for input.
URL for test: https://fs-test.uio.no/eksamen/gruppeid/<SYSTEM>/registrer
URL for prod: https://fsws.usit.no/eksamen/gruppeid/<SYSTEM>/registrer
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class RegistrerGruppeid { private static String theUrl = "https://fs-test.uio.no/eksamen/gruppeid/INSPERA/registrer; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("se eksempel på json-data under")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-data som sendes inn
{ "vurdId": "MTIzNHx8QVVUVEVTVDF8fDF8fFN8fDIwMTZ8fFbDhVI=", "institusjonsnr": 1234, "gruppeid": [ { "personlopenr": 2133, "gruppeid": "Dette er en lang gruppeid som kommer til å feile dersom man prøver å sende den inn." }, { "personlopenr": 2133, "gruppeid": "Gruppe 1-m2" }, { "personlopenr": 971, "gruppeid": "Denne kandidaten finnes ikke oppmeldt til eksamen angitt av vurdId." }, { "personlopenr": 2605, "gruppeid": "Gruppe 1-2" }, { "personlopenr": 2133, "gruppeid": "Gruppe 1-2" } ] }
Eksempel på respons
{ "antallOk": 3, "antallFeil": 2, "feil": [ { "personlopenr": 2133, "feilmelding": "DIG99: Databasefeil kode (-12899): ORA-12899: value too large for column \"FS\".\"VURDKOMBMELDING\".\"GRUPPEID\" (actual: 83, maximum: 50)" }, { "personlopenr": 971, "feilmelding": "DIG99: Databasefeil kode (100): ORA-01403: no data found" } ] }
Registrere tittel på oppgave
Denne POST tjenesten registrerer oppgavetittel på vurderingsmeldinger
Queryparameter schema=true returnerer json-schema for input.
URL for test: https://fs-test.uio.no/eksamen/oppgavetittel/<SYSTEM>/registrer
URL for prod: https://fsws.usit.no/eksamen/oppgavetittel/<SYSTEM>/registrer
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class RegistrerOppgavetittel { private static String theUrl = "https://fs-test.uio.no/eksamen/oppgavetittel/INSPERA/registrer"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("se eksempel på json-data under")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempel på json-data som sendes inn
{ "vurdId": "MTIzNHx8QVVUVEVTVDF8fDF8fFN8fDIwMTZ8fEjDmFNU", "institusjonsnr": 1234, "oppgavetittel": [ { "personlopenr": 973, "engelsk": "What a joke", "original": "Bare tull" }, { "kandidatnr": 1231, "engelsk": "Sumtnsumtn", "original": "Etellerannet" } ] }
Eksempel på respons
{ "antallOk": 1, "antallFeil": 1, "feil": [ { "kandidatnr": 1231, "feilmelding": "DIG99: Databasefeil kode (-20111): ORA-20111: DIG04: Kandidat ikke registrert for eksamen." } ] }
Hent eksamener filtrert på hjelpemiddel
Denne GET tjenesten henter ut eksamener filtrert på hjelpemiddel, årstall og termin
- institusjonsnr: Nummeret for institusjonen som du skal hente fra
- hjelpemiddel: Hjelpemiddel for eksamen
- arstall: Årstall for eksamen
- terminkode: Terminkoden(Uppercase)
- schema=true: Viser autogenerert json schema for retur
Denne tjenesten returnerer ett eller flere JSON-objekt.
URL for test: https://fs-test.uio.no/eksamen/hjelpemiddel?institusjonsnr=...&hjelpemiddel=...&arstall=...&terminkode=...
URL for prod: https://fsws.usit.no/eksamen/hjelpemiddel?institusjonsnr=....&hjelpemiddel=...&arstall=...&terminkode=...
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEksamenerHjelpeMiddel { private static String theUrl = "https://fs-test.uio.no/eksamen /hjelpemiddel?institusjonsnr=185&hjelpemiddel=kalkulator&arstall=2009&terminkode=HØST"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
[ { "id": "MTg1fHxWSzEwQ3x8MXx8U3x8MjAwOXx8SMOYU1Q=", "institusjonsnr": 185, "emnekode": "VK10C", "versjonskode": "1", "emnetittel": "Vk10c", "vurdkombtittel": "Skriftlig eksamen", "vurdkombkode": "S", "start": "2009-10-15T09:00+0200", "domene": "uio.no", "varighetTimer": 3, "vurderingsform": "Skriftlig eksamen", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoSistEndret": "2018-05-08T22:13+0200", "tid": { "start": "2009 HØST", "reell": "2009 HØST" }, "kandidater": [ "17517790125", "13586990122", "18586890006", "15597790349" ] }, { "id": "MTg1fHxWSzEwQnx8MXx8U3x8MjAwOXx8SMOYU1Q=", "institusjonsnr": 185, "emnekode": "VK10B", "versjonskode": "1", "emnetittel": "Vk10b", "vurdkombtittel": "Skriftlig prøve", "vurdkombkode": "S", "start": "2009-12-10T09:00+0100", "domene": "uio.no", "varighetTimer": 3, "vurderingsform": "Skriftlig eksamen", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoSistEndret": "2018-05-08T22:14+0200", "tid": { "start": "2009 HØST", "reell": "2009 HØST" }, "kandidater": [ "18586890006", "15597790349", "17517790125", "13586990122" ] }, ]
Hent klager endret siden tidspunkt
Denne GET tjenesten henter ut en liste over klager som har blitt opprettet eller endret siden oppgitt tidspunkt.
- institusjonsnr: Nummeret for institusjonen som du skal hente fra
- siden: tidspunkt for sist sjekk. Format: DDMMYYYYhhmm
- System: Koden for eksamenssystemet
- dbinstnr: Institusjonsnummer til database dersom data ligger i en annen base enn instnr sin base.
- schema=true: Viser autogenerert json schema for retur
Denne tjenesten returnerer en JSON-liste.
System: Kode for datasystem brukt ifm. klagebehandling.
URL for test: https://fs-test.uio.no/eksamen/klager/<SYSTEM>
URL for prod: https://fsws.usit.no/eksamen/klager/<SYSTEM>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetKlagerSiden { private static String theUrl = "https://fs-test.uio.no/eksamen/klager/INSPERA?institusjonsnr=185&siden=010120181000&dbinstnr=1234"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
[ { "vurdId": "MTg1fHxBTUgtTVVTMjAwMXx8MXx8U3x8MjAxN3x8MDY=", "klage": { "personlopenr": "4468", "kandidatnr": 60, "brukernavn": "18628790120", "klagestatus": "AKTIV", "sensurfrist": "2018-08-30T00:00+0100", "kommisjonsidOppr": "1", "kommisjonsidNy": "2" } }, { "vurdId": "MTg1fHxBTUgtTVVTMjAwMXx8MXx8U3x8MjAxN3x8MDY=", "klage": { "personlopenr": "3910", "kandidatnr": 50, "brukernavn": "12518690319", "klagestatus": "BEHANDLET" } }, { "vurdId": "MTg1fHxBTUgtTVVTMjAwMXx8MXx8U3x8MjAxOHx8MDY=", "klage": { "personlopenr": "3910", "kandidatnr": 70054, "brukernavn": "12518690319", "klagestatus": "TRUKKET" } }, { "vurdId": "MTg1fHxBTUgtTVVTMjAwMXx8MXx8U3x8MjAxOHx8MDY=", "klage": { "personlopenr": "3910", "kandidatnr": 70054, "brukernavn": "12518690319", "klagestatus": "TRUKKET" } }, { "vurdId": "MTg1fHxBTUgtTVVTMjAwMXx8MXx8U3x8MjAxOHx8MDY=", "klage": { "personlopenr": "3910", "kandidatnr": 70054, "brukernavn": "12518690319", "klagestatus": "TRUKKET" } } ]
Hent begrunnelsesforespørsler endret siden tidspunkt
Denne GET tjenesten henter ut en liste over begrunnelsesforespørsler som har blitt opprettet eller endret siden oppgitt tidspunkt.
- institusjonsnr: Nummeret for institusjonen som du skal hente fra
- siden: tidspunkt for sist sjekk. Format: DDMMYYYYhhmm
- System: Koden for eksamenssystemet
- dbinstnr: Institusjonsnummer til database dersom data ligger i en annen base enn instnr sin base.
- schema=true: Viser autogenerert json schema for retur
Denne tjenesten returnerer en JSON-liste.
System: Kode for datasystem brukt ifm. behandling av begrunnelser.
URL for test: https://fs-test.uio.no/eksamen/begrunnelse/<SYSTEM>
URL for prod: https://fsws.usit.no/eksamen/begrunnelse/<SYSTEM>
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetBegrunnelserSiden { private static String theUrl = "https://fs-test.uio.no/eksamen/begrunnelse/INSPERA?institusjonsnr=185&siden=010120181000&dbinstnr=1234"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
[ { "vurdId": "MTg1fHxBTUgtTVVTMjAwMXx8MXx8U3x8MjAxOHx8MDY=", "klage": { "personlopenr": "3910", "kandidatnr": 70054, "brukernavn": "12518690319", "klagestatus": "AKTIV" } } ]
Hent status på bachelor/master oppgave ifm overføring til Brage
Denne tjenesten returnerer status på bachelor/master oppgave (eksamen) ifm. overføring til Brage (Publisering). Dette er en GET-tjeneste som tar eksamenssystem/sensursystem og ID som en del av stien, path-parametre. Tjenesten tar følgende query-parametre:
- fødselsnummer: Fødselsnummeret til studenten, 11 sifre
- epost: Epost adressen til student
- brukernavn: Brukernavnet til studenten
- personlopenr: Personløpenummeret til studenten
- kandidatnr: Kandidatnummeret til studenten
- schema=true: Viser autogenerert json schema for retur
Denne tjenesten returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/eksamen/ferdigstatus/<ID>?fnr=<nr>&.....
URL for prod: https://fsws.usit.no/eksamen/ferdigstatus/<ID>?fnr=<nr>&.......
Alternativ er det mulig å oppgi institusjonsnr som en path parameter. Institusjonsnummeret vil da velge hvilken database som spørringen går mot. Eks:
URL for test: https://fs-test.uio.no/eksamen/ferdigstatus/<ID>/<DB-instnr>?fnr=<nr>&.....
URL for prod: https://fsws.usit.no/eksamen/ferdigstatus/<ID>/<DB-instnr>?fnr=<nr>&.......
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEksamensinfo { private static String theUrl = "https://fs-test.uio.no/eksamen/ferdigstatus/INSPERA/MTg1fHxVVFZJVDE1MDB8fDF8fFN8fDIwMTd8fFbDhVI=?fnr=65655453333"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "enhet": { "id": "MTg1fHxVVFZJVDE1MDB8fDF8fFN8fDIwMTd8fFbDhVI=", "institusjonsnr": 185, "stedkode": "185_18_00_00", "campuskode": "UIO", "emnekode": "UTVIT1500", "versjonskode": "1", "emnetittel": "Forskningsmetoder i utdanningsvitenskap", "vurdkombtittel": "Skriftlig eksamen", "vurdkombkode": "S", "eksamenssystem": "INSPERA", "start": "2017-06-08T09:00+0200", "domene": "uio.no", "varighetTimer": 3, "vurderingsform": "Individuell skriftlig prøve", "vurderingsordning": "S", "vurdstatuskode": "ORD", "kunkandidatnr": true, "datoSistEndret": "2018-05-04T21:48+0200", "tid": { "start": "2017 VÅR", "reell": "2017 VÅR" }, "vekttype": "Studiepoeng", "poeng": "10" }, "personid": { "personlopenr": 3535355, "brukernavn": "jensemann", "studentnr": 353535 }, "studieprogram": { "studieprogramkode": "UVB-PED", "studieprogram": "Pedagogikk" }, "brageDCSubject": "Pedagogikk, null", "sted": { "institusjon": "Universitetet i Oslo", "fakultet": "Det utdanningsvitenskapelige fakultet", "stedakronym": "UV" }, "status": { "kanOverfores": true, "erBestatt": "N" } }