Dette dokumentet beskriver en anbefalt måte å synkronisere brukere fra en kunde til Learnifier via Learnifier Public API.
Forutsetninger
Anbefalt algoritme
AutoClearEmail
Blanding av Learnifier-brukere med synkroniserte brukere
Forutsetninger
Kundens data betraktes som masterdata, det vil si at hvis en bruker finnes hos kunden, skal den opprettes i Learnifier, og hvis en Learnifier-bruker ikke finnes hos kunden, skal Learnifier-brukeren fjernes eller skjules.
Kunden leverer en unik ID som brukes til å identifisere en bruker. Denne ID-en kalles "external id" på Learnifier-siden. “External id” er en case-sensitiv string og består av alfanumeriske tegn.
Kunden må konfigurere API-autentisering via nøkler for å kunne få tilgang til Learnifier Public API. Se https://learnifier.com/api for mer informasjon. Nøklene må være Back Office-nøkler slik at nøkkelen har full tilgang til Learnifier.
Synkroniseringen gjøres over alle brukere i riket og ikke individuelle klienter.
Anbefalt algoritme
Hent alle Learnifier-brukere via GET /users. Sørg for å sjekke resultatet for å se om det er flere brukere tilgjengelige. Det kan være nødvendig å kalle GET /users flere ganger ved hjelp av “limit” and “offset”-parametere for å hente alle brukere.
Hent alle lokale brukere.
For hver lokal bruker:
Finn tilsvarende Learnifier-bruker (bruk external-id).
Hvis brukeren mangler:
Opprett brukeren via (POST /users).
Fjern Learnifier-brukeren fra den lokale listen.
Fortsett til neste bruker.
Fjern Learnifier-brukeren fra den lokale listen.
Sammenlign detaljene for lokal bruker med Learnifier-brukeren.
Hvis de er forskjellige, bruk PATCH /users/{userId} for å oppdatere Learnifier-brukeren. Bruk “autoClearEmail-flag” ved behov, se diskusjonen i avsnittet nedenfor.
For alle Learnifier-brukere som fortsatt er i den lokale listen:
Fjern (DELETE /users/{userId}) eller deaktiver/lås brukeren (PATCH /users/{userId} for å sette hardLock til true).
Hvis antallet brukere er stort, kan brukersynkroniseringen bruke betydelige systemressurser i Learnifier, så kjør dette bare periodisk, for eksempel en gang om dagen eller en gang i uken.
AutoClearEmail
Når en bruker oppdateres, kan flagget "autoClearEmail" brukes. E-postadressen (eller brukernavnet hvis e-postadressen ikke brukes) blir automatisk fjernet fra dupliserte brukere.
Dette forenkler algoritmen for brukersynkronisering ved endring av e-postadresse/brukernavn når e-postadressen/brukernavnet allerede er i bruk.
Hvis den ikke brukes, må algoritmen fjerne den dupliserte brukeren eller endre e-postadressen/brukernavnet før endringen gjøres, ellers vil operasjonen mislykkes.
Å bruke autoClearEmail kan resultere i Learnifier-brukere uten e-postadresse eller brukernavn. De vil fortsatt være tilgjengelige via API ved hjelp av ekstern id.
Blanding av Learnifier-brukere med synkroniserte brukere
Den ovennevnte beskrevne algoritmen tar ikke hensyn til en blanding av brukere som opprettes direkte i Learnifier og brukere som synkroniseres fra kunden. Et eksempel på dette kan være administratorer som opprettes direkte i Learnifier mens alle elever synkroniseres fra kunden.
En enkel måte å skille mellom de to kategoriene av brukere på er å sjekke om brukeren har en external id eller ikke. En bruker som opprettes direkte i Learnifier vil ikke ha en ekstern id. Endre algoritmen ovenfor for å ignorere brukere som ikke har en ekstern id.