Användarhandbok för Adobe Learning Manager-utvecklare

Översikt

Adobe Learning Manager tillhandahåller RESTful API:er som gör det möjligt för utvecklare att integrera och anpassa program eller arbetsflöden effektivt. Utvecklarhandboken innehåller vägledning om hur du använder dessa API:er, och omfattar ämnen som autentisering, datamodeller och integrering med andra program. Dessutom kan den här användarhandboken API-referensdokumentation hjälpa utvecklare att skapa externa program eller serverarbetsflöden som interagerar med olika funktioner i Adobe Learning Manager, inklusive kursskapande, spårning av elevframsteg, kompetensmappning, certifiering, spelifiering och utskrifter.

I den här handboken beskrivs följande:

  • OAuth2.0-autentisering
  • API-objektmodeller
  • Inkludera, fält och andra parametrar
  • Verkliga användningsfall
IMPORTANT
Den här utvecklarhandboken täcker endast V2 API:erna i Adobe Learning Manager. Alla exempel, begärandestrukturer och autentiseringsarbetsflöden som beskrivs i den här handboken är specifika för /primeapi/v2/-slutpunkterna. Mer information om äldre versioner eller inaktuella API:er finns i API-referensdokumentationen.

Användningsscenarier för API

Utvecklare kan använda Learning Manager API:er för att förbättra eller integrera Learning Manager med andra företagsprogram. Du kan skapa webb-, dator- och mobilappar med vilken teknik som helst. Utvecklare kan komma åt Learning Manager-data, men du styr var och hur appen används.

Autentisering med OAuth 2.0

För att få säker åtkomst till Adobe Learning Manager API:er måste du autentisera med Adobe Learning Manager OAuth 2.0-mekanism. I den här processen ingår att registrera programmet, generera en auktoriseringskod, byta ut den mot en uppdateringstoken och slutligen använda uppdateringstoken för att få en åtkomsttoken.

Registrera en ansökan

Integrera Adobe Learning Manager med externa program för förbättrad mångsidighet. Stegen innebär att få åtkomst till gränssnittet för Integreringsadministratör, registrera programmet och erhålla klient-ID och hemlighet. Generera OAuth 2.0-autentiseringstoken, inklusive auktoriserings-, uppdaterings- och åtkomsttoken, från Adobe Learning Manager. Använd OAuth 2.0-flödet för att autentisera och auktorisera programmet på ett säkert sätt. Åtkomsttoken har en giltighet på sju dagar.

  1. Logga in i Adobe Learning Manager som integreringsadministratör.

  2. Välj Applications i den vänstra rutan.

    Alt-text

  3. Välj Register och lägg till följande information:

    • Application Name: Skriv programmets namn (max 50 tecken).

    • URL: Företagets eller programmets officiella webbadress. Används för identifiering och referens.

    • Redirect Domains: Ange de domäner (till exempel http://learningmanager.adobe.com) som Adobe Learning Manager kan omdirigera till efter auktorisering. Du kan ange flera giltiga URL:er.

    • Description: Kort beskrivning av vad programmet gör.

    • Scopes: Välj ett av de sex tillgängliga alternativen för att definiera programmets omfattning. Baserat på ditt val som nämns här är API-slutpunkterna för Learning Manager tillgängliga för ditt program. Om du till exempel väljer läsåtkomst till elevrollen är alla slutpunkter för Learning Manager-elevens API skrivskyddade för ditt program.

      • Läs- och skrivåtkomst för administratörsrollen: Tillåter programmet att komma åt eller ändra data som administratör.
      • Läsåtkomst/skrivåtkomst för elevroll: Tillåter att programmet får åtkomst till eller ändrar data för elever.
      • Läs- och skrivåtkomst till xAPI: Gör att programmet kan komma åt och skicka Experience API-satser (xAPI).
    • For this account only?

      • Yes - Om du väljer Ja visas inte programmet för andra kontoadministratörer.
      • No - Om du väljer Nej kan andra kontoadministratörer också komma åt det här programmet, men de måste använda program-ID:t för att komma åt programmet. Program-ID genereras och visas i redigeringsläget för Learning Manager-program.

      Alt-text

  4. Välj Save för att registrera programmet.

    • När du har registrerat programmet är det tillgängligt i listan över program som har skapats på kontot. Välj programmet så ser du följande utöver de tidigare angivna fälten:
    • Program-ID: Detta är klient-ID:t. Detta ID talar om för Adobe Learning Manager vilket program som begär åtkomst. Det ingår i API-begäranden för att identifiera programmet.
    • Programhemlighet: Detta används för att autentisera programmet och verifiera dess identitet under steg för tokenutbyte (till exempel vid begäran om en uppdateringstoken eller en åtkomsttoken).

Hämta en åtkomsttoken

Hämta auktoriseringskoden

När du har hämtat klient-ID:t och klienthemligheten använder du dem för att begära en åtkomsttoken som används för att autentisera API-anrop.

Börja flödet med auktoriseringskoden genom att lägga till följande URL i en webbläsare:

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

När användaren har auktoriserat programmet omdirigeras Adobe Learning Manager till angiven redirect_uri med en tillagd frågeparameter:

https://yourapp.com/callback?code=abc123xyz

En parameterkod läggs till tillsammans med omdirigerings-URI:n.

Hämta uppdateringstoken från kod

När du har hämtat POSTEN ska du använda valfritt API-verktyg och lägga till följande kodbegäran:

https://learningmanager.adobe.com/oauth/token

Text för begäran (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>

Svar

{

  "access_token": "eyJhbGciOiJIUzI1...",
  "refresh_token": "xTjlfz0jCk6gF1...",
  "expires_in": 604800,
  "token_type": "Bearer"

}

Använd access_token i auktoriseringsrubriken för att göra autentiserade API-begäranden.

Använd åtkomsttoken i ett API-anrop

Verifiera åtkomsttoken på följande sätt:

GET https://learningmanager.adobe.com/oauth/token/check?access_token=<access_token>

En åtkomsttoken är giltig i sju dagar. Efter sju dagar måste du generera en ny åtkomsttoken med hjälp av uppdateringstoken. Om du genererar en ny åtkomsttoken från uppdateringstoken medan en befintlig åtkomsttoken fortfarande är giltig, returneras den befintliga token.

Skaffa åtkomsttokens för testning och utveckling

När du arbetar med Adobe Learning Manager API:er behöver utvecklare en giltig OAuth 2.0-åtkomsttoken för att autentisera API-begäranden. Att generera denna token via standard-OAuth-flödet kan vara komplext och tidskrävande, särskilt för snabbtester, inlärning och utveckling. Adobe Learning Manager tillhandahåller ett tokengenereringsverktyg för att förenkla processen.

Detta verktyg är idealiskt under:

  • Koncepttest (POC)-versioner

  • Utveckling i ett tidigt skede

  • Felsöka problem med API-integrering

Dessa tokens är endast avsedda för personligt bruk under utvecklings- och felsökningsfaserna. Tänk på att testtoken ger åtkomst till dina Adobe Learning Manager-data och att det är viktigt att hantera dem på ett säkert sätt. Dela aldrig dina testtoken med andra, använd dem i produktionsprogram eller inkludera dem i offentliga koddatabaser. Behandla dem som lösenord för att säkerställa säkerheten för ditt konto och dina data.

  1. Logga in på Adobe Learning Manager som integreringsadministratör.

  2. Välj Developer Resources och sedan select Access Tokens for Testing and Development.

  3. Skriv Client ID som du fick när du skapade ett program för att få OAuth-koden. Välj sedan Submit.

  4. Lägg till Client ID och Client Secret för att få uppdateringstoken. Välj sedan Submit. OAuth är förifylld från föregående steg.

  5. Lägg till klient-ID:t och klienthemligheten för att få åtkomsttoken. Välj sedan Submit.

  6. Lägg till åtkomsttoken och välj Skicka för att få information om åtkomsttoken.

När du väljer Submit verifieras åtkomsttoken och du får följande JSON-objekt:

{
  "access_token": "access token",
  "refresh_token": "refresh token",
  "user_role": "admin",
  "account_id": "1234",
  "user_id": "123456",
  "expires_in": 604800
}

Som tidigare upphör åtkomsttoken för testning att gälla om sju dagar.

Använd ett API-verktyg för att testa slutpunkterna

Du kan använda valfritt API-testverktyg från tredje part, men vi använder Postman för att testa slutpunkterna. Exemplen i det här dokumentet använder Postman för att testa slutpunkterna.

  1. Öppna Postman och skapa en ny förfrågan.

  2. Välj fliken Auktorisering.

  3. Ställ in autentiseringstypen till Bearer Token.

  4. Klistra in den åtkomsttoken som du erhöll från föregående avsnitt i tokenfältet.

  5. Lägg till följande på fliken Sidhuvuden.

    • Nyckel: Acceptera
    • Värde: application/json
  6. Ange din API-slutpunkt i URL-fältet. Exempel: https://learningmanager.adobe.com/learningManager/api/v2/users
    Mer information finns i Adobe Learning Manager API-referens.

  7. Välj Skicka för att göra API-begäran.

Typer av API:er

API för administratörer

Med Adobe Learning Manager Admin API kan administratörer automatisera och hantera utbildningsåtgärder i stor skala.

Med hjälp av Admin API:er kan utvecklare:

NOTE
Listan är inte uttömmande.
  • Hantera användare och grupper: Skapa, uppdatera och ta bort användare eller tilldela grupper dem.
  • Registrera elever: Automatisera registrering till kurser, utbildningsvägar eller certifieringar.
  • Följ elevens framsteg: Hämta kurs-/modulförlopp, quizpoäng och slutförandestatus.
  • Generera rapporter: Få tillgång till data om elevaktivitet, engagemang och prestanda.
  • Hantera innehåll: Skapa och organisera kurser och utbildningsobjekt.

Mer information finns i Adobe Learning Manager API-referens.

Elevens API

Elevens API:er är designade för autentiserade användare (elever) och ger dig åtkomst till elevspecifik information. Dessa API:er tillåter uppgifter som:

  • Komma åt en elevs kurser och framsteg
  • Hämtar intjänade märken eller certifieringar
  • Uppdaterar elevprofilinformation
  • Visa kompetenser som är kopplade till slutförda kurser

Viktiga punkter:

  • Dessa API:er kräver en autentiserad användartoken, vilket garanterar datasäkerhet och integritet.
  • API:erna är avsedda för scenarier där användare är helt registrerade och inloggade i stället för anonyma eller delade användare.

Mer information finns i Adobe Learning Manager API-referens.

API-design och vanliga parametrar

API:erna ger utvecklare tillgång till viktiga Learning Manager-resurser som användare, kurser, färdigheter, certifieringar och utbildningsprogram. Den följer REST-principerna och använder HTTP-metoder (GET, POST, PUT, DELETE) för dataåtgärder.

Metoder
GET, PUT, POST, DELETE
Format
application/vnd.api+json, application/json. Läs mer om vanliga MIME-typer.
Bas-URL
https://learningmanager.adobe.com/primeapi/v2/

Vanliga parametrar

Parametrar
Syfte
innefatta
Få relaterade resurser i ett samtal.
fält
Välj specifika attribut för att minska nyttolasten.
filter
Smala resultat (t.ex. efter ID, namn)
sort
Orderresultat.
sida[gräns], sida[förskjutning]
Stöd för sidnumrering.

Här är en kort förklaring av varje:

innefatta

Adobe Learning Manager API:er kan användas för att hämta användbar information när du skapar ett anpassat program eller ett fjärradministrerat LMS. API-slutpunkterna kan vidare inkluderas med ytterligare include-parametrar för att hämta den ytterligare information som gäller de data som tas emot som standard. Dessa relationer är datamodellrelationer, så när du ringer för att få användarinformation får du användarinformationen och relationen mellan chef-ID och Adobe Learning Manager-konto-ID. Med parametern include kan du extrahera ytterligare information tillsammans med användarinformation, till exempel chefsinformation och Adobe Learning Manager-kontoinformation, på ett detaljerat sätt.
Kort sagt används parametern include i API-anrop för att hämta relaterade (länkade) resurser tillsammans med den primära resursen i ett enda svar. Det är användbart när du vill få åtkomst till kapslade eller beroende data, till exempel moduler till en kurs eller kunskaper som är mappade till en elev, utan att göra separata API-anrop.

Viktiga fördelar:

  • Minskar flera API-anrop: Undviker behovet att manuellt begära varje relaterad resurs.
  • Förbättrar effektiviteten: Snabbare utveckling, mindre serverbelastning och snabbare dataåtergivning.
  • Garanterar datakonsekvens: Hämtar alla relaterade data i en konsekvent ögonblicksbild.

Så här använder du parametern include

Lägg till parametern include i API-URL:en och ange de relaterade entiteterna som ska inkluderas.

Vanliga innehåller sökvägar

Inkludera värde
Beskrivning
instanser
Returnerar alla instanser av utbildningsobjektet
registrering
Returnerar registreringsinformation för användaren
instances.loResources.resources
Hämtar moduler och resurser inuti en instans
additionalResources
Returnerar tillhörande tilläggsresurser
skills.skillLevel.badge
Hämtar kunskapsnivåer och tillhörande utmärkelsetecken
förutsättningarLO
Inkluderar nödvändiga utbildningsobjekt
subLO
Hämtar underutbildningsobjekt (används i LP-nummer eller certifieringar)
subLOs.enrollment
Registrering för underutbildningsobjekt
instances.badge
Utmärkelsetecken har tilldelats för slutförande av en kursinstans
subLOs.subLOs.instances.loResources.resources
Djup kapslade resurser i en sub-sub-LO-instans

Exempel 1

Hämta informationen för en användare med hjälp av parametern userID i slutpunkten.

https://learningmanager.adobe.com/primeapi/v2/users/<userID>
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>

I svaret kan du se att dataobjektet har en relation med kontot och användarens chef.

"relationships": {
            "account": {
                "data": {
                    "id": "1010",
                    "type": "account"
                }
            },
            "manager": {
                "data": {
                    "id": "3400476",
                    "type": "user"
                }
            }
        }

Med parametern include i begäran kan du hämta detaljerad information om hanteraren enligt nedan:

GET https://learningmanager.adobe.com/primeapi/v2/users/<userid>?include=manager

Exempel 2

Om du vill hämta kursdetaljerna använder du parametern include i slutpunktsanropet. Följande slutpunkt får kursinformationen tillsammans med dess relationer.

GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>

Relationerna visas i svaret på följande sätt:

  • instanser
  • färdigheter
  • författare
"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"
                    }
                ]
            }
        }

Andra relationer kan inkludera (finns inte i svaret ovan):

  • förutsättningarLO
  • additionalLO
  • additionalResources

Om du vill få detaljerade data om instanserna och kunskaperna inkluderar du "instanser, färdigheter" i parametern include.

GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,skills

Om du nu till exempel vill hämta mer data som är associerade med kursinstansen, till exempel loResources (kursmodulinformation), använder du loResources som ett kapslat include.

GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances.loResources

Dessutom kan du kombinera färdigheter och instanser med en kapslad include.

GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,instances.loResources,skills

Andra filter som ingår

Utbildningsprogram
Kurs
subLOs.prerequisiteLOs.enrollment

subLOs.subLOs.prerequisiteLOs.enrollment

subLOs.enrollment.loResourceGrades

subLOs.subLOs.enrollment.loResourceGrades

subLOs.subLOs.instances.loResources.resources.room

subLOs.instances.loResources.resources.room

subLOs.supplementaryResources

subLOs.enrollment

SubLOs.enrollment.loInstance.loResources.resources

subLOs.supplementaryLOs.instances.loResources.resources
instance.enrollment.loResourceGrades

enrollment.loInstance.loResources.resources
equimLOs

authors

instance.loResources.resources

additionalLOs.instance.loResources.resources

additionalResources

instance.badge

skills.skillsLevel.badge

skills skillLevel.skills

instance.loResources.resources.room

equimLOs.enrollment

enrollment.loResourceGrades

fält

Ett API-objekts attribut och relationer kallas fält. Använd Fält som en parameter i API-anrop för att hämta specifika attribut från modellen. Utan parametern Fields hämtar API-anropet alla tillgängliga attribut.

I följande API-anrop hämtar till exempel fälten [skills]=name attributet name för enbart kompetensmodellen.

GET https://learningmanager.adobe.com/primeapi/v2/users/3400490/userSkills/3400490_1796_1?include=skillLevel.skill&fields[skill]=name

sidnumrering

API-sidnumrering är en teknik som används i API:er för att dela upp stora datauppsättningar i mindre, hanterbara segment, så kallade sidor, i stället för att returnera alla data i ett enda svar.

Sidnumreringen gör klienten och servern mindre, begränsar svarsstorleken för att undvika serverflaskhalsar eller är användbar för att visa data i tabeller eller visar en sida i taget.

Så här fungerar sidnumrering i Adobe Learning Manager API:er

Adobe Learning Manager API:er stöder sidnumrering via parametrar som:

  • sida[gräns]: Antal poster per sida.
  • sida[förskjutning]: Antal poster att hoppa över.
  • sida[markör]: Peka på nästa resultatuppsättning. I stället för att använda förskjutningsbaserad sidnumrering (som hoppar över ett antal poster) använder markörbaserad sidnumrering en unik markör som returneras från API:et för att hämta nästa resultatsida.

Så här använder du sidnumrering i API

sida[gräns]

Medan https://learningmanager.adobe.com/primeapi/v2/users returnerar alla användare och relaterad information i ett enda anrop, begränsar du antalet resultat till det angivna värdet om du använder sidan[limit].

Använd följande API om du bara vill returnera fem användarposter i ett enda anrop:

GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5

sida[förskjutning]

Använd det här API-anropet för att returnera tre användarposter, hoppa över de första fem användarna och börja från den sjätte.

GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=3&page[offset]=5

sida[markör]

  1. Börja med att begära den första sidan med en gräns på 5.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
    
  2. Kopiera markörvärdet från links.next och använd det i nästa begäran:

    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"
     }
    
  3. Skicka följande begäran:

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482
    

Detta returnerar nästa uppsättning med 10 poster, med början efter det sista objektet från föregående sida.

filter

Med filterparametern kan du begränsa API-resultat baserat på ett eller flera fältvärden.

Adobe Learning Manager API:er tillhandahåller olika varianter av filterparametern för att begränsa svaren.

Mer information finns i Adobe Learning Manager API-referens.

I det här exemplet visas hur du filtrerar de hjälpmedel som en elev har registrerat sig till med hjälp av slutpunkten med filterparametern:

GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.loTypes=jobAid

sort

Parametern sort används för att sortera API-resultat i stigande eller fallande ordning baserat på ett eller flera fält.

I Adobe Learning Manager finns olika sorteringsalternativ för att sortera API-svar. Mer information finns i Adobe Learning Manager API-referens.

Om du utökar det föregående exemplet sorterar du nu användarens registrering till utbildningsprogram efter datum som registrerats i stigande ordning.

GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.lotypes=learningProgram&sort=dateEnrolled

Översikt över API-modeller

Med Adobe Learning Manager API:er kan utvecklare få tillgång till Learning Manager-objekt som RESTful-resurser. Varje API-slutpunkt representerar en resurs, vanligtvis en objektinstans som Badge, eller en samling av sådana objekt. Utvecklarna använder sedan HTTP-verb som PUT, GET, POST och DELETE för att utföra CRUD-åtgärder på dessa objekt (samlingar).

Learning Manager-objekt
Beskrivning
redogörelse
Kapslar in detaljerna för en Learning Manager-kund.
märket
Ett utmärkelsetecken är ett tecken på prestation som elever får när de når specifika milstolpar under kursens gång.
katalog
Katalogen är en samling utbildningsobjekt.
användare
Användare är den viktigaste modellen i Learning Manager. Användare är vanligtvis de interna eller externa eleverna i en organisation som använder utbildningsobjekt. De kan dock spela vissa andra roller, som författare och chef tillsammans med elevrollen. Användar-id, typ, e-post är några av de infogade attributen.
resurs
Detta representerar varje innehållsresurs i en modul. Alla resurser som är inkapslade i en "loResource" är likvärdiga när det gäller utbildningsmålet, men de skiljer sig från varandra när det gäller leveranstyp eller innehållsspråk.
userNotification
Den här modellen innehåller meddelandeinformation som gäller en elev.
userSkill
UserSkill anger hur mycket av en enskild kompetensnivå som uppnås av en enskild användare.
userBadge
UserBadge relaterar ett enda märke med en enda användare. Det innehåller information som när det uppnåddes, assertionUrl och så vidare.
färdighet
Kompetensmodellen består av nivåer och poäng. Kompetenser kan förvärvas av elever efter relevant slutförande av kursen.
skillsLevel
En kompetensnivå består av en eller flera kurser som ska tas tillvara för att uppnå en nivå tillsammans med tillhörande tillgodoräknanden.
learningObject
Ett utbildningsobjekt är en abstraktion för olika typer av objekt som användare kan registrera sig för och lära sig från. Learning Manager har för närvarande fyra typer av utbildningsobjekt: kurs, certifiering, utbildningsprogram och arbetsstöd.
learningObjectInstance
En specifik instans av ett utbildningsobjekt.
learningObjectResource
Detta motsvarar begreppet modul. En kurs består av en eller flera moduler. I Learning Manager kan en modul levereras på flera olika likvärdiga sätt. Därför omfattar LoResource i huvudsak alla dessa likvärdiga resurser.
loResourceGrade
Detta sammanfattar resultatet för den användare som använder en specifik resurs i samband med ett utbildningsobjekt som han är registrerad för. Den innehåller information som den tid som användaren har tillbringat i resursen, den procentuella förloppet som användaren har gjort, status för godkänt/underkänt och de poäng som användaren har fått i associerade quiz.
kalender
Ett kalenderobjekt är en lista över kommande klassrumskurser eller virtuella klassrumskurser som användaren kan registrera sig för.
l1FeedbackInfo
L1-feedback kapslar in svaren som tillhandahålls av en elev för de feedbackfrågor som är kopplade till utbildningsobjekt. Detta samlas vanligtvis in efter att användaren har slutfört ett utbildningsobjekt om det är konfigurerat att samla in sådan feedback från elever.
registrering
Denna abstraktion omfattar detaljerna som gäller transaktionen som representerar tilldelningen av en specifik användare till en specifik instans av utbildningsobjekt.

Elevens API:er och slutpunkter

Här är de viktigaste API-slutpunkterna för arbete med elevdata. Dessa API:er guidar utvecklare att interagera med elevinformation, hålla reda på framsteg, hantera registreringar och hämta kursinnehåll.

Hämta information om alla elever

Hämta elevinformation (namn, e-postadress, UUID, användarprofil och så vidare). Använd API:et för att lista alla elever i kontot.

GET https://learningmanager.adobe.com/primeapi/v2/users

Hämta information om en specifik elev

Om du vill visa en elevs profil efter ID använder du följande API för att ringa ett samtal.

GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>

Lista alla kurser, utbildningsprogram, arbetsstöd och certifieringar

Hämta information om alla utbildningsobjekt där eleven är registrerad, har slutfört eller har aktiverats av administratören.

GET https://learningmanager.adobe.com/primeapi/v2/learningObjects

Få information om ett specifikt utbildningsobjekt

Få detaljerad information om ett utbildningsobjekt. Den inkluderar datum då den skapades, publiceringsdatum, uppdateringsdatum och annan information.

GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<LearningObjectID>

Hämta en lista över kompetenser som är kopplade till kurser

Visa kompetenser som är tilldelade alla elever i kontot.

GET https://learningmanager.adobe.com/primeapi/v2/skills

Hämta information om kompetensnivå och utmärkelsetecken

Kontrollera elevernas framsteg i färdighetsbaserade inlärningsresor.

GET https://learningmanager.adobe.com/primeapi/v2/skills/<skillID>?include=levels

Lista över alla utmärkelsetecken som skapats för ett konto

Ring till följande slutpunkt för att hämta en lista över alla utmärkelsetecken som har skapats för ett konto i en organisation.

GET https://learningmanager.adobe.com/primeapi/v2/badges

Hämta information om ett utmärkelsetecken

Hämta detaljerad information om ett märke, inklusive namnet på märket, URL-adressen till märket och statusen för märket.

GET https://learningmanager.adobe.com/primeapi/v2/badges/<skillID>

Detta ger följande svar:

{
    "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"
        }
    }
}

Andra exempel på API-användning

Skapa en användare

  1. Använd slutpunkt:

    code language-none
    POST https://learningmanager.adobe.com/primeapi/v2/users
    

    Bearbetar attributen från API-brödtexten eller JSON-nyttolasten för att generera en användare och tillhandahåller sedan en användare med respektive användar-ID ifyllt.

  2. Använd följande nyttolast som text:

    code language-none
    {
       "data": {
         "type": "user",
         "attributes": {
          "email": "bob@example.com",
           "name": "Bob",
           "userType": "INTERNAL"
         }
       }
     }
    

Det finns tre obligatoriska attribut:

  • e-postadress: användarens e-post-ID. Värdet måste vara unikt för alla användare.
  • namn: Användarens namn.
  • userType: För närvarande kan endast interna användare läggas till med denna slutpunkt. userType ska vara INTERNAL.

Du får följande 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"
              }
          }
      }
  }
}

Ta bort en användare

  1. Hämta användar-ID för den användare du vill ta bort.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
    
  2. Ring sedan följande när du använder DELETE:

    code language-none
    DELETE https://learningmanager.adobe.com/primeapi/v2/users/<userID>
    

Ett 204-svar visas. En 204-svarskod indikerar att åtgärden lyckats utan något innehåll att returnera. Servern har bearbetat begäran men har inga data att tillhandahålla klienten.

Användarens status är nu DELETED efter att du har hämtat användarens information.

Uppdatera användarinformation

  1. Uppdatera användarinformation för användare med v2 API. Eleven kan ändra bio, uiLocale, contentLocale, timezone. För stora konton är detta asynkrona anrop. Det finns många andra användarattribut som kan uppdateras med denna API-slutpunkt. Använd slutpunkten /users/{id}, där id är användar-id för den användare vars information ska uppdateras.
PATCH https://learningmanager.adobe.com/primeapi/v2/users/<userID>

Lägg till följande i nyttolasten för begäran att uppdatera användaren med ID <userID> från föregående avsnitt.

Ändra fält i nyttolasten.

{
    "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"
                }
            }
        }
    }
}

När du har gjort samtalet uppdateras användarens uppgifter.

Skapa en extern profil

En extern profil avser en användarprofil som skapas för externa elever, vanligtvis enskilda personer som inte ingår i organisationens interna användarbas. Dessa elever kan inkludera kunder, partner, leverantörer, franchisetagare eller tillfälliga uppdragstagare som behöver tillgång till utbildnings- eller certifieringsprogram som erbjuds av organisationen.

  1. Använd följande slutpunkt:

    code language-none
    POST https://learningmanager.adobe.com/primeapi/v2/externalProfiles
    
  2. Använd följande nyttolast som text:

{
    "data": {
      "type": "externalProfile",
      "attributes": {
        "name": "Jonas Albertson",
        "expiry": "2027-12-31T18:29:59.000Z",
        "managerEmail": "jonas@acme.com",
        "seatLimit": 10
      }
    }
}

Nyttolasten har följande attribut:

  • namn: Den externa användarens namn.
  • Utgångsdatum: sista giltighetsdag (i ISO-8601-format) för användarens registrering i Adobe Learning Manager.
  • managerEmail: e-postadressen till användarens chef för partnerorganisationen.
  • seatLimit: Antalet platser som tillåts för partnerorganisationen.

När du har ringt får du följande svar:

{
    "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"
        }
    }
}

Det innebär att den externa användaren har lagts till i Adobe Learning Manager. Skicka URL:en som är i svaret till användaren och använd den för att registrera sig på plattformen.

Extrahera en användarrapport med användar-ID och chefsinformation

En användarrapport kan hämtas direkt från administratörens användargränssnitt (Admin > Users > Internal). Rapporten returnerar dock inte användar-ID:et och tillhörande chefsinformation.

Använd Jobb-API:et för att hämta rapporten. Jobb-API:t hjälper till att generera rapporter, gruppåtgärder (registreringar eller tilldelningar av utmärkelsetecken), slutförda certifieringar eller generering av utmärkelsetecken.

Så här kan du hämta rapporten:

  1. Lägg till följande nyttolast i jobb-API:et.

    code language-none
    {
        "data": {
            "type": "job",
            "attributes": {
                "description": "description of your choice",
                "jobType": "generateUsers",
                "payload":{
                    "expandMetadata":true
                }
            }
       }
    }
    
  2. Använd följande slutpunkt.

    code language-none
    POST https://learningmanager.adobe.com/primeapi/v2/jobs
    
  3. Kopiera jobbets ID från svaret.

    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"
                }
            }
        }
    }
    

    Jobb-ID:t 43118 i svaret.

  4. När du har kopierat ID:t använder du ID:t i Job API för att hämta rapporten.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/jobs/43118
    
  5. Kopiera S3-URL:en från svaret.

  6. Klistra in webbadressen i webbläsaren. Webbläsaren uppmanar dig att spara eller öppna CSV-filen. Spara filen på din dator.
    Den hämtade filen innehåller följande kolumner:

internalUserID, userEmail, customerDefiniedUniqueUserId, name, managerEmail, userType, state, excludeFromGamification, pointsEarned, profile, roller, dateCreated, lastLoginDate, dateDeleted, uiLocale, contentLocale, timeZoneCode, userSource, grupp, aktiva fält, metadata och lastSocialActivityDate.

Generera utmärkelsetecken med Jobb-API

  1. Hämta en lista med utmärkelsetecken för en användare i organisationen. Använd följande slutpunkt:

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/users/3400476/userBadges
    

    Var 3400476 är användar-ID:et.

  2. Kopiera utmärkelsetecknet-ID från svaret. Till exempel är 3400476_759_COMPETENCY_1796_1 badge 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"
             }
         }
     }
    }
    
  3. Skapa en nyttolast och ange ID-bricka i nyttolasten. Ett exempel på nyttolast är följande:

    code language-none
    {
     "data": {
         "type": "job",
         "attributes": {
             "description": "Acme Corp Badge",
             "jobType": "generateUserBadge",
             "payload": {
                 "userBadgeId": "3400476_759_COMPETENCY_1796_1"
             }
         }
     }
    }
    

    När du har ringt får du jobb-ID:t i svaret.

  4. Ta jobb-ID från svaret och använd jobb-ID i följande slutpunkt för att genomföra samtalet.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/jobs/<jobsID>
    
  5. Kopiera URL-adressen för märket från svaret och öppna URL-adressen i en webbläsare. Certifikatet hämtas som PDF.

Skapa användare i Adobe Learning Manager

Slutpunkten POST/användare hjälper dig att skapa en användare med hjälp av fjärradministrerat läge. Skapa användare med detaljerad information, som registreringsprocessen i det inbyggda användargränssnittet i Adobe Learning Manager.

Exempel:

POST https://learningmanager.adobe.com/primeapi/v2/users

Lägg till följande brödtext i begäran:

{
   "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"
           }
         }
         }
       }
    }

När du har ringt upp visas följande svar:

{
    "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"
                }
            }
        }
    }
}

En ny användare läggs till i Adobe Learning Manager.

Skicka feedback om L1

  1. Hämta elevens kurs, instans och registreringsdata. Använd följande slutpunkt:

    code language-none
    GET /enrollments
    
  2. Kontrollera om L1-feedback är aktiverad för kursinstansen.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>/instances/<loInstanceID>/l1Feedback
    
  3. Skicka feedback om L1.

    code language-none
    POST /enrollments/{id}/l1Feedback
    

Exempel på nödvändig nyttolast:

{
    "data": {
      "id": "course:7454218_10333537_11257863",
      "type": "feedback",
      "attributes": {
        "questions": [
          {
            "answer": "8",
            "questionId": "1",
            "mandatory": true,
            "questionType": "scaleTen"
          }
        ],
        "score": 80
      }
    }
  }

Hämta information på modulnivå för en kurs

  1. Hämta information om ett utbildningsobjekt per ID.

    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"
                     }
                 ]
             }
         }
     }
    }
    
  2. Använd parametern include för att hämta följande:

    a. Lista alla moduler för utbildningsobjektet.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources
    

    b. Lista allt innehåll i modulerna.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources.resources
    

Kontrollera modulförlopp

  1. Hämta utbildningsobjektet från katalogen med hjälp av kurs-ID.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/learningObjects?page[limit]=10&filter.loTypes=course&sort=name&filter.ignoreEnhancedLP=true&id=<courseID>
    
  2. Hämta registreringsinformation för en elev med hjälp av registrerings-ID:t.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/enrollments/<enrollmentID>
    

    Kopiera ID:t för utbildningsobjektresursgrad från svaret.

  3. Använd ID:et i följande slutpunkt.

    code language-none
    GET https://learningmanager.adobe.com/primeapi/v2/loResourceGrades/<courseResourceGradeID>
    

I svaret får du information om modulens förlopp.

Implementera personifiering av elever

När du implementerar ett fjärradministrerat LMS med Adobe Learning Manager som serverdel kan organisationer behöva supportpersonal som utger sig för att vara elever som felsöker eller får hjälp. Den API-drivna personifieringsmetoden garanterar säker åtkomst samtidigt som elevens inloggningsuppgifter skyddas och stöder sömlösa övergångar i sessionstillstånd.

Adobe Learning Manager underlättar elevpersonifiering i fjärradministrerade LMS-miljöer genom ett dedikerat API. Den här funktionen gör att supportpersonalen tillfälligt kan identifiera en elev, så att de kan diagnostisera problem, testa funktioner eller ge praktisk hjälp genom att simulera elevens upplevelse. Personifiering aktiveras med en cachelagrad åtkomsttoken för administratörer, som används för att programmatiskt generera en åtkomsttoken för elever. Denna process gör att systemet kan fungera som om det var inloggad som eleven.

IMPORTANT
Användarna måste begära särskild API-åtkomst för att använda den här funktionen och systemet måste hantera sessionsväxling, auktorisering och andra indikatorer för att säkerställa öppenhet och ansvarsskyldighet under personifieringen.

Information om API-slutpunkt

POST /oauth/learnerToken

Exempel på fullständig URL

https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false

Frågeparametrar:

  • learner_email: (sträng) Elevens e-postadress för att uppträda.
  • force: (boolean) Om en token ska tvångsgenereras om en sådan finns.

Text för begäran:

{
    "client_id": "your-client-id",
    "client_secret": "your-client-secret",
    "refresh_token": "your-admin-refresh-token"
}

Exempelsvar:

{
    "access_token": "generated-token",
    "refresh_token": "new-refresh-token",
    "user_role": "learner",
    "account_id": "123456",
    "user_id": "7891011",
    "expires_in": 604800
}

Exempel på 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"
}'

Felkoder

När du arbetar med Adobe Learning Manager (Adobe Learning Manager) API:er kan utvecklare stöta på olika HTTP-felkoder vid förfrågningar. De här felen ger viktig feedback om vad som gick fel och hur du åtgärdar det. Om du förstår de här koderna kan utvecklare snabbt felsöka problem, förbättra API-tillförlitligheten och få smidigare integrationer. Följande tabell är en guide till vanliga HTTP-felkoder som returneras av Adobe Learning Manager API:er, tillsammans med förklaringar och vanliga scenarier där de inträffar. Det här avsnittet är viktigt för alla som skapar, testar eller felsöker program som ansluter till Adobe Learning Manager.

HTTP-status
Betydelse
Felsökning
400
Felaktig begäran
Kontrollera om det finns parametrar som saknas eller har fel format i begäran. Kontrollera obligatoriska fält och korrekt formatering. Ogiltig syntax för filter, fält eller inkluderade parametrar.
401
Obehörig ogiltig eller saknad token
Se till att din åtkomsttoken är korrekt och ingår i auktoriseringsrubriken. Kontrollera att token är aktiv. Använd också rätt klient-ID och klienthemlighet när du begär token.
403
Förbjudet. Ingen åtkomst
Du har inte behörighet att komma åt resursen. Verifiera att din token har rätt omfång (admin:read, elev:write och så vidare.).
404
Resursen hittades inte
Slutpunkten eller resurs-ID:t är felaktigt eller finns inte. Kontrollera att resursen finns i parameterlistan.
406
Inte acceptabelt - felaktigt acceptera rubrik
Lägg till det här huvudet i din begäran: Godkänn: application/vnd.api+json
Den här innehållstypen krävs strikt för Adobe Learning Manager API:er.
500
Internt serverfel
Det här är ett problem på serversidan. Försök igen om en stund eller rapportera problemet till Adobe Learning Manager supportteam om det fortsätter.
recommendation-more-help
d5e5961a-141b-4c77-820e-8453ddef913d