Die wichtigsten Moodle API-Schnittstellen für Nutzerverwaltung

Wenn du Moodle automatisieren oder in externe Systeme integrieren willst, führt kein Weg an der Webservice-API vorbei. Vor allem im Bereich User-Management und Kursverwaltung gibt es ein paar besonders zentrale Funktionen, die dir viel Arbeit abnehmen können. Hier sind fünf der wichtigsten Schnittstellen der Moodle API und wie du sie in der Praxis nutzt.


1. core_user_get_users

Was sie macht:
Sucht nach Nutzern anhand bestimmter Kriterien (z. B. E-Mail, ID, Name).

Typischer Anwendungsfall:
Du willst in einem externen Tool prüfen, ob ein User in Moodle existiert oder Infos wie ID oder Profilfelder abrufen.

Beispiel:

{
"criteria": [
{
"key": "email",
"value": "max.mustermann@example.com"
}
]
}

In diesem Beispiel kann „email“ auch mit „id“, „firstname“, „lastname“ oder „username“ ersetzt werden.


2. core_user_create_users

Was sie macht:
Legt neue Nutzer in Moodle an.

Typischer Anwendungsfall:
Du willst Benutzer automatisch aus einem anderen System importieren oder beim ersten Zugriff via SSO gleich anlegen.

Beispiel:

{
"users": [
{
"username": "mmustermann",
"password": "SicheresPasswort123!",
"firstname": "Max",
"lastname": "Mustermann",
"email": "max.mustermann@example.com"
}
]
}

Es können auch weitere Felder wie „country“ oder „city“ gesetzt werden. Diese sind allerdings optional.


3. core_user_update_users

Was sie macht:
Aktualisiert bestehende Nutzerprofile.

Typischer Anwendungsfall:
Wenn sich E-Mail-Adresse oder Name ändern oder du benutzerdefinierte Profilfelder pflegen willst.

Beispiel:

{
"users": [
{
"id": 42,
"email": "neue.email@example.com"
}
]
}

4. core_enrol_get_users_courses

Was sie macht:
Gibt alle Kurse zurück, in die ein bestimmter User eingeschrieben ist.

Typischer Anwendungsfall:
Du willst wissen, welche Lerninhalte ein User aktuell bearbeitet oder abgeschlossen hat.

Beispiel:

{
"userid": 42
}

5. core_completion_get_course_completion_status

Was sie macht:
Liefert den Fortschritt eines Nutzers in einem bestimmten Kurs (abgeschlossen oder nicht).

Typischer Anwendungsfall:
Du brauchst den Status für ein Zertifikat, einen Bericht oder eine externe Auswertung.

Beispiel:

{
"courseid": 17,
"userid": 42
}

Fazit

Diese fünf Endpunkte decken einen Großteil der typischen Anwendungsfälle im Bereich User Lifecycle Management und Fortschrittskontrolle ab. Sie lassen sich einfach via REST oder SOAP ansprechen – vorausgesetzt, dein Moodle hat die entsprechenden Webservice-Einstellungen aktiviert.

Wenn du Fragen zur Moodle-Integration hast oder Unterstützung bei der Umsetzung eines LMS-Projekts brauchst, schau gerne auf unserer Website vorbei oder nimm direkt Kontakt mit uns auf – wir helfen dir, das Beste aus deiner Lernplattform herauszuholen. Bei weiteren programmiertechnischen Fragen wirf auch einen Blick auf unsere anderen Artikel – vielleicht ist genau das dabei, was du suchst.