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"
}
}
Felles studentsystem