LTNC Webhook voor voltooiing in cursusadminstratie systeem

De LTNC webhook plugin voor Moodle Open Source LMS is ontwikkelt door LT&C voor organisaties die zonder handmatig handelen hun de cursus voltooiing en eindresultaat registratie van een cursist willen vastleggen in een externe applicatie.


Waarom een LTNC Webhook plugin?

Vorig jaar lanceerde onze samenwerkingspartner Planaday een koppeling tussen Planaday en Moodle. Dankzij deze koppeling kunnen cursisten vanuit Planaday een account in Moodle krijgen én direct worden aangemeld in een cursus.

Eind 2022 organiseerde we samen een webinar, en stelde een van de deelnemers de vraag of de presentie ook automatisch gemeld kond worden, zodat ze de resultaten niet handmatig hoefde op te halen.

De conclusie was dat de beste oplossing was om dit met een webhook plugin te gaan doen. Uiteraard hebben wij eerst gekeken naar een community oplossing, maar dit bleek toch niet helemaal aan te sluiten.

Hierop besloot LT&C het ontwikkelteam de opdracht te geven om er zelf een webhook plugin te ontwikkelen. Het resultaat: De LTNC Webhook .

Op deze pagina kun je meer lezen over de werking van deze plugin.

De LTNC Webhook in het kort

Een Moodle sitebeheerder stelt een webhook URL en Geheim in, zodat er een POST request gestuurd wordt naar een extern systeem.

Het bericht (JSON Format, UTF-8 Codering) dat wordt verstuurd bevat een beperkte set aan gegevens over de cursist en het behaalde resultaat van een cursus nádat een cursist de cursus heeft voltooid.

Het bericht ziet er als volgt uit:

{
  "created": "2022-03-30T13:33:54.809Z",
  "event": "eventname Moodle ",
  "eventid": "5db1cc3b-4306-4689-9eae-971c205c2c10", 
  "course_id": "moodle cursus id",
  "grade": "10.0",
  "user_id": "moodle intern user id ",
  "moodle_user_id": "moodle user idnumber (= Planaday id) "
}

 Om te bepalen of een bericht daadwerkelijk afkomstig is van de Moodle omgeving, dient de URL een geheim (secret) te bevatten. Alle berichten bevatten dan een X-webhook-signature header met een Ba-se64 gecodeerd HMAC-SHA1 van het bericht en de secret.

Voorbeeld van een webhook-URL is: https://xxxx/v1/moodle?auth=787929d01943640d2443c552c9121e1f

Als de URL waar het bericht na sturen niet binnen 10 seconden een response geeft óf als we geen status 200 terugkrijgen, proberen we het bericht nog maximaal 5 keer af te leveren. Wanneer het bericht niet afgeleverd kan worden, wordt de foutcode: 999.

De LTNC webhook log

De LTNC Webhook heeft een eigen logging systeem, waar de berichten worden gesorteerd op basis van “succesvol” en “aandacht nodig”. Een beheerder kan instellen hoelang de log bewaard blijft, zodat deze data niet oneindig in de database blijft staan.

Een gebruiker met de juiste rechten heeft toegang tot de log. De log heeft aanklikbare teksten, zodat je het bericht kan bekijken of snel naar een gebruikersprofiel of cursus kan gaan.

Het is daarnaast ook mogelijk de tabel te downloaden, zodat je deze gemakkelijk kan gebruiken voor debugging.  Sitebeheerders kunnen optioneel instellen om een bericht te sturen, mochten er items zijn waar naar gekeken moet worden.

Wat kost de LTNC Webhook ?

De LTNC Webhook is onderdeel van het LT&C Plugin Beheer abonnement. Voor een bedrag van € 250,- excl. btw per jaar, ontzorgt deze plugin jouw organisatie bij het registreren van de cursusvoltooiing en het eindresultaat.

Indien je ondersteuning nodig hebt bij installatie en configuratie, vragen we een eenmalige vergoeding van € 99,- excl. btw voor:

  • het installeren en configureren wij de plugin op jouw leeromgeving;
  • een webinar van 30 minuten voor jouw organisatie t.a.v. cursusinrichting en de log.