Заміна нативних Open Badges Moodle на Badges Ninja (кращий редактор дизайну, той самий API)
Moodle пропонує нативні Open Badges, але редактор дизайну обмежений, а досвід отримувача замкнений усередині Moodle. Натомість видавайте посвідчення 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, і для багатьох адміністраторів курсів цього достатньо, щоб ніколи не шукати нічого іншого. Це вбудована функція, вона безкоштовна і технічно створює посвідчення, що відповідає стандартам. То чому ж так багато адміністраторів Moodle зрештою розчаровуються ще до того, як видадуть свій п’ятдесятий значок?
Чесна відповідь: система значків Moodle була створена для того, щоб поставити галочку у графі відповідності вимогам, а не бути повноцінним продуктом для видачі посвідчень. Вона працює, але працює так, як працює функція, приліплена до LMS, — функціонально, застаріло і обмежено рамками платформи, в якій вона живе. Якщо ви колись намагалися зробити так, щоб значок Moodle виглядав не як кругла іконка з кліпарту, або чули, як випускник запитує: «зачекайте, а де я взагалі можу це побачити?» — ви вже знаєте, в чому проблема.
Це не критика Moodle — це чудова LMS, і її механізм критеріїв для значків (завершення курсу, завершення активності, ручне присвоєння, належність до когорти) справді добре продуманий для запуску видачі посвідчення. Проблема в усьому, що відбувається після цього запуску: інструменти дизайну, досвід отримувача та видимість значка за межами вашого екземпляра Moodle. Саме для цього і створено badges.ninja, і вам не потрібно відмовлятися від логіки завершень Moodle, щоб ним користуватися — достатньо просто спрямувати тригер на інший рушій видачі.
У чому нативні значки Moodle не дотягують
Редактор дизайну — це компонувальник зображень на основі координат, а не інструмент дизайну. Редактор значків Moodle дозволяє вибрати базове зображення, додати кілька заздалегідь заданих накладок-іконок і налаштувати позицію за допомогою зсувів у пікселях. Немає бібліотеки форм, немає системи палітр, немає вибору шрифтів, окрім тих, що вже вбудовані в набір іконок. Якщо у вашої організації є власний бренд — логотип, кольорова палітра, специфічна візуальна мова для сертифікатів — редактор Moodle не здатний це відобразити. Більшість установ зрештою розробляють дизайн значка в Photoshop або Canva і завантажують плоский PNG, що зводить нанівець саму ідею вбудованого редактора дизайну.
Отримувачам потрібен логін Moodle, щоб побачити власні значки. Присвоєні студенту значки живуть на його сторінці профілю в Moodle. Якщо він уже закінчив курс, забув свої облікові дані установи, або установа згодом деактивувала його обліковий запис, значок фактично зникає для нього — навіть якщо базове твердження (assertion) все ще можна отримати через конектор бекпака Moodle або публічну сторінку значка. Немає окремого, брендованого, завжди доступного місця, де отримувач міг би увійти лише за допомогою своєї електронної пошти й побачити кожне посвідчення, яке він коли-небудь отримав у всіх курсах.
Про поширення подумали в останню чергу. Moodle може надсилати значки до сервісу, сумісного з Mozilla Backpack, і надає публічну URL-адресу для перевірки кожного значка, але не має вбудованого сценарію «Додати до LinkedIn», кнопки поширення в один клік чи аналітики залученості щодо того, чи взагалі хтось дивився на значок після його видачі. Для програм, які хочуть, щоб значок працював як маркетинг із вуст в уста — буткемпи, провайдери безперервної освіти, корпоративні тренінги — це реальна втрачена можливість.
Масові операції незручні. Присвоєння значка цілій когорті працює, якщо всі одночасно завершують активність-тригер у Moodle. Але якщо потрібно ретроактивно видати значки минулій когорті, імпортувати історичні завершення з електронної таблиці або видати значок за щось, що сталося повністю поза межами LMS, ви застрягнете, пишучи SQL-запити до бази даних Moodle або воюючи з інструментами імпорту CSV, які не були створені спеціально для значків.
Модель заміни: залиште тригери Moodle, змініть емітента
Щоб виправити це, не обов’язково переходити з Moodle на іншу платформу. Найчистіша модель — дозволити Moodle й надалі робити те, в чому вона хороша, — відстежувати завершення курсу, завершення активності, належність до когорти — і змусити її викликати API Badges Ninja в момент спрацювання умови завершення, замість (або поряд із) присвоєння власного нативного значка.
Moodle підтримує це кількома способами:
-
Вебхук завершення курсу / опитування Moodle Web Services (REST). API core_completion у Moodle надає стан завершення для кожного користувача в кожному курсі. Легке заплановане завдання (запланована cron-задача Moodle або зовнішнє cron-завдання, що звертається до REST API Moodle) може опитувати щойно завершені зарахування і для кожного з них викликати ендпоінт awards у Badges Ninja.
-
Хук через локальний плагін. Якщо у вас у штаті є розробник, за системою подій Moodle (
\core\event\course_completed) може спостерігати невеликий локальний плагін, який надсилає HTTP-запит миттєво в момент завершення — без жодної затримки на опитування. -
Zapier/Make/n8n як сполучна ланка, якщо ви волієте не торкатися коду Moodle — Moodle може надсилати події завершення до приймача вебхуків, який інструмент no-code автоматизації перетворює на виклик присвоєння значка.
Ось і сам виклик присвоєння значка, коли у вас уже є ім’я та електронна пошта користувача, який завершив курс:
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, всередині будь-якого запланованого завдання чи приймача вебхуків, який ви запускаєте:
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();
Електронна пошта отримувача зберігається у вигляді хешу SHA-256, присвоєння автоматично отримує унікальну URL-адресу для перевірки, QR-код і сертифікат у форматі PDF A4, і — що найважливіше — отримувач може підтвердити його через вхід за magic-link на badges.ninja/me, без потреби в окремому обліковому записі Moodle. Повну структуру запиту й відповіді дивіться в довіднику API awards, а в посібнику з автентифікації — як API-ключі працюють від початку до кінця.
Якщо ви волієте зробити це пакетно — наприклад, ретроактивно обробити завершення за весь семестр за один прохід замість налаштування подій у реальному часі — експортуйте завершення з Moodle у форматі CSV і скористайтеся безпосередньо потоком масового присвоєння значків, який підтримує паузу й відновлення для великих файлів. Детально це описано в як видавати Open Badges з CSV.
Дизайн самого значка
Коли технічна частина вже налаштована, сам дизайн значка займає лічені хвилини, а не заявку до вашої веб-команди. Візуальний редактор дизайну дає вам понад 80 шаблонів форм, повноцінну систему кольорових палітр, бібліотеки іконок і можливість завантажити власний шрифт — тож значок за «Просунута статистика — завершено» може справді виглядати так, ніби належить до бренду вашої установи, а не як загальна іконка досягнення Moodle.

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

Порівняння: досвід отримувача
| Нативний значок Moodle | Badges Ninja | |
|---|---|---|
| Де отримувач його переглядає | У профілі Moodle, потрібен вхід | badges.ninja/me, magic-link, без пароля |
| Публічна верифікація | Так, публічна URL-адреса для кожного значка | Так, ендпоінт JSON-LD Open Badge v2.0 |
| Інструменти дизайну | Фіксована іконка + зсуви позиції | Понад 80 шаблонів, палітри, власні шрифти/іконки |
| Поширення в LinkedIn | Вручну, без вбудованої кнопки | Нативний сценарій «Додати до профілю LinkedIn» |
| Масова історична видача | SQL або ручний обхідний шлях через CSV | Вбудоване масове присвоєння з паузою/відновленням |
| Видимість залученості | Немає | Статистика переглядів/поширень для кожного присвоєння |
| Доступ після виходу з установи | Прив’язаний до статусу облікового запису Moodle | Постійний, належить отримувачу |
Moodle все ж перемагає в одному: якщо ваша єдина вимога — щоб «значок існував, технічно відповідав Open Badge v2.0 і жив усередині LMS, якою учень і так уже користується», нативні значки не коштують нічого додатково і не вимагають жодної інтеграційної роботи. Компроміс проявляється в той момент, коли вам стає важливою якість дизайну, портативність після завершення курсу або перетворення видачі на сигнал для рекрутингу чи маркетингу — а зрештою це стосується більшості установ.
Ширший огляд того, як інші платформи Open Badges порівнюються за ціною та функціями, дивіться в порівнянні найдешевших платформ Open Badges. А якщо ваша установа зважує Open Badge v2.0 проти новішої специфікації верифікованих посвідчень, Open Badge v2 проти v3: пояснення розповідає, яку з них насправді варто впроваджувати вже сьогодні.
Готові видати своє перше верифіковане посвідчення? Почніть безкоштовно на 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
- Автоматизуйте Open Badges за допомогою Zapier, Make та n8n (no-code рецепти)27 серп. 2026 р. · 9хв читання
- Як додати кнопку LinkedIn «Додати до профілю» до ваших Open Badges20 серп. 2026 р. · 9хв читання
- Open Badges проти PDF-сертифікатів: що підходить для вашої програми в 2026 році?10 серп. 2026 р. · 6хв читання

