Deze API calls maken het mogelijk om:

  • gegevens over bestaande gebruikers op te halen
  • een externe ID in te stellen voor een bestaande gebruiker
  • nieuwe gebruikers aan te maken
  • bestaande gebruikers aan te passen
  • gebruikersrollen in te stellen
  • auteurs/ontwerpers aan contentbibliotheken te koppelen

Context

aNewSpring heeft gebruikers die een of meerdere rollen kan hebben:

  • Deelnemers kunnen worden ingeschreven voor een uitvoering.
  • Begeleiders en observators hebben een begeleidende rol.
  • Auteurs en ontwerpers zijn betrokken bij het ontwikkelen van de cursus. Hiervoor moeten ze zijn gekoppeld aan contentbibliotheken. Auteurs kunnen de content van de cursus aanpassen in een contentbibliotheek en ontwerpers kunnen deze content uit de contentbibliotheek gebruiken om een leerpad te bouwen in een template. Gebruikers zijn vaak zowel auteur als ontwerper.
    Om auteurs het recht te geven om content te bewerken, hebben ze auteursrechten nodig voor de contentbibliotheek.
    Een template kan gebruik maken van meerdere contentbibliotheken. Om een ontwerper het recht te geven om een template aan te passen, hebben ze ontwerperrechten nodig voor alle contentbibliotheken die aan de template zijn gekoppeld.
  • Beheerders kunnen gebruikers en uitvoeringen beheren. Uitvoeringen worden gecreëerd (geïnstantieerd) aan de hand van templates.
  • Resellers hebben beperkte opties om uitvoeringen te beheren, ze kunnen toegangscodes aanmaken die deelnemers kunnen gebruiken om toegang te krijgen en resellers kunnen de catalogus en bestellingen beheren.
  • Omgevingsbeheerders zijn de "eigenaren" van de leeromgeving en hebben toegang tot een aantal instellingen op het hoogste niveau. Daarnaast kunnen ze licenties bestellen (om deelnemers voor uitvoeringen in te schrijven).

Supportartikelen:


Om historische redenen en om oude API-integraties te blijven ondersteunen, komt de terminologie van de API en de front-end voor beheerders niet altijd helemaal overeen. Daarnaast is de terminologie van de API gebaseerd op de Engelstalige versie van aNewSpring.

  • Een deelnemer is een student.
  • Een begeleider is een teacher.
  • Een observator is een mentor.
  • Een auteur is een author.
  • Een ontwerper is een designer.
  • Een beheerder is een administrator.
  • Een omgevingsbeheerder is een tenant.
  • Het veld middleName wordt gebruikt voor tussenvoegsel.
  • Een contentbibliotheek is een contentLabel.

API calls

Je kunt meer informatie vinden over elke API call in de API Documentation door op de titels hieronder te klikken. Alle links verwijzen echter naar de /apidocs pagina van een demo-omgeving die je niet kunt gebruiken om zelf te testen.
Om de API calls te testen, zul je het eerste deel van de URL moeten aanpassen naar de URL van je eigen leeromgeving.

GET requests

GET /userExists/{userID}
of GET /userExists?userUID={userUID}
Hiermee kun je nagaan of een specifieke gebruiker al bestaat. De output bevat een parameter result met als waarde true of false. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker gebruiken.

GET /getUser/{userID}
of GET /getUser?userUID={userUID}
Hiermee kun je de gegevens van een specifieke gebruiker ophalen. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker gebruiken.

GET /getUsers
Hiermee kun je alle gebruikers ophalen. Dit is inclusief gebruikers zonder extern ID, inactieve gebruikers en gearchiveerde gebruikers.

POST requests

POST /initializeId/{login}/{userID}
Hiermee kun je een externe ID instellen voor een gebruiker die nog geen externe ID heeft. Je zult hiervoor het e-mailadres (of de inlognaam*) van de bestaande gebruiker moeten gebruiken en de nieuwe unieke externe ID die je wilt toekennen.

* Standaard loggen gebruikers in met een e-mailadres, maar in sommige leeromgevingen is dit met een inlognaam. In dat geval zul je hier de inlognaam moeten aangeven.

POST /addUser/{userID}
Hiermee voeg je een nieuwe gebruiker toe. De gebruiker krijgt het externe ID dat je aangeeft als userID.

De gebruikersrollen kun je in een array meesturen in de parameter role, door dezelfde parameter meerdere keren te herhalen met verschillende waardes.

Als je een profielfoto in de avatar parameter wilt meesturen, moet je de Content-Type instellen als multipart/form-data.

POST /updateUser/{userID}
of POST /updateUser?userUID={userUID}
Hiermee kun je de gegevens van een bestaande gebruiker wijzigen. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker gebruiken.

Als je een profielfoto in de avatar parameter wilt meesturen, moet je de Content-Type instellen als multipart/form-data.

POST /addOrUpdateUser/{userID}
Deze call kun je gebruiken als het niet zeker is of een gebruiker al bestaat. Als de gebruiker al bestaat, gedraagt deze call zich als /updateUser en worden alleen de bijbehorende parameters geaccepteerd. Als de gebruiker nog niet bestaat, gedraagt deze call zich als /addUser en worden alleen de daarbij horende parameters geaccepteerd. Je moet hiervoor de externe ID van de gebruiker gebruiken.

POST /addUserRoles/{userID}
of POST /addUserRoles?userUID={userUID}
Hiermee kun je de gebruiker rollen toekennen. Je kunt ze alleen toekennen en niet ontnemen. De gebruikersrollen kun je als array meesturen in de parameter role, door deze parameter meerdere keren te herhalen met verschillende waardes in één API call. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker gebruiken.

POST /deleteUser/{userID}
of POST /deleteUser?userUID={userUID}
Hiermee kun je een gebruiker verwijderen. Dit kan niet ongedaan worden gemaakt. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker gebruiken.

POST /linkAuthorToContentLabels/{userID}
of POST /linkAuthorToContentLabels?userUID={userUID}
Hiermee kun je een gebruiker auteursrechten voor een of meerdere contentbibliotheken geven. Als de gebruiker nog niet de rol van auteur heeft, zul je die eerst moeten toekennen door middel van /addUserRoles. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker en de externe ID's van de contentbibliotheken waar je de gebruiker aan wilt koppelen gebruiken. Deze externe ID's van de contentbibliotheken kun je als array meesturen in de parameter contentLabel, door deze parameter meerdere keren te herhalen met verschillende waardes in één API call.

POST /linkDesignerToContentLabels/{userID}
of POST /linkDesignerToContentLabels?userUID={userUID}
Hiermee kun je een gebruiker ontwerpersrechten voor een of meerdere contentbibliotheken geven. Als de gebruiker nog niet de rol van ontwerper heeft, zul je die eerst moeten toekennen door middel van /addUserRoles. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker en de externe ID's van de contentbibliotheken waar je de gebruiker aan wilt koppelen gebruiken. Deze externe ID's van de contentbibliotheken kun je als array meesturen in de parameter contentLabel, door deze parameter meerdere keren te herhalen met verschillende waardes in één API call.

POST /unlinkAuthorFromContentLabels/{userID}
of POST /unlinkAuthorFromContentLabels?userUID={userUID}
Hiermee kun je de auteursrechten voor een of meerdere contentbibliotheek ontnemen van een gebruiker. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker en de externe ID's van de contentbibliotheken waar je de gebruiker van wilt ontkoppelen gebruiken. Deze externe ID's van de contentbibliotheken kun je als array meesturen in de parameter contentLabel, door deze parameter meerdere keren te herhalen met verschillende waardes in één API call.

POST /unlinkDesignerFromContentLabels/{userID}
of POST /unlinkDesignerFromContentLabels?userUID={userUID}
Hiermee kun je de ontwerpersrechten voor een of meerdere contentbibliotheek ontnemen van een gebruiker. Je moet hiervoor de externe ID (userID) of de UID (userUID) van de gebruiker en de externe ID's van de contentbibliotheken waar je de gebruiker van wilt ontkoppelen gebruiken. Deze externe ID's van de contentbibliotheken kun je als array meesturen in de parameter contentLabel, door deze parameter meerdere keren te herhalen met verschillende waardes in één API call.