OSR:API/V2/toevoegen en wijzigen van endpoints: verschil tussen versies
k (→API endpoint) |
|||
Regel 210: | Regel 210: | ||
</tr></table> |
</tr></table> |
||
− | === |
+ | ====Voorbeeld==== |
<syntaxhighlight lang="json"> |
<syntaxhighlight lang="json"> |
||
{ |
{ |
Versie van 15 jul 2021 14:11
Inleiding
De leverancier moet de informatie over het endpoint zelf aanleveren.
Dit wijkt af van het OSO-project, waar een school in eerste instantie het endpoint (aanleverpunt) aanmaakt en de leverancier vervolgens het afleveradres erbij opslaat middels de call registreer aanleverpunt.
Om een endpoint aan te maken of te modificeren moet de leverancier gemandateerd zijn en het mandaat token gebruiken in de aanvraag voor het aanmaken van het endpoint.
Endpoints zijn specifiek voor een dienstversie en er kan eventueel ook een ingangsdatum worden meegegeven.
Opvragen mandaat token
Voordat men een endpoint kan registreren voor een bepaalde dienst, moet de onderwijsinstelling uw organisatie een mandaat hebben gegeven voor deze dienst.
Voor het registreren van een endpoint moet het token dat hoort bij het mandaat worden opgehaald.
Het opvragen van een mandaat token, is identiek aan het bericht valideren mandaat. Het verschil is dat hier het mandaat van uw eigen organisatie wordt opgevraagd.
Op de volgende pagina is het opvragen van een mandaat token uitgelegd: Opvragen mandaat token
Het registreren van een endpoint
Onderstaand staat beschreven hoe een endpoint te registreren.
Let op: Deze functionaliteit vereist authenticatie met behulp van een API key. Meer informatie over het gebruik hiervan staat vermeld in de API documentatie (link op de hoofdpagina). |
Aanroep
API endpoint
POST | /endpoints
|
Voorbeeld
{
"mandate_token": "6a47bfdd-81a7-46cd-b41f-d907e91ebdfc",
"routing_id": "0000000700004HR77707",
"service_version_namespace": "http://xml.eld.nl/schemas/Overstapservice/20170601",
"url": "https://t2.nl",
"attributes": "LAS",
"start_date": "2019-01-01",
"end_date": "2020-01-01"
}
Parameters | Omschrijving | Verplicht/Optioneel | |
---|---|---|---|
mandate_token | Het mandaat token welke verkregen is door het mandaat op te vragen | Verplicht | |
routing_id | Uniek routerings kenmerk. Dit moet goed afgestemd worden met de onderwijsinstelling, om eventuele problemen te voorkomen bij meerdere leveranciers die gemandateerd zijn voor de onderwijsinstelling en dienst combinatie. |
Verplicht | |
service_version_namespace | Namespace van de dienst | Verplicht | |
url | Technische locatie van de leverancier | Verplicht | |
attributes | Mogelijke attributen die ook opgeslagen moeten worden bij dit endpoint | Optioneel | |
start_date* | Start datum van het endpoint. Indien dit niet meegegeven wordt, dan wordt de huidige datum hier automatisch ingevuld. start datum kan niet in het verleden liggen. LET OP, startdatum van endpoint mag niet voor de startdatum van het mandaat liggen. |
Optioneel | |
end_date* | Eind datum van het endpoint. Einddatum kan niet in het verleden liggen | Optioneel |
*start_date: middernacht aan het begin van de opgegeven datum
*end_date: middernacht aan het einde van de opgegeven dag
Response
Voorbeeld
{
"attributes": "",
"routing_id": "0000000700004HR777AA",
"url": "https://t2.nl",
"start_date": "2019-01-31",
"end_date": null,
"_links": {
"self": {
"href": "/api/v2/endpoints/21"
},
"school": {
"href": "/api/v2/schools/10"
},
"service": {
"href": "/api/v2/services/1"
},
"service-version": {
"href": "/api/v2/service-versions/4"
}
}
}
Codes
Route | Code | Melding |
---|---|---|
endpoints | 201 | endpoint object |
endpoints | 400 | invalid json message received |
endpoints | 400 | some error in query params (jwt token, date etc..) |
endpoints | 403 | you are not qualified to create an endpoint |
Het wijzigen van een endpoint
Het wijzigen van een endpoint is vrijwel hetzelfde als het registreren van een endpoint.
De enige uitzondering hier is dat het Id van het endpoint meegestuurd moet worden.
Het Id is al eerder verkregen bij het registreren van het endpoint. Het mandaat token hoeft hier niet meegestuurd te worden.
Let op: Deze functionaliteit vereist authenticatie met behulp van een API key. Meer informatie over het gebruik hiervan staat vermeld in de API documentatie (link op de hoofdpagina). |
Aanroep
API endpoint
PUT | /endpoints
|
Voorbeeld
PUT https://osr-t.kennisnet.nl/api/v2/endpoints/21
{
"routing_id": "0000000700004HR77707",
"service_version_namespace": "http://xml.eld.nl/schemas/Overstapservice/20170601",
"url": "https://t2.nl"
}
Response
Codes
Route | Code | Melding |
---|---|---|
endpoints/{id} | 201 | endpoint object |
endpoints/{id} | 400 | invalid json message received |
endpoints/{id} | 400 | some error in query params (jwt token, date etc..) |
endpoints/{id} | 403 | you are not qualified to update an endpoint |
endpoints/{id} | 404 | endpoint not found |
Het kopiëren van endpoints naar een nieuwe dienstversie
Als administratiesysteem kun je alle endpoints, welke je voor een bepaalde dienstversie hebt geregistreerd met één enkele aanroep kopiëren naar een nieuwere versie van de dienst. Voorwaarde voor het gebruik hiervan is dat de nieuwere dienstversie nog geen actieve endpoints van het betreffende administratiesysteem bevat.
Na het kopiëren van de endpoints:
- Hebben de nieuwe endpoints een startdatum van het moment van kopiëren;
- Hebben de nieuwe endpoint geen einddatum;
- Is het routeringskenmerk overgenomen van het oude endpoint.
Deze functionaliteit is binnenkort beschikbaar Zodra deze is uitgebracht wordt het API endpoint zichtbaar in de API documentatie. |
Let op: Deze functionaliteit vereist authenticatie met behulp van een API key. Meer informatie over het gebruik hiervan staat vermeld in de API documentatie (link op de hoofdpagina). |
Aanroep
API endpoint
POST | /service-versions/copy-endpoints-from-service-version
|
Voorbeeld
{
"service_version_namespace_to_copy_to" => "http://xml.eld.nl/schemas/Overstapservice/20220404",
"service_version_namespace_to_copy_from" => "http://xml.eld.nl/schemas/Overstapservice/20210601"
}
Reponse
Codes
Code | Melding |
---|---|
200 | service version object (copy destination) |
400 | Validation error(s) |
404 | Service version with namespace {namespace} does not exist |
Voor wie?
Deze service is beschikbaar voor leveranciers die gekwalificeerd zijn voor het OSR en die gemandateerd zijn voor een onderwijsinstelling.
Voor TLS verbindingen (minimaal TLS 1.2) moet een aanvragende partij een geldige PKI overheidscertifcaat/ODOC certificaat gebruiken.
Zie meer informatie over de API op https://osr.kennisnet.nl/api/v2/documentation