Resultaten doorsturen naar Smartschool (Resultservice API)
Deze pagina legt uit hoe je resultaten van toetsen of oefeningen kan doorsturen naar Smartschool via de Resultservice External API. Je vindt hieronder zowel een praktische uitleg als de volledige OpenAPI-referentie.
1. API-token verkrijgen
Je kan een API‑request maken met een access_token dat verkregen is via de client‑credentials OAuth‑flow (client-centric). Verzamel hiervoor je client_id, client_secret en gewenste scope (exerciseresults).
Stuur een request naar:
https://.....smartschool.be/OAuth/index/token?client_id=...&client_secret=...&scope=exerciseresults&grant_type=client_credentials
Voorbeeldresponse:
{
"access_token": "QSerH52PZ4GudbB8usSVum3KzAk1uBu3mcAbSnwK",
"token_type": "Bearer",
"expires_in": 8640000
}
2. API-requests versturen
Stuur daarna je resultaten door naar de Resultservice via:
https://....smartschool.be/Api/Resultservice/resultservice
Zorg voor de juiste authenticatie‑header:
Authorization: Bearer QSerH52PZ4GudbB8usSVum3KzAk1uBu3mcAbSnwK
De body moet verstuurd worden als POST in JSON.
Je kan meerdere opdrachten tegelijk doorgeven, en je mag resultaten voor dezelfde opdracht later opnieuw verzenden, het laatste resultaat wordt altijd gebruikt.
Voorbeeld datastructuur
[
{
"uuid": "...",
"teacher": "...",
"title": "Toets 1",
"date": "2017-04-12",
"maximum": 10,
"class": "1A1",
"course": "Nederlands",
"description": "Eerste toets",
"results": [
{
"student": "...",
"result": "5",
"comment": "matig",
"date": "2017-05-22 13:10:00"
},
{
"student": "...",
"result": "10",
"comment": "zeer goed",
"date": "2017-05-22 13:10:00"
}
]
},
{
"uuid": "...",
"teacher": "...",
"title": "Test 2",
"date": "2017-04-12",
"maximum": 5,
"class": "1A2",
"course": "Engels",
"description": "Second test",
"results": [
{
"student": "...",
"result": "5",
"comment": "very good",
"date": "2017-05-22 13:10:00"
},
{
"student": "...",
"result": "4",
"comment": "good",
"date": "2017-05-22 13:10:00"
}
]
}
]
3. Officiële OpenAPI-specificatie
De volledige technische documentatie (OpenAPI 3.0) van deze service vindt je hier:
Resultservice External API – resultservice-external-v1.yaml
