Substituir els Open Badges natius de Moodle per Badges Ninja (millor dissenyador, mateixa API)
Moodle inclou Open Badges natius, però el dissenyador és limitat i l'experiència del destinatari queda tancada dins de Moodle. Emet credencials de Badges Ninja a partir de les finalitzacions de Moodle.
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 emet Open Badges de manera nativa des de la versió 2.5, i per a molts administradors de cursos això ja és motiu suficient per no buscar cap altra opció. Ve integrat, és gratuït i, tècnicament, produeix una credencial conforme als estàndards. Aleshores, per què tants administradors de Moodle acaben frustrats quan arriben a emetre la seva cinquantena insígnia?
La resposta honesta: el sistema d’insígnies de Moodle es va dissenyar per marcar una casella de compliment normatiu, no per ser un producte de credencials. Funciona, però funciona com funciona una funció afegida a un LMS — operativa, antiquada i limitada per les restriccions de la plataforma on viu. Si mai has intentat que una insígnia de Moodle sembli alguna cosa diferent d’una icona circular d’imatge predissenyada, o has vist un graduat preguntar «espera, on veig realment aquesta cosa?», ja coneixes aquest buit.
Això no és una crítica a Moodle — és un LMS excel·lent i el seu motor de criteris d’insígnies (finalització de curs, finalització d’activitat, atorgament manual, pertinença a cohort) està realment ben pensat per activar una credencial. El problema és tot el que ve després de l’activació: les eines de disseny, l’experiència del destinatari i la visibilitat de la insígnia fora de la teva instància de Moodle. Just per a això s’ha creat badges.ninja, i no cal que renunciïs a la lògica de finalització de Moodle per fer-lo servir — només has d’apuntar l’activador cap a un motor d’emissió diferent.
On es queden curtes les insígnies natives de Moodle
El dissenyador és un compositor d’imatges basat en coordenades, no una eina de disseny. L’editor d’insígnies de Moodle et permet triar una imatge base, afegir-hi algunes superposicions d’icones predefinides i ajustar la posició amb desplaçaments de píxels. No hi ha biblioteca de formes, ni sistema de paletes, ni més opcions de tipografia que les que ja porta el conjunt d’icones. Si la teva organització té una marca — un logotip, una paleta de colors, un llenguatge visual específic per a les teves certificacions —, l’editor de Moodle no la pot expressar. La majoria d’institucions acaben dissenyant l’art de la insígnia a Photoshop o Canva i pujant un PNG pla, cosa que anul·la el propòsit de tenir un dissenyador integrat.
Els destinataris necessiten iniciar sessió a Moodle per veure les seves pròpies insígnies. Les insígnies atorgades a un alumne viuen dins de la seva pàgina de perfil de Moodle. Si ja ha acabat el curs, ha oblidat les seves credencials institucionals, o la institució ja ha desactivat el seu compte, la insígnia pràcticament desapareix des del seu punt de vista — encara que l’assertion subjacent potser encara es pugui resoldre a través del connector backpack de Moodle o de la pàgina pública d’insígnies. No existeix cap lloc dedicat, amb marca pròpia i sempre accessible on un destinatari pugui iniciar sessió només amb el seu correu i veure totes les credencials que ha obtingut en qualsevol curs.
Compartir és un afegit de darrera hora. Moodle pot enviar insígnies a un servei compatible amb Mozilla Backpack, i exposa una URL de verificació pública per a cada insígnia, però no hi ha cap flux integrat d’«Afegir a LinkedIn», ni cap botó de compartir amb un sol clic, ni cap analítica d’interacció sobre si algú ha mirat mai la insígnia després d’emetre-la. Per a programes que volen que la insígnia funcioni com a màrqueting boca-orella — bootcamps, proveïdors de formació continuada, formació corporativa — això és un cost d’oportunitat real.
Les operacions massives són feixugues. Atorgar una insígnia a tota una cohort funciona si tothom completa l’activitat activadora dins de Moodle alhora. Però si necessites reomplir insígnies per a una cohort passada, importar finalitzacions històriques des d’un full de càlcul, o emetre una insígnia per alguna cosa que ha passat totalment fora de l’LMS, acabes escrivint SQL contra la base de dades de Moodle o lluitant amb eines d’importació CSV que no es van crear específicament per a insígnies.
El patró de substitució: mantén els activadors de Moodle, canvia l’emissor
No cal migrar fora de Moodle per solucionar això. El patró més net és deixar que Moodle continuï fent allò en què és bo — fer seguiment de la finalització de cursos, la finalització d’activitats, la pertinença a cohorts — i fer que cridi l’API de Badges Ninja en el moment en què es compleix una condició de finalització, en lloc d’atorgar (o a més d’atorgar) la seva insígnia nativa.
Moodle ho admet de diverses maneres:
-
Webhook de finalització de curs / consulta (polling) dels Serveis Web (REST) de Moodle. L’API core_completion de Moodle exposa l’estat de finalització per usuari i per curs. Una tasca programada lleugera (una tasca cron programada de Moodle, o una tasca cron externa que consulti l’API REST de Moodle) pot fer polling de les inscripcions acabades de completar i, per a cadascuna, cridar l’endpoint d’atorgaments de Badges Ninja.
-
Un hook des d’un plugin local. Si tens un desenvolupador a l’equip, el sistema d’esdeveniments de Moodle (
\core\event\course_completed) pot ser observat per un petit plugin local que dispara una petició HTTP just en el moment en què es completa — sense retard de polling. -
Zapier/Make/n8n com a peça d’unió, si prefereixes no tocar el codi de Moodle — Moodle pot enviar esdeveniments de finalització a un receptor de webhooks que una eina d’automatització sense codi converteix en una crida d’atorgament.
Aquí tens la crida d’atorgament real, un cop tinguis el nom i el correu d’un usuari que ha completat el curs:
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"
}'
O en Node, dins de la tasca programada o el receptor de webhooks que estiguis fent servir:
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();
El correu del destinatari es guarda amb un hash SHA-256, l’atorgament rep automàticament una URL de verificació única, un codi QR i un certificat en PDF en A4, i — cosa fonamental — el destinatari el pot reclamar mitjançant un inici de sessió amb enllaç màgic a badges.ninja/me, sense necessitat de cap compte de Moodle separat. Consulta el format complet de la petició i la resposta a la referència de l’API d’atorgaments i a la guia d’autenticació per veure com funcionen les claus d’API d’extrem a extrem.
Si prefereixes fer-ho per lots — per exemple, reomplir tot un semestre de finalitzacions d’una tirada en lloc de connectar esdeveniments en temps real —, exporta les finalitzacions de Moodle com a CSV i utilitza directament el flux d’atorgament massiu, que admet pausa i represa per a fitxers grans. Això es tracta amb detall a com emetre Open Badges des d’un CSV.
Dissenyar la insígnia en si
Un cop la infraestructura està a punt, dissenyar la insígnia en si mateixa porta minuts, no un tiquet al teu equip web. El dissenyador visual et dona més de 80 plantilles de formes, un sistema real de paletes de colors, biblioteques d’icones i pujada de tipografies personalitzades — de manera que una insígnia per a «Advanced Statistics — Completed» pot semblar realment de la marca de la teva institució en comptes d’una icona genèrica d’assoliment de Moodle.

Cada clau d’API té un àmbit definit i es pot revocar des del mateix tauler on gestiones insígnies i emissors, de manera que donar la credencial d’integració a un desenvolupador (o a una eina d’automatització com Zapier) no significa compartir l’inici de sessió del teu compte principal.

Cara a cara: experiència del destinatari
| Insígnia nativa de Moodle | Badges Ninja | |
|---|---|---|
| On la veuen els destinataris | Dins del perfil de Moodle, cal iniciar sessió | badges.ninja/me, enllaç màgic, sense contrasenya |
| Verificació pública | Sí, URL pública per insígnia | Sí, endpoint JSON-LD d’Open Badge v2.0 |
| Eines de disseny | Icona fixa + desplaçaments de posició | Més de 80 plantilles, paletes, tipografies/icones personalitzades |
| Compartir a LinkedIn | Manual, sense botó integrat | Flux natiu d’afegir al perfil de LinkedIn |
| Emissió massiva històrica | SQL o solució manual amb CSV | Atorgament massiu integrat amb pausa/represa |
| Visibilitat d’interacció | Cap | Estadístiques de visualització/compartició per atorgament |
| Accés després de deixar la institució | Lligat a l’estat del compte de Moodle | Persistent, propietat del destinatari |
Moodle encara guanya en una cosa: si l’únic requisit és «que la insígnia existeixi, sigui tècnicament conforme a Open Badge v2.0 i visqui dins de l’LMS que l’alumne ja fa servir», les insígnies natives no costen res extra i no requereixen cap feina d’integració. El compromís apareix en el moment en què et comença a importar la qualitat del disseny, la portabilitat un cop acabat el curs, o convertir l’emissió en un senyal de captació/màrqueting — que és el cas de la majoria d’institucions, tard o d’hora.
Per a una visió més àmplia de com es comparen altres plataformes d’Open Badges en preu i funcionalitats, consulta la comparativa de la plataforma d’Open Badges més econòmica. I si la teva institució està valorant Open Badge v2.0 enfront de l’especificació més nova de credencials verificables, Open Badge v2 vs v3 explicat explica quina cal llançar realment avui.
Preparat per emetre la teva primera credencial verificable? Comença gratis a badges.ninja — dissenyador visual, pàgina de verificació pública, certificat en PDF, sortida en Open Badge v2.0. No cal targeta de crèdit.
Com es va fer aquest article
Alguns articles d'aquest blog es redacten amb l'ajuda d'un assistent d'IA i després són revisats, verificats i editats per l'equip de Badges Ninja abans de publicar-los. Cada mostra de codi i preu es verifica amb el producte real. Llegeix més sobre el nostre procés editorial i d'IA a la nostra pàgina del procés editorial .

Sobre l'autor
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.
Més de Nacho Coll
- Automatitza les Open Badges amb Zapier, Make i n8n (receptes sense codi)27 d’ag. del 2026 · 11min de lectura
- Com afegir un botó «Afegeix al perfil» de LinkedIn a les teves Open Badges20 d’ag. del 2026 · 11min de lectura
- Open Badges vs certificats en PDF: quina opció és la més adequada per al teu programa el 2026?10 d’ag. del 2026 · 7min de lectura

