Sustituye las Open Badges nativas de Moodle por Badges Ninja (Mejor Diseñador, Misma API)
Moodle incluye Open Badges nativas, pero el diseñador es limitado y la experiencia del destinatario queda encerrada dentro de Moodle. Emite credenciales de Badges Ninja a partir de las finalizaciones de Moodle en su lugar.
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 emite Open Badges de forma nativa desde la versión 2.5, y para muchos administradores de cursos eso ya es motivo suficiente para no mirar en otro sitio. Viene integrado, es gratuito y técnicamente produce una credencial conforme a los estándares. Entonces, ¿por qué tantos administradores de Moodle acaban frustrados cuando llegan a su quincuagésima insignia?
La respuesta honesta: el sistema de insignias de Moodle se diseñó para cumplir un requisito de compliance, no para ser un producto de credenciales. Funciona, pero funciona como funciona una característica añadida a un LMS: funcional, anticuada y limitada por las restricciones de la plataforma en la que vive. Si alguna vez has intentado que una insignia de Moodle no parezca un icono circular de clip-art, o has visto a un titulado preguntar “espera, ¿dónde veo esto exactamente?”, ya conoces el problema.
Esto no es un ataque a Moodle — es un LMS excelente y su motor de criterios de insignias (finalización de curso, finalización de actividad, concesión manual, pertenencia a cohorte) está realmente bien pensado para disparar una credencial. El problema es todo lo que ocurre después del disparador: las herramientas de diseño, la experiencia del destinatario y la visibilidad de la insignia fuera de tu instancia de Moodle. Para eso está pensado precisamente badges.ninja, y no tienes que renunciar a la lógica de finalización de Moodle para usarlo — solo apuntas el disparador hacia un motor de emisión distinto.
Dónde se quedan cortas las insignias nativas de Moodle
El diseñador es un compositor de imágenes basado en coordenadas, no una herramienta de diseño. El editor de insignias de Moodle te permite elegir una imagen base, añadir un par de superposiciones de iconos predefinidos y ajustar la posición con desplazamientos en píxeles. No hay biblioteca de formas, no hay sistema de paletas, no hay más opciones de tipografía que las incorporadas en el conjunto de iconos. Si tu organización tiene una marca — un logotipo, una paleta de colores, un lenguaje visual propio para tus certificaciones — el editor de Moodle no puede expresarlo. La mayoría de las instituciones acaban diseñando el arte de la insignia en Photoshop o Canva y subiendo un PNG plano, lo que anula el sentido de tener un diseñador integrado.
Los destinatarios necesitan iniciar sesión en Moodle para ver sus propias insignias. Las insignias concedidas a un estudiante viven dentro de su página de perfil de Moodle. Si ya ha terminado el curso, ha olvidado sus credenciales institucionales, o la institución ha dado de baja su cuenta, la insignia desaparece de facto por su lado — aunque la aserción subyacente pueda seguir resolviéndose en el conector de backpack de Moodle o en la página pública de la insignia. No existe un lugar dedicado, con marca propia y siempre accesible donde un destinatario pueda iniciar sesión solo con su correo electrónico y ver todas las credenciales que ha obtenido en todos sus cursos.
Compartir es un añadido de última hora. Moodle puede enviar insignias a un servicio compatible con Mozilla Backpack, y expone una URL de verificación pública para cada insignia, pero no hay un flujo integrado de “Añadir a LinkedIn”, ni un botón de compartir con un clic, ni analítica de interacción sobre si alguien llegó a mirar la insignia tras su emisión. Para programas que quieren que la insignia funcione como marketing boca a boca — bootcamps, proveedores de formación continua, formación corporativa — eso supone un coste de oportunidad real.
Las operaciones masivas son incómodas. Conceder una insignia a toda una cohorte funciona si todos completan la actividad que la dispara dentro de Moodle al mismo tiempo. Pero si necesitas emitir a posteriori insignias para una cohorte pasada, importar finalizaciones históricas desde una hoja de cálculo, o emitir una insignia por algo ocurrido completamente fuera del LMS, acabas escribiendo SQL contra la base de datos de Moodle o peleando con herramientas de importación de CSV que no se diseñaron específicamente para insignias.
El patrón de sustitución: conserva los disparadores de Moodle, cambia el emisor
No hace falta migrar fuera de Moodle para arreglar esto. El patrón más limpio es dejar que Moodle siga haciendo lo que hace bien — rastrear la finalización de cursos, la finalización de actividades, la pertenencia a cohortes — y hacer que llame a la API de Badges Ninja en el momento en que se dispara una condición de finalización, en lugar de (o además de) conceder su insignia nativa.
Moodle admite esto de varias formas:
-
Webhook de finalización de curso / sondeo de Moodle Web Services (REST). La API core_completion de Moodle expone el estado de finalización por usuario y por curso. Una tarea programada ligera (una tarea cron programada de Moodle, o un job cron externo que consulta la API REST de Moodle) puede sondear las matrículas recién completadas y, para cada una, llamar al endpoint de concesión de Badges Ninja.
-
Un hook de plugin local. Si cuentas con un desarrollador en plantilla, el sistema de eventos de Moodle (
\core\event\course_completed) puede ser observado por un pequeño plugin local que dispara una petición HTTP en el instante en que se produce la finalización — sin retraso de sondeo. -
Zapier/Make/n8n como pegamento, si prefieres evitar tocar el código de Moodle — Moodle puede enviar eventos de finalización a un receptor de webhook que una herramienta de automatización sin código convierte en una llamada de concesión.
Aquí tienes la llamada real de concesión, una vez que dispones del nombre y el correo de un usuario que ha completado el curso:
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, dentro de la tarea programada o el receptor de webhook que estés usando:
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 correo del destinatario se guarda con hash SHA-256 en reposo, la concesión recibe automáticamente una URL de verificación única, un código QR y un certificado en PDF A4, y — algo fundamental — el destinatario puede reclamarla mediante un inicio de sesión con enlace mágico en badges.ninja/me, sin necesidad de una cuenta de Moodle aparte. Consulta la forma completa de la solicitud/respuesta en la referencia de la API de awards y la guía de autenticación para ver cómo funcionan las claves de API de principio a fin.
Si prefieres hacerlo por lotes — por ejemplo, emitir a posteriori las finalizaciones de todo un semestre en una sola pasada en lugar de configurar eventos en tiempo real — exporta las finalizaciones de Moodle como CSV y utiliza directamente el flujo de concesión masiva, que admite pausa/reanudación para archivos grandes. Esto se trata en detalle en cómo emitir Open Badges desde un CSV.
Diseñando la insignia en sí
Una vez montada la fontanería, el diseño de la insignia en sí lleva minutos, no un ticket a tu equipo web. El diseñador visual te ofrece más de 80 plantillas de formas, un sistema real de paletas de color, bibliotecas de iconos y carga de tipografías personalizadas — para que una insignia de “Estadística Avanzada — Completado” parezca de verdad de la marca de tu institución en lugar de un icono genérico de logro de Moodle.

Cada clave de API tiene un alcance definido y es revocable desde el mismo panel donde gestionas insignias y emisores, así que entregar la credencial de integración a un desarrollador (o a una herramienta de automatización como Zapier) no supone compartir el inicio de sesión de tu cuenta principal.

Comparativa directa: experiencia del destinatario
| Insignia nativa de Moodle | Badges Ninja | |
|---|---|---|
| Dónde la ven los destinatarios | Dentro del perfil de Moodle, requiere inicio de sesión | badges.ninja/me, enlace mágico, sin contraseña |
| Verificación pública | Sí, URL pública por insignia | Sí, endpoint JSON-LD de Open Badge v2.0 |
| Herramientas de diseño | Icono fijo + desplazamientos de posición | 80+ plantillas, paletas, tipografías/iconos personalizados |
| Compartir en LinkedIn | Manual, sin botón integrado | Flujo nativo de Añadir a Perfil de LinkedIn |
| Emisión histórica masiva | SQL o solución manual con CSV | Concesión masiva integrada con pausa/reanudación |
| Visibilidad de interacción | Ninguna | Estadísticas de vistas/comparticiones por concesión |
| Acceso tras dejar la institución | Ligado al estado de la cuenta de Moodle | Persistente, propiedad del destinatario |
Moodle sigue ganando en una cosa: si tu único requisito es “la insignia existe, es técnicamente conforme a Open Badge v2.0 y vive dentro del LMS que el estudiante ya usa”, las insignias nativas no cuestan nada extra y no requieren trabajo de integración. La desventaja aparece en el momento en que te importa la calidad del diseño, la portabilidad tras finalizar el curso, o convertir la emisión en una señal de captación/marketing — que es la mayoría de las instituciones, tarde o temprano.
Para una visión más amplia de cómo se comparan otras plataformas de Open Badges en precio y funciones, consulta la comparativa de la plataforma de Open Badges más económica. Y si tu institución está valorando Open Badge v2.0 frente a la especificación más reciente de credenciales verificables, Open Badge v2 vs v3 explicado explica cuál conviene lanzar hoy en realidad.
¿Listo para emitir tu primera credencial verificable? Empieza gratis en badges.ninja — diseñador visual, página de verificación pública, certificado en PDF, salida en Open Badge v2.0. No se requiere tarjeta de crédito.
Cómo se elaboró este artículo
Algunos artículos de este blog se redactan con ayuda de un asistente de IA y luego son revisados, verificados y editados por el equipo de Badges Ninja antes de publicarse. Cada ejemplo de código y cada precio se verifican contra el producto en vivo. Más información sobre nuestro proceso editorial y de IA en nuestra página de proceso editorial .

Sobre el 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
- El mejor software de certificados digitales en 2026 (gratuito y de pago comparados)10 sept 2026 · 11min de lectura
- Automatiza los Open Badges con Zapier, Make y n8n (recetas sin código)27 ago 2026 · 11min de lectura
- Cómo añadir un botón «Añadir a tu perfil» de LinkedIn a tus Open Badges20 ago 2026 · 12min de lectura

