Замена нативных Open Badges Moodle на Badges Ninja (лучший дизайнер, тот же API)
Moodle предлагает нативные Open Badges, но дизайнер ограничен, а получатель заперт внутри Moodle. Выдавайте credentials Badges Ninja на основе завершений курсов в 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 нативно выдаёт Open Badges начиная с версии 2.5, и для многих администраторов курсов этого достаточно, чтобы никогда не искать альтернатив. Это встроенная функция, она бесплатна и технически создаёт credential, соответствующий стандарту. Так почему же столько администраторов Moodle оказываются разочарованы уже к пятидесятому выданному значку?
Честный ответ: система значков Moodle создавалась для галочки о соответствии стандарту, а не как полноценный продукт для выдачи credentials. Она работает, но работает так, как работает функция, прикрученная к LMS — функционально, устаревше и ограничена рамками платформы, в которую встроена. Если вы хоть раз пытались сделать так, чтобы значок Moodle выглядел не как круглая иконка из клипарта, или слышали от выпускника «стоп, а где мне вообще посмотреть эту штуку?» — вы уже понимаете, в чём проблема.
Это не разгромная критика Moodle — это отличная LMS, а её движок критериев для значков (завершение курса, завершение активности, ручное присвоение, членство в когорте) действительно хорошо продуман для запуска выдачи credential. Проблема — во всём, что происходит после запуска: инструменты дизайна, опыт получателя и видимость значка за пределами вашего экземпляра Moodle. Именно для этого создан badges.ninja, и вам не нужно отказываться от логики завершения курсов в Moodle, чтобы им пользоваться — достаточно просто направить триггер на другой движок выдачи.
В чём нативные значки Moodle не дотягивают
Дизайнер — это компоновщик изображений на основе координат, а не инструмент дизайна. Редактор значков Moodle позволяет выбрать базовое изображение, добавить несколько заранее заданных иконок-оверлеев и подвинуть их с помощью пиксельных смещений. Нет библиотеки форм, нет системы палитр, нет выбора шрифтов, кроме тех, что зашиты в набор иконок. Если у вашей организации есть бренд — логотип, цветовая палитра, определённый визуальный язык для сертификатов — редактор Moodle не способен это выразить. В итоге большинство учреждений рисуют дизайн значка в Photoshop или Canva и загружают плоский PNG, что сводит на нет саму идею встроенного дизайнера.
Получателям нужен логин Moodle, чтобы увидеть собственные значки. Присвоенные учащемуся значки живут внутри страницы его профиля в Moodle. Если он уже закончил курс, забыл свои институциональные учётные данные или учреждение с тех пор удалило его аккаунт, значок фактически исчезает с его стороны — даже если базовое утверждение всё ещё доступно через backpack-коннектор Moodle или публичную страницу значка. Нет отдельного, брендированного, всегда доступного места, где получатель мог бы войти просто по email и увидеть все credentials, заработанные во всех курсах.
О шеринге подумали в последнюю очередь. Moodle может отправлять значки в сервис, совместимый с Mozilla Backpack, и предоставляет публичный URL для верификации каждого значка, но встроенного потока «Добавить в LinkedIn» нет, кнопки шеринга в один клик нет, и аналитики вовлечённости — смотрел ли кто-нибудь значок после выдачи — тоже нет. Для программ, которым важно, чтобы значок работал как сарафанное радио — буткемпы, поставщики непрерывного образования, корпоративное обучение — это реальная упущенная выгода.
Массовые операции неудобны. Присвоение значка целой когорте работает, если все завершают триггерную активность в Moodle одновременно. Но если нужно задним числом выдать значки прошлой когорте, импортировать исторические завершения из таблицы или выдать значок за что-то, что произошло вообще вне LMS, придётся писать SQL-запросы к базе Moodle или бороться с инструментами импорта CSV, которые не были созданы специально для значков.
Паттерн замены: оставьте триггеры Moodle, смените издателя
Вам не нужно мигрировать с Moodle, чтобы это исправить. Самый чистый паттерн — позволить Moodle и дальше делать то, что у неё хорошо получается: отслеживать завершение курса, завершение активности, членство в когорте — и заставить её вызывать API Badges Ninja в момент срабатывания условия завершения, вместо (или вместе с) выдачи нативного значка.
Moodle поддерживает это несколькими способами:
-
Webhook завершения курса / опрос Moodle Web Services (REST). API core_completion в Moodle предоставляет статус завершения для каждого пользователя по каждому курсу. Лёгкая запланированная задача (запланированная cron-задача Moodle или внешнее cron-задание, обращающееся к REST API Moodle) может опрашивать новые завершённые зачисления и для каждого вызывать эндпоинт наград Badges Ninja.
-
Хук локального плагина. Если у вас есть разработчик в штате, систему событий Moodle (
\core\event\course_completed) может отслеживать небольшой локальный плагин, который отправляет HTTP-запрос в момент завершения — без задержки на опрос. -
Zapier/Make/n8n в качестве связующего звена, если вы предпочитаете не трогать код Moodle — Moodle может отправлять события завершения на webhook-приёмник, который no-code инструмент автоматизации превращает в вызов выдачи награды.
Вот сам вызов выдачи награды, когда у вас есть имя и email завершившего курс пользователя:
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"
}'
Или на Node, внутри той же запланированной задачи или webhook-приёмника, который вы используете:
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();
Email получателя хешируется по SHA-256 при хранении, награда автоматически получает уникальный URL для верификации, QR-код и сертификат в формате PDF A4, и — что критически важно — получатель может подтвердить получение через вход по magic-link на badges.ninja/me, без отдельного аккаунта Moodle. Полную структуру запроса и ответа смотрите в справочнике по API наград и в руководстве по аутентификации о том, как работают API-ключи от начала до конца.
Если вы предпочитаете обрабатывать это пакетно — скажем, задним числом внести завершения за целый семестр за один проход вместо настройки событий в реальном времени — экспортируйте завершения из Moodle в CSV и используйте функцию массовой выдачи наград напрямую, которая поддерживает паузу/возобновление для больших файлов. Подробнее об этом — в статье как выдавать Open Badges из CSV.
Дизайн самого значка
Как только связка настроена, сам дизайн значка занимает минуты, а не заявку в вашу веб-команду. Визуальный дизайнер даёт вам более 80 шаблонов форм, полноценную систему цветовых палитр, библиотеки иконок и загрузку собственных шрифтов — так что значок «Продвинутая статистика — завершено» может действительно выглядеть частью бренда вашего учреждения, а не общей иконкой достижения Moodle.

Каждый API-ключ ограничен по области действия и может быть отозван из той же панели, где вы управляете значками и издателями, так что передача учётных данных для интеграции разработчику (или инструменту автоматизации вроде Zapier) не означает предоставление доступа к вашему основному аккаунту.

Сравнение: опыт получателя
| Нативный значок Moodle | Badges Ninja | |
|---|---|---|
| Где получатели его видят | Внутри профиля Moodle, требуется вход | badges.ninja/me, magic-link, без пароля |
| Публичная верификация | Да, публичный URL для каждого значка | Да, эндпоинт Open Badge v2.0 JSON-LD |
| Инструменты дизайна | Фиксированная иконка + смещения позиции | 80+ шаблонов, палитры, собственные шрифты/иконки |
| Шеринг в LinkedIn | Вручную, встроенной кнопки нет | Нативный поток Add-to-LinkedIn-Profile |
| Массовая историческая выдача | SQL или ручной обходной путь через CSV | Встроенная массовая выдача с паузой/возобновлением |
| Видимость вовлечённости | Отсутствует | Статистика просмотров/шеринга по каждой награде |
| Доступ после ухода из учреждения | Привязан к статусу аккаунта Moodle | Постоянный, принадлежит получателю |
Moodle всё же выигрывает в одном: если ваше единственное требование — «значок существует, технически соответствует Open Badge v2.0 и живёт внутри той же LMS, которой учащийся уже пользуется» — нативные значки не стоят ничего дополнительно и не требуют интеграции. Компромисс проявляется в тот момент, когда вам становится важно качество дизайна, портируемость после окончания курса или превращение выдачи credentials в сигнал для найма/маркетинга — а это рано или поздно важно почти для всех учреждений.
Более широкий обзор того, как другие платформы Open Badges сравниваются по цене и функциям, смотрите в сравнении самых дешёвых платформ Open Badges. А если ваше учреждение выбирает между Open Badge v2.0 и более новым стандартом verifiable credentials, статья Open Badge v2 против v3 объяснение расскажет, какой из них стоит внедрять уже сегодня.
Готовы выдать свой первый проверяемый credential? Начните бесплатно на badges.ninja — визуальный дизайнер, публичная страница верификации, PDF-сертификат, вывод в формате Open Badge v2.0. Банковская карта не требуется.
Как создана эта статья
Некоторые статьи в этом блоге готовятся с помощью ИИ-ассистента, а затем проверяются, сверяются с фактами и редактируются командой Badges Ninja перед публикацией. Каждый пример кода и цена проверены на актуальном продукте. Подробнее о нашем редакционном процессе и работе с ИИ читайте на странице редакционного процесса .

Об авторе
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.
Ещё от Nacho Coll
- Лучшее программное обеспечение для цифровых сертификатов в 2026 году (бесплатные и платные варианты)10 сент. 2026 г. · 9мин чтения
- Автоматизация Open Badges с помощью Zapier, Make и n8n (no-code рецепты)27 авг. 2026 г. · 9мин чтения
- Как добавить кнопку LinkedIn «Добавить в профиль» к вашим Open Badges20 авг. 2026 г. · 9мин чтения

