Adobe Learning Manager Developer Manual
Überblick
Adobe Learning Manager stellt RESTful-APIs bereit, mit denen Entwickler Anwendungen oder Workflows effektiv integrieren und anpassen können. Das Entwicklerhandbuch enthält Anleitungen zur Verwendung dieser APIs und behandelt Themen wie Authentifizierung, Datenmodelle und Integration mit anderen Anwendungen. Darüber hinaus unterstützt dieses Handbuch API-Referenzdokumentation Entwickler beim Erstellen von externen Anwendungen oder Backend-Workflows, die mit verschiedenen Funktionen von Adobe Learning Manager interagieren, einschließlich Kurserstellung, Verfolgung des Teilnehmerfortschritts, Kenntniszuordnung, Zertifizierung, Gamification und Transkripten.
Dieses Handbuch behandelt Folgendes:
- OAuth2.0-Authentifizierung
- API-Objektmodelle
- Einschließen, Felder und andere Parameter
- Nutzungsszenarien in der Praxis
API-Verwendungsszenarien
Entwickler können Lern-Manager-APIs verwenden, um den Lern-Manager zu verbessern oder mit anderen Unternehmensanwendungen zu integrieren. Sie können Web-, Desktop- oder mobile Apps mit jeder beliebigen Technologie erstellen. Entwickler können auf die Learning Manager-Daten zugreifen, Sie steuern jedoch, wo und wie die App verwendet wird.
Authentifizierung mit OAuth 2.0
Um sicher auf Adobe Learning Manager-APIs zugreifen zu können, müssen Sie sich mit dem OAuth 2.0-Mechanismus von Adobe Learning Manager authentifizieren. Dieser Vorgang umfasst das Registrieren der Anwendung, das Generieren eines Autorisierungscodes, das Austauschen gegen ein Aktualisierungstoken und schließlich das Verwenden des Aktualisierungstokens zum Abrufen eines Zugriffstokens.
Registrieren von Anwendungen
Integriere Adobe Learning Manager mit externen Programmen, um deine Vielseitigkeit zu verbessern. Die Schritte umfassen den Zugriff auf die Benutzeroberfläche des Integrationsadministrators, das Registrieren der Anwendung sowie das Abrufen der Client-ID und des geheimen Schlüssels. Generieren Sie OAuth 2.0-Authentifizierungstoken, einschließlich Autorisierungs-, Aktualisierungs- und Zugriffstoken, aus Adobe Learning Manager. Verwenden Sie den OAuth 2.0-Ablauf, um Ihre App sicher zu authentifizieren und zu autorisieren. Das Zugriffstoken hat eine Gültigkeitsdauer von sieben Tagen.
-
Melden Sie sich bei Adobe Learning Manager als Integrationsadministrator an.
-
Wählen Sie im linken Fensterbereich Anwendungen aus.
-
Wählen Sie Register aus und fügen Sie die folgenden Informationen hinzu:
-
Anwendungsname: Geben Sie den Namen der Anwendung ein (maximal 50 Zeichen).
-
URL: Die offizielle URL Ihres Unternehmens oder Ihrer Anwendung. Wird zur Identifizierung und Referenz verwendet.
-
Domänen umleiten: Geben Sie die Domänen an (z. B. http://learningmanager.adobe.com), zu denen Adobe Learning Manager nach der Autorisierung umleiten kann. Sie können mehrere gültige URLs angeben.
-
Beschreibung: Kurze Beschreibung der Anwendung.
-
Geltungsbereiche: Wählen Sie eine der sechs verfügbaren Optionen aus, um den Geltungsbereich Ihrer Anwendung zu definieren. Basierend auf Ihrer hier genannten Auswahl sind die Learning Manager-API-Endpunkte für Ihre Anwendung zugänglich. Wenn Sie beispielsweise Lesezugriff für die Teilnehmerrolle gewählt haben, ist der Zugriff auf alle Lern-Manager-API-Endpunkte für Teilnehmer für Ihre Anwendung schreibgeschützt.
- Lese-/Schreibzugriff auf Administratorrolle: Ermöglicht der Anwendung, auf Daten als Administrator zuzugreifen oder sie zu ändern.
- Lese-/Schreibzugriff auf Teilnehmerrolle: Ermöglicht der Anwendung den Zugriff auf oder die Änderung von Daten für Teilnehmer.
- xAPI-Lese-/Schreibzugriff: Ermöglicht es der Anwendung, auf Experience API(xAPI)-Anweisungen zuzugreifen und diese zu senden.
-
Nur für dieses Konto?
- Ja - Wenn Sie "Ja" auswählen, ist die Anwendung für andere Kontoadministratoren nicht sichtbar.
- Nein - Wenn Sie "Nein" auswählen, können auch andere Kontoadministratoren auf diese Anwendung zugreifen, sie müssen jedoch die Anwendungs-ID verwenden, um auf diese Anwendung zuzugreifen. Die Anwendungs-ID wird generiert und im Bearbeitungsmodus der Learning Manager-Anwendung angezeigt.
-
-
Wählen Sie Speichern aus, um die Anwendung zu registrieren.
- Nachdem Sie die Anwendung registriert haben, steht sie in der Liste der im Konto erstellten Anwendungen zur Verfügung. Wählen Sie die Anwendung aus. Zusätzlich zu den zuvor eingegebenen Feldern sehen Sie Folgendes:
- Anwendungs-ID: Dies ist die Client-ID. Diese ID teilt Adobe Learning Manager die Anwendung mit, die den Zugriff anfordert. Sie ist in API-Anfragen zur Identifizierung der App enthalten.
- Anwendungsgeheimnis: Dieses Kennwort wird verwendet, um Ihre App zu authentifizieren und ihre Identität während der Schritte zum Tokenaustausch zu überprüfen (z. B. wenn ein Aktualisierungstoken oder ein Zugriffstoken angefordert wird).
Abrufen eines Zugriffstokens
Berechtigungscode abrufen
Nachdem Sie die Client-ID und den geheimen Clientschlüssel abgerufen haben, können Sie mit ihnen ein Zugriffstoken anfordern, mit dem API-Aufrufe authentifiziert werden.
Um den Autorisierungscodefluss zu starten, fügen Sie die folgende URL in einem Browser hinzu:
GET https://learningmanager.adobe.com/oauth/o/authorize?client_id=<Enter your clientId>&redirect_uri=<Enter a url to redirect to>&state=<Any String data>&scope=<one or more comma separated scopes>&response_type=CODE
Sobald der Benutzer die Anwendung autorisiert hat, leitet Adobe Learning Manager mit einem angehängten Abfrageparameter zu dem angegebenen redirect_uri um:
https://yourapp.com/callback?code=abc123xyz
Ein Parametercode wird zusammen mit dem Umleitungs-URI angehängt.
Aktualisierungstoken aus dem Code abrufen
Nachdem Sie den Code abgerufen haben, verwenden Sie ein beliebiges API-Tool und fügen Sie die folgende POST an:
https://learningmanager.adobe.com/oauth/token
Anforderungstext (x-www-form-urlencoded):
grant_type=authorization_code
&code=abc123xyz
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&redirect_uri=<your_redirect_url>
Antwort
{
"access_token": "eyJhbGciOiJIUzI1...",
"refresh_token": "xTjlfz0jCk6gF1...",
"expires_in": 604800,
"token_type": "Bearer"
}
Verwenden Sie das access_token im Autorisierungs-Header, um authentifizierte API-Anforderungen zu stellen.
Verwenden des Zugriffstokens in einem API-Aufruf
Überprüfen Sie das Zugriffstoken anhand der folgenden Kriterien:
GET https://learningmanager.adobe.com/oauth/token/check?access_token=<access_token>
Ein Zugriffstoken ist sieben Tage lang gültig. Nach sieben Tagen müssen Sie mithilfe des Aktualisierungstokens ein neues Zugriffstoken generieren. Wenn Sie ein neues Zugriffstoken aus dem Aktualisierungstoken generieren, während ein vorhandenes Zugriffstoken noch gültig ist, wird das vorhandene Token zurückgegeben.
Zugriffstoken für Tests und Entwicklung erhalten
Beim Arbeiten mit Adobe Learning Manager APIs benötigen Entwickler ein gültiges OAuth 2.0-Zugriffstoken, um API-Anfragen zu authentifizieren. Das Generieren dieses Tokens über den standardmäßigen OAuth-Flow kann komplex und zeitaufwendig sein, insbesondere für schnelles Testen, Lernen oder Entwicklung. Adobe Learning Manager bietet ein Tool zur Tokengenerierung, um diesen Prozess zu vereinfachen.
Dieses Tool ist ideal für:
-
Proof of Concept (POC) Builds
-
Frühphase der Entwicklung
-
Fehlerbehebung bei API-Integrationsproblemen
Diese Tokens sind ausschließlich für den persönlichen Gebrauch während der Entwicklungs- und Debugphase vorgesehen. Beachte, dass Testtoken Zugriff auf deine Adobe Learning Manager-Daten gewähren, daher ist es wichtig, sie sicher zu verarbeiten. Geben Sie Ihre Testtoken niemals für andere frei, verwenden Sie sie in Produktionsanwendungen oder fügen Sie sie nicht in öffentlichen Code-Repositorys ein. Behandeln Sie sie wie Kennwörter, um die Sicherheit Ihres Kontos und Ihrer Daten zu gewährleisten.
-
Melden Sie sich bei Adobe Learning Manager als Integrationsadministrator an.
-
Wählen Sie Entwicklerressourcen und anschließend Zugriffstoken für Tests und Entwicklung aus.
-
Geben Sie die Client-ID ein, die Sie nach dem Erstellen einer Anwendung erhalten haben, um den OAuth-Code abzurufen. Wählen Sie dann Senden.
-
Fügen Sie die Client-ID und den Client-Schlüssel hinzu, um das Aktualisierungstoken abzurufen. Wählen Sie dann Senden. Die OAuth wird aus dem vorherigen Schritt vorausgefüllt.
-
Fügen Sie die Client-ID und das geheime Clientschlüssel hinzu, um das Zugriffstoken zu erhalten. Wählen Sie dann Senden.
-
Fügen Sie das Zugriffstoken hinzu und wählen Sie Senden , um die Zugriffstokendetails abzurufen.
Wenn Sie Senden auswählen, wird das Zugriffstoken überprüft, und Sie erhalten das folgende JSON-Objekt:
{
"access_token": "access token",
"refresh_token": "refresh token",
"user_role": "admin",
"account_id": "1234",
"user_id": "123456",
"expires_in": 604800
}
Wie zuvor läuft das Zugriffstoken für Tests in sieben Tagen ab.
Verwenden eines API-Tools zum Testen der Endpunkte
Sie können zwar ein beliebiges API-Testtool eines Drittanbieters verwenden, wir verwenden jedoch Postman zum Testen der Endpunkte. In den Beispielen in diesem Dokument wird Postman zum Testen der Endpunkte verwendet.
-
Öffnen Sie Postman und erstellen Sie eine neue Anforderung.
-
Wählen Sie die Registerkarte Autorisierung aus.
-
Setzen Sie den Authentifizierungstyp auf "Inhabertoken".
-
Fügen Sie das im vorherigen Abschnitt erhaltene Zugriffstoken in das Feld Token ein.
-
Fügen Sie auf der Registerkarte "Kopfzeilen" Folgendes hinzu:
- Schlüssel: Akzeptieren
- Wert: application/json
-
Geben Sie Ihren API-Endpunkt in das URL-Feld ein. Beispiel: https://learningmanager.adobe.com/learningManager/api/v2/users
Weitere Informationen finden Sie in Adobe Learning Manager API Reference. -
Wählen Sie "Senden", um die API-Anforderung zu senden.
API-Typen
Admin-APIs
Mit den Admin-APIs von Adobe Learning Manager können Administratoren Lernvorgänge in großem Umfang automatisieren und verwalten.
Mit den Admin-APIs können Entwickler:
- Benutzer und Gruppen verwalten: Erstellen, aktualisieren und löschen Sie Benutzer oder weisen Sie sie Gruppen zu.
- Teilnehmer registrieren: Automatisieren Sie die Registrierung für Kurse, Lernpfade oder Zertifizierungen.
- Fortschritt der Teilnehmer verfolgen: Abrufen des Kursfortschritts/Modulfortschritts, der Quizpunktzahlen und des Abschlussstatus
- Berichte generieren: Greifen Sie auf Daten zu Teilnehmeraktivität, Interaktion und Leistung zu.
- Inhalt verwalten: Erstellen und Organisieren von Kursen und Lernobjekten.
Weitere Informationen finden Sie in Adobe Learning Manager API Reference.
Teilnehmer-APIs
Die Teilnehmer-APIs sind für authentifizierte Benutzer (Teilnehmer) konzipiert und ermöglichen Ihnen den Zugriff auf teilnehmerspezifische Informationen. Diese APIs ermöglichen Aufgaben wie:
- Zugriff auf die Kurse und den Fortschritt eines Teilnehmers
- Abzeichen oder erworbene Zertifizierungen werden abgerufen
- Aktualisieren der Profilinformationen von Teilnehmern
- Anzeigen von Kenntnissen, die mit abgeschlossenen Kursen verknüpft sind
Wichtigste Punkte:
- Diese APIs erfordern ein authentifiziertes Benutzer-Token, um Datensicherheit und Datenschutz zu gewährleisten.
- Die APIs sind für Szenarien gedacht, in denen Benutzer vollständig registriert und angemeldet sind, und nicht für anonyme oder freigegebene Benutzer.
Weitere Informationen finden Sie in Adobe Learning Manager API Reference.
API-Design und gemeinsame Parameter
Die APIs bieten Entwicklern Zugriff auf wichtige Lern-Manager-Ressourcen wie Benutzer, Kurse, Kenntnisse, Zertifizierungen und Lernprogramme. Sie folgt den REST-Prinzipien und verwendet HTTP-Methoden (GET, POST, PUT, DELETE) für Datenoperationen.
Allgemeine Parameter
Im Folgenden finden Sie eine kurze Erläuterung der einzelnen Punkte:
mitrechnen
Adobe Learning Manager APIs können verwendet werden, um nützliche Informationen beim Erstellen einer benutzerdefinierten Anwendung oder eines Headless LMS abzurufen. Die API-Endpunkte können außerdem mit zusätzlichen "include"-Parametern versehen werden, um die zusätzlichen Informationen abzurufen, die in Beziehung zu den standardmäßig empfangenen Daten stehen. Diese Beziehungen sind Datenmodellbeziehungen, z. B. während eines Anrufs zum Abrufen von Benutzerdetails, erhalten Sie die Benutzerinformationen und die Beziehung zwischen Manager-ID und Adobe Learning Manager-Konto-ID. Mit dem Include -Parameter können Sie zusätzliche Details zusammen mit den Benutzerdetails, wie z. B. deren Manager- und Adobe Learning Manager-Kontodetails, detailliert extrahieren.
Kurz gesagt, der Parameter include wird in API-Aufrufen verwendet, um verwandte (verknüpfte) Ressourcen zusammen mit der primären Ressource in einer einzigen Antwort abzurufen. Dies ist nützlich, wenn Sie auf verschachtelte oder abhängige Daten zugreifen möchten, z. B. auf Module eines Kurses oder die Kenntnisse, die einem Teilnehmer zugeordnet sind, ohne separate API-Aufrufe zu tätigen.
Wichtigste Vorteile:
- Reduziert mehrere API-Aufrufe: Es ist nicht mehr erforderlich, jede zugehörige Ressource manuell anzufordern.
- Verbessert die Effizienz: Schnellere Entwicklung, geringere Serverlast und schnelleres Rendering von Daten.
- Gewährleistet Datenkonsistenz: Ruft alle verknüpften Daten in einem konsistenten Snapshot ab.
Verwenden des Include-Parameters
Hängen Sie den Include-Parameter an Ihre API-URL an und geben Sie die einzuschließenden verwandten Entitäten an.
Häufige Include-Pfade
Beispiel 1
Rufen Sie die Details eines Benutzers ab, indem Sie den Parameter "userID" im Endpunkt verwenden.
https://learningmanager.adobe.com/primeapi/v2/users/<userID>
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
In der Antwort können Sie sehen, dass das Datenobjekt eine Beziehung zum Konto und zum Manager des Benutzers hat.
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400476",
"type": "user"
}
}
}
Mit dem Include-Parameter in der Anforderung können Sie wie folgt detaillierte Informationen über den Manager abrufen:
GET https://learningmanager.adobe.com/primeapi/v2/users/<userid>?include=manager
Beispiel 2
Um die Kursdetails abzurufen, verwenden Sie den include-Parameter im Endpunktanruf. Der folgende Endpunkt ruft die Kursinformationen zusammen mit ihren Beziehungen ab.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>
Die Beziehungen werden in der Antwort wie folgt angezeigt:
- Instanzen
- Kenntnisse
- Autoren
"relationships": {
"authors": {
"data": [
{
"id": "3400468",
"type": "user"
}
]
},
"instances": {
"data": [
{
"id": "course:16444_31598",
"type": "learningObjectInstance"
}
]
},
"skills": {
"data": [
{
"id": "course:16444_1796",
"type": "learningObjectSkill"
},
{
"id": "course:16444_3103",
"type": "learningObjectSkill"
}
]
}
}
Andere Beziehungen können Folgendes umfassen (in der obigen Antwort nicht vorhanden):
- prerequisiteLOs
- additionalLOs
- additionalResources
Um detaillierte Daten zu den Instanzen und Kenntnissen zu erhalten, fügen Sie "Instanzen, Kenntnisse" in den Include-Parameter ein.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,skills
Wenn Sie jetzt beispielsweise mehr Daten abrufen möchten, die mit der Kursinstanz verknüpft sind, z. B. loResources (Modulinformationen des Kurses), wenden Sie loResources als verschachteltes Include an.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances.loResources
Darüber hinaus können Sie Kenntnisse und Instanzen mit einem verschachtelten Include kombinieren.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,instances.loResources,skills
Andere Include-Filter
Felder
Die Attribute und Beziehungen eines API-Objekts werden als Felder bezeichnet. Verwenden Sie Felder als Parameter in API-Aufrufen, um bestimmte Attribute aus dem Modell abzurufen. Ohne den Fields-Parameter ruft der API-Aufruf alle verfügbaren Attribute ab.
Im folgenden API-Aufruf ruft fields[skill]=name beispielsweise nur das name-Attribut des Kenntnismodells ab.
GET https://learningmanager.adobe.com/primeapi/v2/users/3400490/userSkills/3400490_1796_1?include=skillLevel.skill&fields[skill]=name
Seitenumbruch
API-Paginierung ist eine Technik, die in APIs verwendet wird, um große Datensätze in kleinere, verwaltbare Blöcke, so genannte Seiten, aufzuteilen, anstatt die gesamten Daten in einer einzigen Antwort zurückzugeben.
Paginierung reduziert die Last von Client und Server, begrenzt die Antwortgröße, um Engpässe auf dem Server zu vermeiden, oder ist nützlich, um Daten seitenweise in Tabellen oder Listen anzuzeigen.
Funktionsweise der Paginierung in Adobe Learning Manager-APIs
Adobe Learning Manager APIs unterstützen Paginierung über Parameter wie:
- page[limit]: Anzahl der Datensätze pro Seite.
- page[offset]: Anzahl der zu überspringenden Datensätze.
- page[cursor]: Zeiger auf den nächsten Ergebnissatz. Anstelle der Verwendung von versatzbasiertem Seitenumbruch (bei dem eine Anzahl von Datensätzen übersprungen wird), verwendet der Cursor-basierte Seitenumbruch eine eindeutige Marke, die von der API zurückgegeben wird, um die nächste Ergebnisseite abzurufen.
So verwenden Sie die Paginierung in APIs:
Seite[Limit]
Während https://learningmanager.adobe.com/primeapi/v2/users alle Benutzer und zugehörige Informationen in einem einzigen Aufruf zurückgibt, beschränkt die Verwendung von Seite[limit] die Anzahl der Ergebnisse auf den angegebenen Wert.
Verwenden Sie die folgende API, um nur fünf Benutzerdatensätze in einem einzigen Aufruf zurückzugeben:
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
Seite[Offset]
Verwenden Sie diesen API-Aufruf, um drei Benutzerdatensätze zurückzugeben, die ersten fünf Benutzer zu überspringen und mit dem sechsten zu beginnen.
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=3&page[offset]=5
Seite[Cursor]
-
Beginnen Sie mit der Anforderung der ersten Seite mit einem Limit von 5.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
-
Kopieren Sie den Cursorwert von links.next und verwenden Sie ihn in der nächsten Anforderung:
code language-none "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5", "next": "https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482" }
-
Senden Sie die folgende Anforderung:
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482
Dies gibt den nächsten Satz von 10 Datensätzen zurück, beginnend nach dem letzten Element der vorherigen Seite.
filtern
Mit dem Filterparameter können Sie API-Ergebnisse basierend auf einem oder mehreren Feldwerten eingrenzen.
Adobe Learning Manager APIs bieten verschiedene Varianten des Filterparameters, um die Antworten einzugrenzen.
Weitere Informationen finden Sie in Adobe Learning Manager API Reference.
Dieses Beispiel zeigt, wie die Arbeitshilfen, für die sich ein Teilnehmer registriert hat, mithilfe des Endpunkts mit dem Filterparameter gefiltert werden:
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.loTypes=jobAid
Sorte
Der sort-Parameter wird verwendet, um API-Ergebnisse basierend auf einem oder mehreren Feldern in aufsteigender oder absteigender Reihenfolge zu sortieren.
Die Adobe Learning Manager bietet verschiedene Sortieroptionen zum Sortieren der API-Antwort. Weitere Informationen finden Sie in Adobe Learning Manager API Reference.
Wenn Sie das vorherige Beispiel erweitern, sortieren Sie jetzt die Registrierung des Benutzers für Lernprogramme nach dem Datum, an dem der Benutzer in aufsteigender Reihenfolge registriert wurde.
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.lotypes=learningProgram&sort=dateEnrolled
Übersicht über API-Modelle
Mit den Adobe Learning Manager APIs können Entwickler auf Lern-Manager-Objekte als RESTful-Ressourcen zugreifen. Jeder API-Endpunkt stellt eine Ressource dar, typischerweise eine Instanz eines Objekts, etwa ein Abzeichen, oder eine Gruppe solcher Objekte. Die Entwickler verwenden dann HTTP-Verben wie PUT, GET, POST und DELETE, um die CRUD-Vorgänge für diese Objekte (Auflistungen) auszuführen.
Teilnehmer-APIs und Endpunkte
Hier sind die wichtigsten API-Endpunkte für die Arbeit mit Teilnehmerdaten. Diese APIs unterstützen Entwickler bei der Interaktion mit Teilnehmerinformationen, beim Verfolgen des Fortschritts, beim Verwalten von Registrierungen und beim Abrufen von Kursinhalten.
Abrufen der Details aller Teilnehmer
Abrufen von Teilnehmerdetails (Name, E-Mail-Adresse, UUID, Benutzerprofil usw.) Verwenden Sie die API, um alle Teilnehmer im Konto aufzulisten.
GET https://learningmanager.adobe.com/primeapi/v2/users
Abrufen der Details eines bestimmten Teilnehmers
Wenn Sie das Profil eines Teilnehmers nach ID anzeigen möchten, verwenden Sie die folgende API für einen Aufruf.
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Liste aller Kurse, Lernprogramme, Arbeitshilfen und Zertifizierungen
Rufen Sie die Details aller Lernobjekte ab, bei denen sich der Teilnehmer registriert hat, die Schulung abgeschlossen hat oder die vom Administrator aktiviert wurden.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects
Abrufen von Details zu einem bestimmten Lernobjekt
Abrufen detaillierter Informationen zu einem Lernobjekt Es enthält das Erstellungsdatum, das Veröffentlichungsdatum, das Aktualisierungsdatum und andere Informationen.
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<LearningObjectID>
Liste der Kenntnisse abrufen, die mit Kursen verknüpft sind
Zeigen Sie Qualifikationen an, die allen Teilnehmern im Konto zugewiesen sind.
GET https://learningmanager.adobe.com/primeapi/v2/skills
Abrufen von Kenntnisstufen- und Abzeicheninformationen
Überprüfen Sie den Fortschritt der Teilnehmer bei kompetenzbasierten Lernreisen.
GET https://learningmanager.adobe.com/primeapi/v2/skills/<skillID>?include=levels
Liste aller Abzeichen, die für ein Konto erstellt wurden
Rufen Sie den folgenden Endpunkt auf, um eine Liste aller Abzeichen abzurufen, die für ein Konto in einer Organisation erstellt wurden.
GET https://learningmanager.adobe.com/primeapi/v2/badges
Abrufen von Informationen zu einem Abzeichen
Rufen Sie detaillierte Informationen zu einem Abzeichen ab, einschließlich des Namens des Abzeichens, der URL des Abzeichenbilds und des Status des Abzeichens.
GET https://learningmanager.adobe.com/primeapi/v2/badges/<skillID>
Dies führt zu folgender Antwort:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/badges/499"
},
"data": {
"id": "499",
"type": "badge",
"attributes": {
"imageUrl": "https://cpcontentsdev.adobe.com/public/account/1010/accountassets/1010/badges/test_57a5ab00555a475a8fc6671562184dc9.png",
"name": "penguins",
"state": "Retired"
}
}
}
Weitere Beispiele für die API-Nutzung
Benutzer erstellen
-
Verwenden Sie den Endpunkt:
code language-none POST https://learningmanager.adobe.com/primeapi/v2/users
Verarbeitet die Attribute aus dem API-Hauptteil oder der JSON-Payload, um einen Benutzer zu generieren, und stellt anschließend einem Benutzer die jeweilige ausgefüllte Benutzer-ID zur Verfügung.
-
Verwenden Sie die folgende Nutzlast als Textkörper:
code language-none { "data": { "type": "user", "attributes": { "email": "bob@example.com", "name": "Bob", "userType": "INTERNAL" } } }
Es gibt drei obligatorische Attribute:
- E-Mail: E-Mail-ID des Benutzers. Dieser Wert sollte für jeden Benutzer eindeutig sein.
- name: Der Name des Benutzers.
- userType: Derzeit können nur interne Benutzer mit diesem Endpunkt hinzugefügt werden. Der userType muss "INTERNAL" sein.
Sie erhalten das folgende JSON-Objekt:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/users"
},
"data": {
"id": "13386404",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"email": "bob@example.com",
"name": "Bob",
"pointsEarned": 0,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Employee",
"roles": [
"Learner"
],
"state": "ACTIVE",
"userType": "Internal",
"userUniqueId": "bob@example.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400468",
"type": "user"
}
}
}
}
}
Benutzer löschen
-
Rufen Sie die Benutzer-ID des Benutzers ab, den Sie löschen möchten.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
-
Rufen Sie dann über DELETE Folgendes auf:
code language-none DELETE https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Eine 204-Antwort wird angezeigt. Ein 204-Antwortcode zeigt einen Erfolg an, ohne dass Inhalte zurückgegeben werden müssen. Der Server hat die Anforderung erfolgreich verarbeitet, verfügt aber über keine Daten, die an den Client übermittelt werden müssen.
Der Status des Benutzers ist jetzt GELÖSCHT, nachdem Sie die Benutzerdetails abgerufen haben.
Benutzerdetails aktualisieren
- Aktualisieren Sie die Benutzerdetails des Benutzers, der die v2-API verwendet. Teilnehmer können Bio, uiLocale, contentLocale, timezone ändern. Bei großen Konten handelt es sich um asynchrone Aufrufe. Es gibt viele andere Benutzerattribute, die mit diesem API-Endpunkt aktualisiert werden können. Verwenden Sie den Endpunkt /users/{id}, wobei id die Benutzer-ID des Benutzers ist, dessen Details aktualisiert werden sollen.
PATCH https://learningmanager.adobe.com/primeapi/v2/users/<userID>
Fügen Sie in der Payload der Anforderung zum Aktualisieren des Benutzers mit der ID "<userID>
" aus dem vorherigen Abschnitt Folgendes hinzu:
Ändert ein beliebiges Feld in der Nutzlast.
{
"data": {
"id": "3400468",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"binUserId": "3e6d571f-3956-44db-be69-8e458bde649f",
"bio": "Manager",
"contentLocale": "de-DE",
"email": "user@example.com",
"enrollOnClick": true,
"fields": {
"Web": "Web",
"newfororder": "newvalue",
"location": "New",
"test1": "b"
},
"gamificationEnabled": true,
"lastLoginDate": "2025-04-30T09:30:51.000Z",
"metadata": {
"level": "5",
"expertise": "java",
"sport": "tennis"
},
"name": "John Adams",
"pointsEarned": 8600,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Employee",
"roles": [
"Learner",
"Admin",
"Author",
"Instructor",
"Integration Admin",
"Manager"
],
"state": "ACTIVE",
"timeZoneCode": "213",
"uiLocale": "en-US",
"userType": "Internal",
"userUniqueId": "user@example.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
}
}
}
}
Nachdem Sie den Anruf getätigt haben, werden die Benutzerdetails aktualisiert.
Erstellen eines externen Profils
Ein externes Profil bezieht sich auf ein Benutzerprofil, das für externe Teilnehmer erstellt wird, in der Regel Personen, die nicht Teil der internen Benutzerbasis des Unternehmens sind. Zu diesen Teilnehmern können Kunden, Partner, Verkäufer, Franchisenehmer oder temporäre Vertragspartner gehören, die Zugang zu Schulungs- oder Zertifizierungsprogrammen benötigen, die von der Organisation angeboten werden.
-
Verwenden Sie den folgenden Endpunkt:
code language-none POST https://learningmanager.adobe.com/primeapi/v2/externalProfiles
-
Verwenden Sie die folgende Nutzlast als Textkörper:
{
"data": {
"type": "externalProfile",
"attributes": {
"name": "Jonas Albertson",
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"seatLimit": 10
}
}
}
Die Nutzlast hat die folgenden Attribute:
- name: Der Name des externen Benutzers.
- expiry: Das Ablaufdatum (im ISO-8601-Format) der Registrierung des Benutzers in Adobe Learning Manager.
- managerEmail: Die E-Mail-Adresse des Managers des Benutzers in der Partnerorganisation.
- seatLimit: Die Anzahl der zulässigen Lizenzen für die Partnerorganisation.
Nach dem Anruf erhalten Sie die folgende Antwort:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/externalProfiles"
},
"data": {
"id": "18805",
"type": "externalProfile",
"attributes": {
"accessKey": "8gte2ne7f4r14",
"enabled": true,
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"name": "Jonas Albertson",
"seatLimit": 10,
"url": "https://learningmanager.adobe.com/eplogin?groupid=18805&accesskey=8gte2ne7f4r14"
}
}
}
Dies bedeutet, dass der externe Benutzer erfolgreich zu Adobe Learning Manager hinzugefügt wurde. Senden Sie die URL in der Antwort an den Benutzer, mit der er sich auf der Plattform registrieren kann.
Benutzerbericht mit Benutzer-ID- und Manager-Details extrahieren
Ein Benutzerbericht kann direkt von der Administrator-Benutzeroberfläche heruntergeladen werden (Admin > Benutzer > Intern). Der Bericht gibt jedoch nicht die Benutzer-ID und die Details des zugehörigen Managers zurück.
Verwenden Sie die Jobs-API, um den Bericht herunterzuladen. Die Jobs-API unterstützt Sie beim Generieren von Berichten, Massenvorgängen (Registrierungen oder Abzeichenzuweisungen), abgeschlossenen Zertifizierungen oder beim Generieren von Abzeichen.
So können Sie den Bericht herunterladen:
-
Fügen Sie der Jobs-API die folgende Payload hinzu.
code language-none { "data": { "type": "job", "attributes": { "description": "description of your choice", "jobType": "generateUsers", "payload":{ "expandMetadata":true } } } }
-
Verwenden Sie den folgenden Endpunkt.
code language-none POST https://learningmanager.adobe.com/primeapi/v2/jobs
-
Kopieren Sie die Job-ID aus der Antwort.
code language-none { "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/jobs" }, "data": { "id": "43118", "type": "job", "attributes": { "dateCreated": "2025-05-26T06:35:35.000Z", "description": "description of your choice", "jobType": "generateUsers", "payload": { "expandMetadata": true }, "status": { "code": "Submitted" } } } }
In der Antwort wird die Job-ID 43118.
-
Nachdem Sie die ID kopiert haben, laden Sie den Bericht mithilfe der ID in der Jobs-API herunter.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/jobs/43118
-
Kopieren Sie die S3-URL aus der Antwort.
-
Fügen Sie die URL in Ihren Browser ein. Der Browser fordert Sie auf, die CSV-Datei zu speichern oder zu öffnen. Speichern Sie die Datei auf Ihrem Computer.
Die heruntergeladene Datei enthält die folgenden Spalten:
internalUserID, userEmail, customerDefinedUniqueUserId, name, managerEmail, userType, state, excludedFromGamification, pointsEarned, profile, roles, dateCreated, lastLoginDate, dateDeleted, uiLocale, contentLocale, timeZoneCode, userSource, group, Active fields, metadata und lastSocialActivityDate.
Abzeichen mit Jobs-API generieren
-
Liste der Abzeichen für einen Benutzer in der Organisation abrufen Verwenden Sie den folgenden Endpunkt:
code language-none GET https://learningmanager.adobe.com/primeapi/v2/users/3400476/userBadges
Dabei steht 3400476 die Benutzer-ID an.
-
Kopieren Sie die Abzeichen-ID aus der Antwort. Beispiel: 3400476_759_COMPETENCY_1796_1 ist die Abzeichen-ID.
code language-none { "id": "3400476_759_COMPETENCY_1796_1", "type": "userBadge", "attributes": { "assertionUrl": "https://cpcontentsdev.adobe.com/public/accountassets/1010/badges/assertions/a99566b5aa8f4cfa92380581733c63a9_1626278856926.json", "dateAchieved": "2016-02-25T08:45:25.000Z", "modelType": "skillLevel" }, "relationships": { "badge": { "data": { "id": "759", "type": "badge" } }, "learner": { "data": { "id": "3400476", "type": "user" } }, "model": { "data": { "id": "1796_1", "type": "skillLevel" } } } }
-
Erstellen Sie eine Payload und geben Sie die Badge-ID in der Payload an. Beispiel für eine Nutzlast:
code language-none { "data": { "type": "job", "attributes": { "description": "Acme Corp Badge", "jobType": "generateUserBadge", "payload": { "userBadgeId": "3400476_759_COMPETENCY_1796_1" } } } }
Nachdem Sie einen Anruf getätigt haben, erhalten Sie die Job-ID in der Antwort.
-
Nehmen Sie die Job-ID aus der Antwort und verwenden Sie die Job-ID im folgenden Endpunkt, um den Aufruf durchzuführen.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/jobs/<jobsID>
-
Kopieren Sie die Abzeichen-URL aus der Antwort und öffnen Sie die URL in einem Browser. Das Zertifikat wird als PDF heruntergeladen.
Erstellen von Benutzern in Adobe Learning Manager
Mit dem Endpunkt POST /users können Sie einen Benutzer im Headless-Modus erstellen. Erstellen Sie Benutzer mit detaillierten Informationen, wie z. B. dem Registrierungsprozess in der nativen Benutzeroberfläche im Adobe Learning Manager.
Beispiel:
POST https://learningmanager.adobe.com/primeapi/v2/users
Fügen Sie der Anforderung den folgenden Textkörper hinzu:
{
"data":
{
"type": "user",
"attributes": {
"bio": "",
"contentLocale": "fr-FR",
"email": "user@work.com",
"enrollOnClick": true,
"fields": {
"Learning Categories": [
"Business"
],
"Categories": "IT"
},
"gamificationEnabled": true,
"name": "Test User",
"profile": "Engineer",
"userType": "INTERNAL",
"userUniqueId": "user@work.com"
},
"relationships": {
"account": {
"data": {
"id": "108079",
"type": "account"
}
}
}
}
}
Nach dem Anruf wird die folgende Antwort angezeigt:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/users"
},
"data": {
"id": "13385627",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"email": "user@work.com",
"name": "Test User",
"pointsEarned": 0,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Engineer",
"roles": [
"Learner"
],
"state": "ACTIVE",
"userType": "Internal",
"userUniqueId": "user@work.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400468",
"type": "user"
}
}
}
}
}
Ein neuer Benutzer wird zu Adobe Learning Manager hinzugefügt.
L1-Feedback posten
-
Rufen Sie die Kurs-, Instanz- und Registrierungsdaten des Teilnehmers ab. Verwenden Sie die folgende endoint:
code language-none GET /enrollments
-
Überprüfen Sie, ob L1-Feedback für die Kursinstanz aktiviert ist.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>/instances/<loInstanceID>/l1Feedback
-
Senden Sie das L1-Feedback.
code language-none POST /enrollments/{id}/l1Feedback
Beispiel für erforderliche Nutzlast:
{
"data": {
"id": "course:7454218_10333537_11257863",
"type": "feedback",
"attributes": {
"questions": [
{
"answer": "8",
"questionId": "1",
"mandatory": true,
"questionType": "scaleTen"
}
],
"score": 80
}
}
}
Modulebeneninformationen eines Kurses abrufen
-
Rufen Sie die Details eines Lernobjekts nach ID ab.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>
code language-none { "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899" }, "data": { "id": "course:1171899", "type": "learningObject", "attributes": { "authorNames": [ "James Adams" ], "dateCreated": "2017-11-01T15:28:09.000Z", "datePublished": "2017-11-01T15:28:20.000Z", "dateUpdated": "2017-11-01T15:28:20.000Z", "duration": 60, "effectiveModifiedDate": "2017-11-01T15:28:20.000Z", "effectivenessIndex": 0, "enrollmentType": "Self Enroll", "hasOptionalLoResources": false, "hasPreview": false, "isExternal": false, "isMqaEnabled": false, "isPrerequisiteEnforced": false, "isSubLoOrderEnforced": false, "loFormat": "Self Paced", "loResourceCompletionCount": 3, "loType": "course", "moduleResetEnabled": false, "state": "Published", "unenrollmentAllowed": true, "catalogLabels": [ { "catalogLabelValueIds": [ { "name": "Sales", "id": "catalogLabel:13_31" } ], "description": "", "mandatory": false, "name": "Department", "values": [ "Sales" ] } ], "localizedMetadata": [ { "locale": "en-US", "name": " Test course 2" } ], "rating": { "averageRating": 0, "ratingsCount": 0 } }, "relationships": { "authors": { "data": [ { "id": "3400468", "type": "user" } ] }, "instances": { "data": [ { "id": "course:1171899_2067352", "type": "learningObjectInstance" } ] }, "skills": { "data": [ { "id": "course:1171899_1797", "type": "learningObjectSkill" } ] } } } }
-
Verwenden Sie den include-Parameter, um Folgendes abzurufen:
a. Listen Sie alle Module des Lernobjekts auf.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources
b. Listet alle Inhalte in den Modulen auf.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources.resources
Modulfortschritt überprüfen
-
Rufen Sie das Lernobjekt aus dem Katalog mit der Kurs-ID ab.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/learningObjects?page[limit]=10&filter.loTypes=course&sort=name&filter.ignoreEnhancedLP=true&id=<courseID>
-
Abrufen der Registrierungsdetails eines Teilnehmers mithilfe der Registrierungs-ID.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/enrollments/<enrollmentID>
Kopieren Sie die Ressourcenqualität-ID des Lernobjekts aus der Antwort.
-
Verwenden Sie die ID im folgenden Endpunkt.
code language-none GET https://learningmanager.adobe.com/primeapi/v2/loResourceGrades/<courseResourceGradeID>
Sie erhalten Informationen über den Fortschritt des Moduls in der Antwort.
Identitätswechsel von Teilnehmern implementieren
Bei der Implementierung eines Headless LMS mit Adobe Learning Manager als Backend benötigen Unternehmen möglicherweise Supportmitarbeiter, die sich für die Teilnehmer als Ansprechpartner bei der Fehlerbehebung oder für Unterstützung entscheiden. Die API-gestützte Identitätswechselmethode stellt einen sicheren Zugriff sicher, während die Vertraulichkeit der Teilnehmeranmeldeinformationen gewahrt bleibt, und unterstützt nahtlose Übergänge in den Sitzungszuständen.
Adobe Learning Manager erleichtert den Identitätswechsel von Teilnehmern in Headless-LMS-Umgebungen durch eine dedizierte API. Mit dieser Funktion können Supportmitarbeiter vorübergehend die Identität eines Teilnehmers annehmen und Probleme diagnostizieren, Funktionen testen oder praktische Unterstützung bereitstellen, indem sie die Erfahrung des Teilnehmers simulieren. Der Identitätswechsel wird mithilfe eines zwischengespeicherten Admin-Zugriffstokens aktiviert, mit dem programmgesteuert ein Teilnehmerzugriffstoken generiert wird. Dieser Prozess ermöglicht es dem System, so zu arbeiten, als wäre es als Teilnehmer angemeldet.
API-Endpunktdetails
POST /oauth/learnerToken
Beispiel für vollständige URL
https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false
Abfrageparameter:
- learner_email: (string) Die E-Mail-Adresse des Teilnehmers, dessen Identität Sie annehmen möchten.
- force: (boolean) Gibt an, ob ein neues Token zwangsweise generiert werden soll, falls vorhanden.
Anforderungstext:
{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"refresh_token": "your-admin-refresh-token"
}
Beispielantwort:
{
"access_token": "generated-token",
"refresh_token": "new-refresh-token",
"user_role": "learner",
"account_id": "123456",
"user_id": "7891011",
"expires_in": 604800
}
Beispiel-cURL:
curl --location --request POST 'https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false' \
--header 'Content-Type: application/json' \
--data-raw '{
"client_id": "xxxx",
"client_secret": "xxxx",
"refresh_token": "xxxx"
}'
Fehlercodes
Bei der Arbeit mit Adobe Learning Manager (Adobe Learning Manager)-APIs können Entwickler während einer Anforderung auf verschiedene HTTP-Fehlercodes stoßen. Diese Fehler liefern wichtiges Feedback dazu, was schief gelaufen ist und wie man es beheben kann. Wenn Sie diese Codes verstehen, können Entwickler Probleme schnell beheben, die API-Zuverlässigkeit verbessern und reibungslosere Integrationen sicherstellen. Die folgende Tabelle enthält Erläuterungen zu häufig von den Adobe Learning Manager-APIs zurückgegebenen HTTP-Fehlercodes sowie typische Szenarien, in denen diese auftreten. Dieser Abschnitt ist für alle Benutzer wichtig, die Anwendungen erstellen, testen oder debuggen, die eine Verbindung mit Adobe Learning Manager herstellen.
Für Adobe Learning Manager-APIs ist dieser Inhaltstyp strikt erforderlich.