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 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 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:
-
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.
-
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. -
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.

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.

Zestawienie: doświadczenie odbiorcy
| Natywna odznaka Moodle | Badges Ninja | |
|---|---|---|
| Gdzie odbiorca ją widzi | Wewnątrz profilu Moodle, wymaga logowania | badges.ninja/me, magic-link, bez hasła |
| Weryfikacja publiczna | Tak, publiczny URL dla każdej odznaki | Tak, punkt końcowy JSON-LD Open Badge v2.0 |
| Narzędzia projektowe | Stała ikona + przesunięcia pozycji | Ponad 80 szablonów, palety, własne czcionki/ikony |
| Udostępnianie na LinkedIn | Ręczne, brak wbudowanego przycisku | Natywny przepływ Dodaj do profilu LinkedIn |
| Masowe wystawianie historyczne | SQL lub ręczne obejście przez CSV | Wbudowane masowe przyznawanie z pauzą/wznowieniem |
| Widoczność zaangażowania | Brak | Statystyki wyświetleń/udostępnień dla każdego przyznania |
| Dostęp po odejściu z instytucji | Powiązany ze stanem konta Moodle | Trwał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.
Jak powstał ten artykuł
Niektóre wpisy na tym blogu powstają z pomocą asystenta AI, a następnie są sprawdzane, weryfikowane merytorycznie i redagowane przez zespół Badges Ninja przed publikacją. Każdy przykład kodu i cena są weryfikowane względem działającego produktu. Więcej o naszym procesie redakcyjnym i wykorzystaniu AI przeczytasz na naszej stronie procesu redakcyjnego .

O autorze
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.
Więcej od Nacho Coll
- Automatyzuj Open Badges za pomocą Zapier, Make i n8n (przepisy no-code)27 sie 2026 · 9min czytania
- Jak dodać przycisk LinkedIn “Add to Profile” do swoich Open Badges20 sie 2026 · 9min czytania
- Open Badges czy certyfikaty PDF: co lepiej sprawdzi się w Twoim programie w 2026 roku?10 sie 2026 · 6min czytania

