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