Versie 2.0 02-07-2019


Algemeen

V2.0 is een major release met zogenaamde 'breaking changes'. Dat betekent dat deze release NIET 'downwards compatibel' is.

Deze 'breaking changes' worden hieronder per call beschreven maar in het algemeen zijn er de volgende wijzigingen:

Sommige labels hebben in de GET calls een andere naam gekregen in de 'json response'.
Dit in verband met de validiteit van de Swagger documentatie.

De 'subscription' call is vervangen door een 4-tal calls. Er wordt nu onderscheid gemaakt tussen een subscription van een Course of een Lesson ( CursAd: 'cursus' of 'les' ). Het verschil is bepaalt door het 'lestype' ( API lessonType: dit veld was al aanwezig in de lessonBlocks, maar is nu ook beschikbaar vaar bij de Course & Activity  ).

De huidige subscription calls zijn vereenvoudigd en velden die vooralsnog niet relevant zijn voor CursAd ( 'reserve' velden, 'verenigings' velden ) zijn verwijderd uit de calls.

Het is nu dus wel noodzakelijk om voor een cursus een andere subscription call te gebruiken dan voor een les.

cursus: /subscription/coursestore
les: /subscription/lessonstore

Wel is het mogelijk om subscription calls by key-fields te doen, maar in dat geval zal de interne sleutel van een leerling ( API 'student' ) en betalingsplichte ( API 'debtor'  ) moeten worden meegegeven. Er zijn dan ook calls voor 'Student' en 'Debtor' beschikbaar. In de praktijk zult u deze alleen gebruiken wanneer er een een 'mijn-omgeving' beschikbaar is.
Voor meer informatie kunt u altijd contact opnemen.

Voor de CursAd module onderwijs is een speciale subscription call gemaakt.
Deze subsctiption call is alleen te gebruiken met ket-fields voor 'School' en 'Schoolgroep'.

/subscriptioneducation/keys

Alle Subscription calls zijn uitgebreid met twee verplichte vragen in het kader van de AVG:

DLN_NIEUWSBRIEF: of inschrijver de nieuwsbrief wil ontvangen.
DLN_AVG1: of inschrijver toestemmig voor media gebruik geeft.

Verder zijn er een aantal controle op 'verplichte parameters' ingevoerd.
Indien er aan bepaalde controles niet wordt voldaan dan levert dat een respons '422 HTTP_UNPROCESSABLE_ENTITY' op.

Calls

Activity calls

Toegevoegde velden:

idparent
lessonType

Gewijzigde velden:

Free1 -> free1
Free1 -> free2
Free1 -> free3
Free1 -> free4
ageGroup: from -> ageGroup: fromAge
ageGroup: to -> ageGroup: toAge

Activity by IdWeb calls

Toegevoegde velden:

idparent
lessonType

Gewijzigde velden:

Free1 -> free1
Free1 -> free2
Free1 -> free3
Free1 -> free4
ageGroup: from -> ageGroup: fromAge
ageGroup: to -> ageGroup: toAge

Category calls

Geen wijzigingen ten aanzien van eerdere versie.

Course calls

Toegevoegde velden:

idparent
lessonType

Gewijzigde velden:

Free1 -> free1
Free1 -> free2
Free1 -> free3
Free1 -> free4
ageGroup: from -> ageGroup: fromAge
ageGroup: to -> ageGroup: toAge

Course by IdWeb calls

Toegevoegde velden:

idparent
lessonType

Gewijzigde velden:

Free1 -> free1
Free1 -> free2
Free1 -> free3
Free1 -> free4
ageGroup: from -> ageGroup: fromAge
ageGroup: to -> ageGroup: toAge

CourseGroup calls

Geen wijzigingen ten aanzien van eerdere versie.

Debtor calls

Toegevoegde calls voor het creëeren, muteren, verwijderen en opvragen van 'debtors' ( CursAd: leerlingen )

School calls

Toegevoegde calls voor het ophalen van alle 'scholen' en van een school alle 'schoolgroepen'.
CursAd Module Onderwijs.

Calls waren in v1.2 ook reeds beschikbaar.

Student calls

Toegevoegde calls voor het creëeren, muteren, verwijderen en opvragen van 'students' ( CursAd: LGP's )

Subscription calls

Let op: BREAKING CHANGES

De oorspronkelijk Subscription call had enorm veel velden die vooralsnog voor CursAd niet relevant zijn. Deze zijn dan ook verwijderd uit de call(s).
Bovendien werden voor zowel 'lessen' als 'cursussen' dezelfde call gebruikt terwijl er voor beide andere gegevens van belang zijn.
Tevens was het niet duidelijk welke velden 'verplicht' zijn en welke niet.

In de nieuwe opzet is de Subscription call gesplitst in 2 calls:

/subscription/coursestore : Call voor cursussen

Indien er GEEN DLN_TARIEF_ID (=0) wordt meegegeven ( en CursAd dus zelf bij inschrijving een tarief gaat bepalen ) dan wordt er GEEN DLN_LT ( lestype) en DLN_FREQ ( frequentie ) gevraagd, aangezien dat voor cursussen NIET relevant is.

/subscription/lessonstore : Call voor lessen

Indien er GEEN DLN_TARIEF_ID (=0) wordt meegegeven ( en CursAd dus zelf bij inschrijving een tarief gaat bepalen ) dan wordt er VERPLICHT WEL een DLN_LT ( lestype) en DLN_FREQ ( frequentie ) gevraagd, aangezien dat voor lessen WEL relevant is.

De essentie is dus dat de juiste call gebruikt wordt voor een inschrijving!
Op basis van het lessonType veld uit de Course call:

lessonType = "1" (=cursus) -> /subscription/coursestore
lessonType = "3" (=les) -> /subscription/lessonstore

Daarnaast zijn er twee Subscription calls bijgekomen op alleen key-fields. Dus dan wordt van een leerling en een LPG ( CursAd ) alleen maar zijn 'id' (interne sleutel) meegegeven. Dat is ook alleen maar mogelijk wanneer die 'id's zijn opgeslagen in een 'mijn-omgeving'. 

Subscription Education calls

Toegevoegde call ( op key-fields ) om een inschrijving voor CursAd Module Onderwijs te doen.
Toegevoegde calls om alle 'Onderwijs' inschrijvingen of een enkele 'Onderwijs' inschrijving op te halen.