LTNC Webhook
-
LTNC Request: Algemene informatie
Algemene informatie Het doel van de plugin is dat een Moodle sitebeheerder zelfstandig een webhook kan instellen, zodat er een POST request gestuurd wordt naar de URL van een extern systeem. De webhook bevatten gegevens over de cursist en het behaalde resultaat van een cursus. We hanteren voor het format JSON en XML, en de codering UTF-8. Om te bepalen of een bericht daadwerkelijk afkomstig is van de Moodle omgeving, dient de URL een secret te bevatten. Alle berichten bevatten dan een X-webhook-signature header met een Base64 gecodeerd HMAC-SHA1 pf HMAC-SHA512 van het bericht en de secret. Voorbeeld van een webhook url is: https://xxxx/v1/moodle?auth=787929d01943640d2443c552c9121e1f De webhook URLdie we ontvangen is uniek per omgeving. Als de URL waar het bericht naar 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, toont de foutcode:999 Het bericht dat via de webhook wordt verstuurd Het bericht wordt getriggerd door de core\event\Course_Completion. Hieronder vind je een voorbeeld bericht { "created": "2022-03-30T13:33:54.809Z", "event": "eventname Moodle ", "id": "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) " } Notificatie bericht bij foutmeldingen Gebruikers die toegang hebben tot de rapportage log ontvangen een notificatie melding (mits ingesteld door sitebeheerder) als er error meldingen terugkomen. Het bericht is aan te passen via de taalbestanden en bevat een link naar de website. Beste {user:firstname}, Er zijn {aantal} foutmeldingen die je aandacht vragen. Ga naar de berichtenlog door te klikken op de onderstaande url: {url} Rechten Gebruikers met het recht local/request:viewlog, kunnen de berichtenlog bekijken via de url https://URLLEEROMGEVING/local/request/view/log.php Moodle versie Vanaf Moodle 3.9 , PHP 7.4 Installatie Je ontvangt het installatie bestand van LT&C (of LT&C installeert het voor je) Je installeert het blok door in te loggen in de Moodle leeromgeving > Sitebeheer > Plugins > Installeer plugins Testen Je kan de webhook testen met https://beeceptor.com/ of https://webhook.site/
-
LTNC Request: Configuratie Planaday
Plaatst de ontvangen webhook hier. Standaard wordt er een elke dag notificatie gestuurd als een "bericht" niet verwerkt kon worden door het andere systeem. Zet het vinkje uit als je dit niet wil en/of pas de frequentie aan. We bewaren de logs standaard 30 dagen, verleng dit termijn als dit relevant is. Standaard staat het vinkje aan, pas dit alleen aan voor testdoeleinde i.v.m. beveiliging Kies: SHA1 Kies JSON
-
LTNC Request: FAQ
Moodle 4.0 | Cron foutmlelding Moodle 4.0 heeft een wijziging in wijze van cursusvoltooiing waardoor de trigger te vroeg gaat. Staat op de planning voor M4.1, we lossen dit eerder op als blijkt nodig te zijn. https://github.com/Lesterhuis-Training-en-Consultancy/moodle-local_request/issues/2 Planaday Bij planaday vul je de volledige url in en laat je Geheim open. Stuurt geen resultaat door Controleer eerst of je cron wel draait. dit is namelijk noodzakelijk voor het proces.
-
LTNC Request: Coachview
Plaatst de ontvangen webhook hier. Vul secret in Standaard wordt er een elke dag notificatie gestuurd als een "bericht" niet verwerkt kon worden door het andere systeem. Zet het vinkje uit als je dit niet wil en/of pas de frequentie aan. We bewaren de logs standaard 30 dagen, verleng dit termijn als dit relevant is. Standaard staat het vinkje aan, pas dit alleen aan voor testdoeleinde i.v.m. beveiliging Kies: SHA512 Kies XML
-
Planday: FAQ
Cijfer (met een breuk) kan niet terug worden gevonden? Dit komt doordat in het systeem van Planday breukgetallen zoals [1234567890],[123456789] niet bekend zijn. Hoe kan je de cursusvoltooiing resetten? Ga naar de cursus toe, klik bovenin op "meer" > Cursus voltooien en klik op "deblokkeer voltooiingsopties en verwijder de voltooiingsgegevens van de gebruikers" *Waarschuwing* Dit verwijderd alle informatie. Dus als er veel cursisten actief zijn in de cursus, gooi er een ticket in het systeem en lossen wij het wel op en kunnen wij voor de betreffende cursist (stuur cursist ID + course id mee) regelen vanuit de database. Cursist komt niet door in Moodle Wanneer een cursist NIET doorkomt in Moodle, vraag dan aan de klant: Vraag: om welke cursist het gaat wat het Planaday ID is van deze cursist Of ze de informatie uit de API log kunnen delen. Controleer of er een planaday ID is ingevuld en of deze overeenkomst. Controleer in de log of de cursist al eerder is aangemeld geweest op een cursus Mogelijke oorzaken: Hebben het account in Planaday gemergd, hierdoor zie je verschil in Planaday ID bij cursist profiel Ze proberen de cursist op dezelfde cursus aan te meldde (Ergo: aanmelding bestaat al)
-
LTNC Request (Webhook): Installatie gids
De installatie kan alleen worden uitgevoerd door een gebruiker die rechten heeft om plugins te installeren. Sommige hostingspartijen geven deze rechten niet uit, je zal dan contact moeten opnemen met hun support afdeling. Download de plugin op ltncbestanden.nl (nieuwe tabblad - link: https://www.ltncbestanden.nl/s/Webhook) Login op je Moodle leeromgeving Ga naar Sitebeheer >plugins > Installeer plugins Sleep het zip bestand naar het vak Installeer plugin van zip-bestand Klik op installeer plugin van ZIP -bestand Vervolg de installatie stappen. Configureer de plugin volgens de instructies voor: LTNC Request:Coachview (nieuw tabblad - link https://ltnc.freshservice.com/a/solutions/articles/27000078560) LTNC Request Planaday (nieuw tabblad - link https://ltnc.freshservice.com/support/solutions/articles/27000057416) Let op: voor de configuratie van de plugin dien je toegang te hebben tot je Coachview en/of Planaday omgeving.
-
Webhook - hoe omgaan met meerdere authenticatie methodes
De Webhook module houdt géén rekening met: meerdere authenticatie methodes. Als je dus een omgeving draait met een manuele en LTI methode Cursussen die je niet via de andere applicatie (lees: planaday of coachview) ontsluit. Als je hier dus gebruik van maakt, zal je rekening moeten houden met 'foutmeldingen' die hieraan gerelateerd zijn. Denk hierbij aan: dat de gebruiker niet te vinden is omdat het Moodle IDnumber niet overeenkomt met de gegevens van de gebruiker in de andere applicatie. Dat de cursus niet te vinden is omdat deze niet bekend is in het andere systeem. Mogelijke oplossingen die we aan het bekijken zijn: Selecteren van de cursussen en/of categorie Standaard uitsluiten van authenticatie methodes die anders zijn dan Manueel Sitebeheer configuratie waar bewuste keuze gemaakt kan worden dat wanneer bij het account géén Moodle User IDnumber is ingevuld in het profielveld dat deze niet wordt aangeboden. Wil je een van deze oplossingen geïmplementeerd zien? Stuur een mail naar sales@ltnc.nl Update 20-01-2025 In Moodle 4.5 wordt het mogelijk om authenticatie methodes uit te sluiten. Wordt de aanvraag NIET doorgestuurd als het Moodle User IDNumber niet ingevuld is.
-
LTNC Request: Changelog
Datum Wat Waarom 18-05-2022 Planaday / SHA 1 + JSON ondersteuning 27-03-2023 XML/SHA512 01-08-2023 #9 Update userid clickable goes to correct user profile page. #9 Round course grades max 2 decimals #9 Add new table to temporary store events to database table local_request_event This will add more delay less chance that course grade not is calculated For now we only store \core\event\course_completed 01-03-2024 Upgraded and refactored for Moodle 4.2 and PHP 8.0 20-01-2025 Upgrade Moodle 4.5 PHP 8. 1 Cijfers worden tot 2 cijfers achter komma doorgestuurd Een cijfer met 00 achter de komma, wordt als daadwerkelijk doorgestuurd Je hebt de mogelijkheid om Authenticatie types uit te sluiten. Stuurt alleen door als er een Moodle User IDnumber is ingevuld. (Navragen) Moodle Course IDnumber als ingevuld is, wordt meegestuurd.