Erstatt Moodles innebygde Open Badges med Badges Ninja (bedre designverktøy, samme API)
Moodle leveres med innebygde Open Badges, men designverktøyet er begrenset og mottakeropplevelsen er låst inne i Moodle. Utsted Badges Ninja-akkrediteringer fra Moodle-fullføringer i stedet.
Nacho founded Badges Ninja to make issuing verifiable digital credentials as simple as a single API call — Open Badge v2.0 badges and certificates, minted, hosted, and verifiable without standing up your own issuer infrastructure.
Moodle har utstedt Open Badges innebygd siden versjon 2.5, og for mange kursadministratorer er det grunn nok til aldri å se seg om etter noe annet. Det er innebygd, det er gratis, og det produserer teknisk sett en standardkompatibel akkreditering. Så hvorfor ender så mange Moodle-administratorer opp frustrerte innen de har utstedt sitt femtiende merke?
Det ærlige svaret: Moodles merkesystem ble designet for å krysse av en compliance-boks, ikke for å være et akkrediteringsprodukt. Det fungerer, men det fungerer på samme måte som en funksjon som er skrudd fast på en LMS — funksjonelt, utdatert, og innestengt av begrensningene til plattformen det lever i. Hvis du noen gang har prøvd å få et Moodle-merke til å se ut som noe annet enn et sirkulært clip-art-ikon, eller sett en nyutdannet spørre «vent, hvor ser jeg egentlig dette igjen?», kjenner du allerede til problemet.
Dette er ikke et angrep på Moodle — det er en utmerket LMS, og kriteriemotoren for merker (kursfullføring, aktivitetsfullføring, manuell tildeling, kohortmedlemskap) er genuint gjennomtenkt for å utløse en akkreditering. Problemet er alt som skjer etter utløseren: designverktøyet, mottakeropplevelsen, og merkets synlighet utenfor din Moodle-instans. Det er nøyaktig det badges.ninja er bygget for, og du trenger ikke å gi opp Moodles fullføringslogikk for å bruke det — du peker bare utløseren mot en annen utstedelsesmotor.
Hvor Moodles innebygde merker kommer til kort
Designverktøyet er en koordinatbasert bildesammensetter, ikke et designverktøy. Moodles merkeredigerer lar deg velge et grunnbilde, legge på noen forhåndsdefinerte ikonoverlegg, og justere posisjon med pikselforskyvninger. Det finnes ikke noe formbibliotek, ikke noe fargepalettsystem, ingen fontvalg utover det som er bakt inn i ikonsettet. Hvis organisasjonen din har en merkevare — en logo, en fargepalett, et spesifikt visuelt språk for sertifiseringene dine — kan ikke Moodles redigerer uttrykke det. De fleste institusjoner ender opp med å designe merke-grafikk i Photoshop eller Canva og laste opp en flat PNG, noe som undergraver hele poenget med å ha et innebygd designverktøy.
Mottakere trenger en Moodle-innlogging for å se sine egne merker. En students tildelte merker ligger inne i Moodle-profilsiden deres. Hvis de har gått videre fra kurset, glemt sine institusjonelle påloggingsopplysninger, eller institusjonen siden har fjernet kontoen deres, er merket i praksis borte fra deres side — selv om selve påstanden («assertion») fortsatt kan løses opp via Moodles backpack-kobling eller offentlige merkeside. Det finnes ikke noe dedikert, merkevarebygget, alltid tilgjengelig sted der en mottaker kan logge inn med bare e-posten sin og se alle akkrediteringer de noensinne har opptjent på tvers av alle kurs.
Deling er en ettertanke. Moodle kan pushe merker til en Mozilla Backpack-kompatibel tjeneste, og den eksponerer en offentlig verifiserings-URL for hvert merke, men det finnes ingen innebygd «Legg til på LinkedIn»-flyt, ingen delingsknapp med ett klikk, og ingen engasjementsanalyse for om noen faktisk så på merket etter at det ble utstedt. For programmer som ønsker at merket skal fungere som muntlig markedsføring — bootcamp, videreutdanningstilbydere, bedriftsopplæring — er det en reell tapt mulighet.
Massehandlinger er klumpete. Å tildele et merke til en hel kohort fungerer hvis alle fullfører den utløsende aktiviteten inne i Moodle samtidig. Men hvis du trenger å etterfylle merker for en tidligere kohort, importere historiske fullføringer fra et regneark, eller utstede et merke for noe som skjedde helt utenfor LMS-en, sitter du fast med å skrive SQL mot Moodles database eller kjempe med CSV-importverktøy som ikke ble bygget spesifikt for merker.
Erstatningsmønsteret: behold Moodles utløsere, bytt utstederen
Du trenger ikke å migrere bort fra Moodle for å fikse dette. Det reneste mønsteret er å la Moodle fortsette å gjøre det den er god på — spore kursfullføring, aktivitetsfullføring, kohortmedlemskap — og få den til å kalle Badges Ninja-API-et i det øyeblikket en fullføringsbetingelse utløses, i stedet for (eller i tillegg til) å tildele sitt eget innebygde merke.
Moodle støtter dette på noen få måter:
-
Webhook for kursfullføring / polling via Moodle Web Services (REST). Moodles core_completion-API eksponerer fullføringsstatus per bruker per kurs. En lettvekts planlagt oppgave (en Moodle scheduled cron task, eller en ekstern cron-jobb som treffer Moodles REST-API) kan polle etter nylig fullførte påmeldinger og, for hver av dem, kalle Badges Ninjas awards-endepunkt.
-
En lokal plugin-hook. Hvis du har en utvikler i staben, kan Moodles hendelsessystem (
\core\event\course_completed) observeres av en liten lokal plugin som avfyrer en HTTP-forespørsel i det øyeblikket fullføringen skjer — uten forsinkelse fra polling. -
Zapier/Make/n8n som limet, hvis du heller vil unngå å røre Moodles kodebase — Moodle kan pushe fullføringshendelser til en webhook-mottaker som et no-code-automatiseringsverktøy gjør om til et award-kall.
Her er selve award-kallet, når du har navn og e-post til en bruker som har fullført:
curl -X POST https://api.badges.ninja/awards \
-H "X-Api-Key: bws_3f9a1c2d4e5b6a7c8d9e0f1a2b3c4d5e" \
-H "Content-Type: application/json" \
-d '{
"badgeId": "badge_moodle_course_completion",
"recipient": { "name": "Jordan Alvarez", "email": "learner@example.edu" },
"issuedOn": "2026-08-31"
}'
Eller i Node, inne i hvilken som helst planlagt oppgave eller webhook-mottaker du kjører:
const response = await fetch("https://api.badges.ninja/awards", {
method: "POST",
headers: {
"X-Api-Key": process.env.BADGES_NINJA_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
badgeId: "badge_moodle_course_completion",
recipient: { name: completedUser.fullname, email: completedUser.email },
issuedOn: Date.now(),
}),
});
const award = await response.json();
Mottakerens e-post blir SHA-256-hashet ved lagring, tildelingen får automatisk en unik verifiserings-URL, en QR-kode og et A4 PDF-sertifikat, og — avgjørende — mottakeren kan kreve den gjennom en magic-link-innlogging på badges.ninja/me, uten behov for en egen Moodle-konto. Se hele forespørsel-/svarformatet i awards API-referansen og autentiseringsguiden for hvordan API-nøkler fungerer fra ende til ende.
Hvis du heller vil batche det — for eksempel etterfylle et helt semesters fullføringer i én omgang i stedet for å koble opp sanntidshendelser — eksporter fullføringene fra Moodle som en CSV og bruk massetildelingsflyten direkte, som støtter pause/gjenoppta for store filer. Det er dekket i detalj i hvordan utstede Open Badges fra en CSV.
Designe selve merket
Når rørleggingen er på plass, tar selve merkedesignet minutter, ikke en sak til webteamet ditt. Det visuelle designverktøyet gir deg 80+ formmaler, et ekte fargepalettsystem, ikonbiblioteker og opplasting av egne fonter — slik at et merke for «Avansert statistikk — fullført» faktisk kan se ut som det tilhører institusjonens merkevare, i stedet for et generisk Moodle-prestasjonsikon.

Hver API-nøkkel er avgrenset og kan tilbakekalles fra det samme dashbordet der du administrerer merker og utstedere, så det å gi integrasjonsnøkkelen til en utvikler (eller et automatiseringsverktøy som Zapier) betyr ikke at du deler innloggingen til hovedkontoen din.

Side ved side: mottakeropplevelsen
| Moodles innebygde merke | Badges Ninja | |
|---|---|---|
| Hvor mottakere ser det | Inne i Moodle-profilen, krever innlogging | badges.ninja/me, magic-link, uten passord |
| Offentlig verifisering | Ja, offentlig URL per merke | Ja, Open Badge v2.0 JSON-LD-endepunkt |
| Designverktøy | Fast ikon + posisjonsforskyvninger | 80+ maler, paletter, egne fonter/ikoner |
| LinkedIn-deling | Manuelt, ingen innebygd knapp | Innebygd Legg-til-på-LinkedIn-profil-flyt |
| Massevis historisk utstedelse | SQL eller manuell CSV-omvei | Innebygd massetildeling med pause/gjenoppta |
| Synlighet på engasjement | Ingen | Visnings-/delingsstatistikk per tildeling |
| Tilgang etter å ha forlatt institusjonen | Bundet til Moodle-kontostatus | Vedvarende, eid av mottakeren |
Moodle vinner fortsatt på én ting: hvis det eneste kravet ditt er «merket finnes, er teknisk Open Badge v2.0-kompatibelt, og lever inne i LMS-en studenten allerede bruker», koster innebygde merker ingenting ekstra og krever ikke noe integrasjonsarbeid. Avveiningen viser seg i det øyeblikket du bryr deg om designkvalitet, portabilitet etter at kurset er over, eller det å gjøre utstedelse om til et rekrutterings-/markedsføringssignal — noe som gjelder de fleste institusjoner, før eller siden.
For et bredere blikk på hvordan andre Open Badges-plattformer sammenlignes på pris og funksjoner, se sammenligningen av de billigste Open Badges-plattformene. Og hvis institusjonen din vurderer Open Badge v2.0 opp mot den nyere spesifikasjonen for verifiserbare akkrediteringer, dekker Open Badge v2 vs v3 forklart hvilken du faktisk bør lansere i dag.
Klar til å utstede din første verifiserbare akkreditering? Start gratis på badges.ninja — visuelt designverktøy, offentlig verifiseringsside, PDF-sertifikat, Open Badge v2.0-utdata. Ingen kredittkort nødvendig.
Slik ble denne artikkelen laget
Enkelte innlegg på denne bloggen er utarbeidet med hjelp av en KI-assistent, og deretter gjennomgått, faktasjekket og redigert av Badges Ninja-teamet før publisering. Alle kodeeksempler og priser er verifisert mot det faktiske produktet. Les mer om vår redaksjonelle prosess og KI-bruk på vår side om redaksjonell prosess .

Om forfatteren
Nacho Coll
Founder & Engineer at Badges Ninja
Nacho founded Badges Ninja to make issuing verifiable digital credentials as simple as a single API call — Open Badge v2.0 badges and certificates, minted, hosted, and verifiable without standing up your own issuer infrastructure. Writes about the Open Badges spec, credential verification, and running a credentialing platform serverless on AWS, from the operator side of the wire.
Mer fra Nacho Coll
- Automatiser Open Badges med Zapier, Make og n8n (no-code-oppskrifter)27. aug. 2026 · 9min lesing
- Slik legger du til en LinkedIn «Legg til i profil»-knapp på dine Open Badges20. aug. 2026 · 9min lesing
- Open Badges vs. PDF-sertifikater: Hva passer best for programmet ditt i 2026?10. aug. 2026 · 6min lesing

