Zastąp natywne Open Badges w Moodle Badges Ninja (lepszy kreator, to samo API)

Moodle oferuje natywne Open Badges, ale kreator jest ograniczony, a doświadczenie odbiorcy jest zamknięte wewnątrz Moodle. Zamiast tego wystawiaj poświadczenia Badges Ninja na podstawie ukończeń w Moodle.

Nacho Coll Autor Zaktualizowano 7 min czytania
Moodle oferuje natywne Open Badges, ale kreator jest ograniczony, a doświadczenie odbiorcy jest zamknięte wewnątrz Moodle. Zamiast tego wystawiaj poświadczenia Badges Ninja na podstawie ukończeń w Moodle.

Moodle natywnie wystawia Open Badges od wersji 2.5 i dla wielu administratorów kursów to wystarczający powód, by nigdy nie szukać niczego innego. Jest wbudowane, jest darmowe i technicznie tworzy poświadczenie zgodne ze standardami. Dlaczego więc tylu administratorów Moodle kończy sfrustrowanych, zanim wystawią pięćdziesiątą odznakę?

Szczera odpowiedź: system odznak w Moodle został zaprojektowany po to, by odhaczyć wymóg zgodności, a nie by być produktem do wystawiania poświadczeń. Działa, ale działa tak, jak działa funkcja doczepiona do LMS-a — funkcjonalnie, po staremu i w ograniczeniach narzuconych przez platformę, w której żyje. Jeśli kiedykolwiek próbowałeś sprawić, by odznaka w Moodle wyglądała inaczej niż okrągła ikonka z clipartu, albo słyszałeś, jak absolwent pyta: “czekaj, gdzie ja właściwie mogę to zobaczyć?”, już znasz ten problem.

To nie jest krytyka Moodle — to świetny LMS, a jego silnik kryteriów odznak (ukończenie kursu, ukończenie aktywności, ręczne przyznanie, przynależność do kohorty) jest naprawdę dobrze przemyślany, jeśli chodzi o wyzwalanie poświadczenia. Problem zaczyna się od tego, co dzieje się po wyzwoleniu: narzędzia projektowe, doświadczenie odbiorcy i widoczność odznaki poza twoją instancją Moodle. Dokładnie do tego został stworzony badges.ninja i wcale nie musisz rezygnować z logiki ukończeń Moodle, żeby go używać — wystarczy, że skierujesz wyzwalacz na inny silnik wystawiania.

Gdzie natywne odznaki Moodle zawodzą

Kreator to kompozytor obrazów oparty na współrzędnych, a nie narzędzie projektowe. Edytor odznak w Moodle pozwala wybrać obraz bazowy, dołożyć kilka gotowych nakładek ikon i dostosować pozycję za pomocą przesunięć w pikselach. Nie ma biblioteki kształtów, systemu palet ani wyboru czcionek poza tym, co jest wbudowane w zestaw ikon. Jeśli twoja organizacja ma markę — logo, paletę kolorów, konkretny język wizualny dla swoich certyfikatów — edytor Moodle nie jest w stanie tego wyrazić. Większość instytucji kończy na projektowaniu grafiki odznaki w Photoshopie lub Canvie i wgrywaniu płaskiego PNG-a, co niweczy sens posiadania wbudowanego kreatora w ogóle.

Odbiorcy potrzebują loginu do Moodle, żeby zobaczyć własne odznaki. Przyznane odznaki uczestnika kursu żyją na jego stronie profilu w Moodle. Jeśli skończył już kurs, zapomniał danych logowania instytucji, albo instytucja od tego czasu usunęła jego konto, odznaka jest z jego perspektywy praktycznie stracona — nawet jeśli sama asercja wciąż jest dostępna przez łącznik backpacka Moodle albo publiczną stronę odznaki. Nie ma dedykowanego, opatrzonego marką, zawsze dostępnego miejsca, gdzie odbiorca mógłby zalogować się samym adresem e-mail i zobaczyć każde poświadczenie, jakie kiedykolwiek zdobył, ze wszystkich kursów.

Udostępnianie jest tu na doczepkę. Moodle potrafi wysłać odznaki do usługi kompatybilnej z Mozilla Backpack i udostępnia publiczny adres URL weryfikacji dla każdej odznaki, ale nie ma wbudowanego przepływu “Dodaj do LinkedIn”, przycisku udostępniania jednym kliknięciem ani analityki zaangażowania pokazującej, czy ktokolwiek w ogóle spojrzał na odznakę po jej wystawieniu. Dla programów, które chcą, by odznaka działała jak marketing szeptany — bootcampy, dostawcy kształcenia ustawicznego, szkolenia firmowe — to realny koszt utraconych możliwości.

Operacje masowe są niewygodne. Przyznanie odznaki całej kohorcie działa, jeśli wszyscy ukończą wyzwalającą aktywność w Moodle w tym samym czasie. Ale jeśli musisz uzupełnić odznaki dla poprzedniej kohorty, zaimportować historyczne ukończenia z arkusza kalkulacyjnego albo wystawić odznakę za coś, co wydarzyło się całkowicie poza LMS-em, utkniesz przy pisaniu zapytań SQL do bazy danych Moodle albo walce z narzędziami do importu CSV, które nie zostały stworzone specjalnie z myślą o odznakach.

Wzorzec zastąpienia: zachowaj wyzwalacze Moodle, zmień wystawcę

Nie musisz migrować z Moodle, żeby to naprawić. Najczystszym wzorcem jest pozwolić Moodle robić to, w czym jest dobry — śledzić ukończenie kursu, ukończenie aktywności, przynależność do kohorty — i sprawić, by w momencie spełnienia warunku ukończenia wywoływał API Badges Ninja zamiast (albo obok) przyznawania własnej natywnej odznaki.

Moodle wspiera to na kilka sposobów:

  1. Webhook ukończenia kursu / odpytywanie Moodle Web Services (REST). API core_completion Moodle udostępnia stan ukończenia dla każdego użytkownika i każdego kursu. Lekkie, zaplanowane zadanie (zaplanowane zadanie cron w Moodle albo zewnętrzne zadanie cron odpytujące API REST Moodle) może sprawdzać nowo ukończone zapisania i dla każdego z nich wywołać punkt końcowy awards w Badges Ninja.

  2. Hook w lokalnej wtyczce. Jeśli masz w zespole dewelopera, system zdarzeń Moodle (\core\event\course_completed) może być obserwowany przez małą lokalną wtyczkę, która wysyła żądanie HTTP w chwili ukończenia — bez żadnego opóźnienia wynikającego z odpytywania.

  3. Zapier/Make/n8n jako spoiwo, jeśli wolisz nie ruszać kodu Moodle — Moodle może wysyłać zdarzenia ukończenia do odbiornika webhooków, który narzędzie automatyzacji no-code zamienia w wywołanie przyznania odznaki.

Oto właściwe wywołanie przyznania odznaki, gdy masz już imię i nazwisko oraz e-mail użytkownika, który ukończył kurs:

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"
  }'

Albo w Node, wewnątrz dowolnego zaplanowanego zadania czy odbiornika webhooków, które uruchamiasz:

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();

Adres e-mail odbiorcy jest przechowywany w postaci hasza SHA-256, przyznanie automatycznie otrzymuje unikalny adres URL weryfikacji, kod QR i certyfikat PDF w formacie A4, a — co kluczowe — odbiorca może je odebrać poprzez logowanie magic-link na badges.ninja/me, bez potrzeby posiadania osobnego konta Moodle. Pełny kształt żądania i odpowiedzi znajdziesz w dokumentacji API awards, a w przewodniku po uwierzytelnianiu dowiesz się, jak klucze API działają od początku do końca.

Jeśli wolisz zrobić to zbiorczo — na przykład uzupełnić ukończenia całego semestru za jednym razem zamiast podpinać zdarzenia w czasie rzeczywistym — wyeksportuj ukończenia z Moodle jako CSV i skorzystaj bezpośrednio z przepływu masowego przyznawania odznak, który obsługuje pauzę i wznowienie dla dużych plików. Szczegółowo opisano to w jak wystawiać Open Badges z pliku CSV.

Projektowanie samej odznaki

Gdy infrastruktura techniczna jest już gotowa, samo zaprojektowanie odznaki zajmuje minuty, a nie zgłoszenie do twojego zespołu web. Kreator wizualny daje ci ponad 80 szablonów kształtów, prawdziwy system palet kolorów, biblioteki ikon i wgrywanie własnych czcionek — dzięki czemu odznaka za “Statystyka zaawansowana — Ukończono” może faktycznie wyglądać, jakby należała do marki twojej instytucji, zamiast być ogólną ikoną osiągnięcia z Moodle.

API Keys — empty state

Każdy klucz API ma ograniczony zakres i można go odwołać z tego samego panelu, w którym zarządzasz odznakami i wystawcami, więc przekazanie danych integracyjnych deweloperowi (albo narzędziu automatyzacji, jak Zapier) nie oznacza udostępniania loginu do twojego głównego konta.

Create key — name form

Zestawienie: doświadczenie odbiorcy

Natywna odznaka MoodleBadges Ninja
Gdzie odbiorca ją widziWewnątrz profilu Moodle, wymaga logowaniabadges.ninja/me, magic-link, bez hasła
Weryfikacja publicznaTak, publiczny URL dla każdej odznakiTak, punkt końcowy JSON-LD Open Badge v2.0
Narzędzia projektoweStała ikona + przesunięcia pozycjiPonad 80 szablonów, palety, własne czcionki/ikony
Udostępnianie na LinkedInRęczne, brak wbudowanego przyciskuNatywny przepływ Dodaj do profilu LinkedIn
Masowe wystawianie historyczneSQL lub ręczne obejście przez CSVWbudowane masowe przyznawanie z pauzą/wznowieniem
Widoczność zaangażowaniaBrakStatystyki wyświetleń/udostępnień dla każdego przyznania
Dostęp po odejściu z instytucjiPowiązany ze stanem konta MoodleTrwały, należący do odbiorcy

Moodle wciąż wygrywa w jednej rzeczy: jeśli twoim jedynym wymogiem jest to, żeby “odznaka istniała, była technicznie zgodna z Open Badge v2.0 i żyła wewnątrz LMS-a, którego uczący się i tak już używa”, natywne odznaki nie kosztują nic dodatkowego i nie wymagają żadnej pracy integracyjnej. Kompromis ujawnia się w chwili, gdy zaczyna ci zależeć na jakości designu, przenośności po zakończeniu kursu albo na zamienieniu wystawiania w sygnał rekrutacyjno-marketingowy — a to prędzej czy później dotyczy większości instytucji.

Szersze spojrzenie na to, jak inne platformy Open Badges wypadają pod względem ceny i funkcji, znajdziesz w porównaniu najtańszych platform Open Badges. A jeśli twoja instytucja zastanawia się nad Open Badge v2.0 kontra nowszą specyfikacją weryfikowalnych poświadczeń, Open Badge v2 kontra v3 wyjaśnione omawia, którą z nich faktycznie warto wdrożyć już dziś.

Gotowy, by wystawić swoje pierwsze weryfikowalne poświadczenie? Zacznij za darmo na badges.ninja — kreator wizualny, publiczna strona weryfikacji, certyfikat PDF, wynik w formacie Open Badge v2.0. Karta kredytowa niepotrzebna.

Nacho Coll

O autorze

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.

Powrót do bloga

Powiązane artykuły