แทนที่ 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 ของเขา ถ้าเขาเรียนจบคอร์สไปแล้ว ลืมข้อมูลล็อกอินของสถาบัน หรือสถาบันยกเลิกบัญชีของเขาไปแล้ว ตราสัญลักษณ์นั้นก็แทบจะหายไปจากมุมมองของเขาเลย ถึงแม้ว่าข้อมูลยืนยันที่อยู่เบื้องหลังอาจยังเรียกดูได้ผ่านตัวเชื่อมต่อ backpack ของ Moodle หรือหน้าตราสัญลักษณ์สาธารณะก็ตาม ไม่มีพื้นที่เฉพาะที่มีแบรนด์ของตัวเองและเข้าถึงได้ตลอดเวลา ที่ผู้รับจะสามารถล็อกอินด้วยแค่อีเมลแล้วเห็นใบรับรองทุกใบที่เคยได้รับจากทุกคอร์สในที่เดียว
การแชร์เป็นแค่เรื่องรอง Moodle สามารถส่งตราสัญลักษณ์ไปยังบริการที่รองรับ Mozilla Backpack ได้ และมี URL สำหรับตรวจสอบสาธารณะให้แต่ละตราสัญลักษณ์ แต่ไม่มีระบบเพิ่มลงใน LinkedIn ในตัว ไม่มีปุ่มแชร์แบบคลิกเดียว และไม่มีข้อมูลวิเคราะห์การมีส่วนร่วมว่ามีใครดูตราสัญลักษณ์นั้นหลังจากออกไปแล้วบ้าง สำหรับโปรแกรมที่ต้องการให้ตราสัญลักษณ์ทำหน้าที่เหมือนการตลาดแบบปากต่อปาก เช่น bootcamp ผู้ให้บริการการศึกษาต่อเนื่อง หรือการฝึกอบรมในองค์กร นี่คือโอกาสที่เสียไปจริง ๆ
การทำงานแบบกลุ่มยังเทอะทะ การมอบตราสัญลักษณ์ให้ทั้งกลุ่มพร้อมกันจะได้ผลก็ต่อเมื่อทุกคนทำกิจกรรมที่เป็นตัวกระตุ้นใน Moodle เสร็จในเวลาเดียวกัน แต่ถ้าคุณต้องย้อนออกตราสัญลักษณ์ให้กลุ่มที่เรียนจบไปแล้ว นำเข้าประวัติการเรียนจบจากสเปรดชีต หรือออกตราสัญลักษณ์สำหรับเหตุการณ์ที่เกิดขึ้นนอกระบบ LMS ทั้งหมด คุณก็จะต้องไปเขียนคำสั่ง SQL กับฐานข้อมูลของ Moodle เอง หรือสู้กับเครื่องมือนำเข้า CSV ที่ไม่ได้ถูกออกแบบมาเพื่อตราสัญลักษณ์โดยเฉพาะ
รูปแบบการแทนที่ คงตัวกระตุ้นของ Moodle ไว้ แต่เปลี่ยนผู้ออก
คุณไม่จำเป็นต้องย้ายออกจาก Moodle เพื่อแก้ปัญหานี้ วิธีที่สะอาดที่สุดคือปล่อยให้ Moodle ทำสิ่งที่มันถนัดต่อไป เช่น ติดตามการเรียนจบคอร์ส การทำกิจกรรมเสร็จ และการเป็นสมาชิกกลุ่ม แล้วให้มันเรียก API ของ Badges Ninja ทันทีที่เงื่อนไขการเรียนจบเกิดขึ้น แทนที่จะมอบตราสัญลักษณ์เนทีฟของมันเอง หรือมอบควบคู่กันไปก็ได้
Moodle รองรับแนวทางนี้ได้หลายวิธี
-
เว็บฮุกการเรียนจบคอร์ส หรือการ polling ผ่าน Moodle Web Services (REST) API core_completion ของ Moodle เปิดให้ดูสถานะการเรียนจบของผู้ใช้แต่ละคนในแต่ละคอร์สได้ งานตามกำหนดเวลาแบบเบา ๆ ไม่ว่าจะเป็นงาน cron ที่ตั้งไว้ใน Moodle เอง หรืองาน cron ภายนอกที่เรียก REST API ของ Moodle สามารถคอยตรวจสอบการลงทะเบียนที่เพิ่งเรียนจบ แล้วเรียก endpoint awards ของ Badges Ninja สำหรับแต่ละรายการได้
-
ฮุกผ่านปลั๊กอินภายใน ถ้าคุณมีนักพัฒนาในทีม ระบบ event ของ Moodle (
\core\event\course_completed) สามารถถูกดักฟังโดยปลั๊กอินเล็ก ๆ ที่ยิงคำขอ HTTP ทันทีที่เกิดการเรียนจบ โดยไม่มีความล่าช้าจากการ polling เลย -
Zapier/Make/n8n เป็นตัวเชื่อม ถ้าคุณอยากหลีกเลี่ยงการแตะโค้ดของ Moodle เลย Moodle สามารถส่งเหตุการณ์การเรียนจบไปยังตัวรับเว็บฮุก แล้วให้เครื่องมืออัตโนมัติแบบ no-code แปลงมันเป็นการเรียกมอบตราสัญลักษณ์ได้
นี่คือการเรียก API มอบตราสัญลักษณ์จริง เมื่อคุณมีชื่อและอีเมลของผู้ใช้ที่เรียนจบแล้ว
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 สำหรับตรวจสอบเฉพาะตัว คิวอาร์โค้ด และใบรับรอง PDF ขนาด A4 ให้โดยอัตโนมัติ และที่สำคัญคือ ผู้รับสามารถกดรับได้ผ่านการล็อกอินแบบ magic-link ที่ badges.ninja/me โดยไม่ต้องมีบัญชี Moodle แยกต่างหากเลย ดูรูปแบบ request และ response แบบเต็มได้ที่ เอกสารอ้างอิง API awards และดู คู่มือการยืนยันตัวตน เพื่อทำความเข้าใจว่า API key ทำงานอย่างไรตั้งแต่ต้นจนจบ
ถ้าคุณอยากทำแบบเป็นชุดแทน เช่น ย้อนออกตราสัญลักษณ์ให้การเรียนจบของทั้งเทอมในครั้งเดียว แทนที่จะเชื่อมต่อเหตุการณ์แบบเรียลไทม์ ก็สามารถส่งออกข้อมูลการเรียนจบจาก Moodle เป็นไฟล์ CSV แล้วใช้ขั้นตอนมอบตราสัญลักษณ์แบบกลุ่มได้โดยตรง ซึ่งรองรับการหยุดชั่วคราวและทำต่อสำหรับไฟล์ขนาดใหญ่ได้ด้วย เรื่องนี้อธิบายไว้ละเอียดใน วิธีออก Open Badges จากไฟล์ CSV
การออกแบบตัวตราสัญลักษณ์เอง
เมื่อวางระบบเชื่อมต่อทุกอย่างเรียบร้อยแล้ว การออกแบบตราสัญลักษณ์จริง ๆ ใช้เวลาแค่ไม่กี่นาที ไม่ต้องเปิดตั๋วงานให้ทีมเว็บเลย เครื่องมือออกแบบเชิงภาพให้เทมเพลตรูปทรงมากกว่า 80 แบบ ระบบจานสีจริง ๆ คลังไอคอน และการอัปโหลดฟอนต์ของตัวเอง ทำให้ตราสัญลักษณ์สำหรับ Advanced Statistics — Completed ดูเป็นส่วนหนึ่งของแบรนด์สถาบันคุณได้จริง แทนที่จะเป็นไอคอนความสำเร็จทั่วไปของ Moodle

API key แต่ละตัวถูกจำกัดขอบเขตและสามารถเพิกถอนได้จากแดชบอร์ดเดียวกับที่คุณใช้จัดการตราสัญลักษณ์และผู้ออก ดังนั้นการมอบข้อมูลรับรองสำหรับเชื่อมต่อให้นักพัฒนา หรือเครื่องมืออัตโนมัติอย่าง Zapier จึงไม่ได้หมายความว่าคุณต้องแชร์ล็อกอินบัญชีหลักของคุณเลย

เทียบกันชัด ๆ ประสบการณ์ของผู้รับ
| ตราสัญลักษณ์เนทีฟของ Moodle | Badges Ninja | |
|---|---|---|
| ผู้รับดูได้จากที่ไหน | อยู่ในโปรไฟล์ Moodle ต้องล็อกอิน | badges.ninja/me แบบ magic-link ไม่ต้องใช้รหัสผ่าน |
| การตรวจสอบสาธารณะ | มี URL สาธารณะต่อตราสัญลักษณ์หนึ่งใบ | มี endpoint แบบ JSON-LD ของ Open Badge v2.0 |
| เครื่องมือออกแบบ | ไอคอนคงที่ + ค่าออฟเซตตำแหน่ง | เทมเพลตกว่า 80 แบบ จานสี ฟอนต์/ไอคอนกำหนดเอง |
| การแชร์ไป LinkedIn | ต้องทำเอง ไม่มีปุ่มในตัว | มีขั้นตอนเพิ่มลงโปรไฟล์ LinkedIn ในตัว |
| การออกย้อนหลังแบบกลุ่ม | ต้องใช้ SQL หรือ workaround CSV เอง | มีระบบมอบแบบกลุ่มในตัว พร้อมหยุด/ทำต่อได้ |
| การมองเห็นการมีส่วนร่วม | ไม่มี | มีสถิติการดู/แชร์ต่อการมอบแต่ละครั้ง |
| การเข้าถึงหลังออกจากสถาบัน | ผูกกับสถานะบัญชี Moodle | คงอยู่ถาวร เป็นของผู้รับเอง |
Moodle ยังชนะในเรื่องเดียวคือ ถ้าสิ่งที่คุณต้องการมีแค่ ตราสัญลักษณ์มีอยู่จริง เป็นไปตามมาตรฐาน Open Badge v2.0 ในทางเทคนิค และอยู่ในระบบ LMS ที่ผู้เรียนใช้อยู่แล้ว ตราสัญลักษณ์เนทีฟก็ไม่มีค่าใช้จ่ายเพิ่มเติมและไม่ต้องเชื่อมต่อระบบอะไรเลย แต่ข้อแลกเปลี่ยนจะปรากฏขึ้นทันทีที่คุณเริ่มใส่ใจเรื่องคุณภาพการออกแบบ ความสามารถในการพกพาข้อมูลไปใช้หลังจบคอร์ส หรือการเปลี่ยนการออกใบรับรองให้เป็นสัญญาณด้านการสรรหาบุคลากรหรือการตลาด ซึ่งสุดท้ายแล้วก็เป็นสิ่งที่สถาบันส่วนใหญ่ต้องเจอ
ถ้าอยากเห็นภาพกว้างขึ้นว่าแพลตฟอร์ม Open Badges เจ้าอื่นเทียบกันอย่างไรทั้งด้านราคาและฟีเจอร์ ดูได้ที่ บทเปรียบเทียบแพลตฟอร์ม Open Badges ที่ถูกที่สุด และถ้าสถาบันของคุณกำลังชั่งใจระหว่าง Open Badge v2.0 กับสเปกใหม่อย่าง verifiable credentials บทความ อธิบาย Open Badge v2 เทียบกับ v3 จะบอกว่าตัวไหนเหมาะจะใช้จริงในตอนนี้
พร้อมออกใบรับรองที่ตรวจสอบได้ใบแรกของคุณหรือยัง เริ่มต้นใช้งานฟรีที่ badges.ninja พร้อมเครื่องมือออกแบบเชิงภาพ หน้าตรวจสอบสาธารณะ ใบรับรอง PDF และผลลัพธ์แบบ Open Badge v2.0 ไม่ต้องใช้บัตรเครดิต
บทความนี้จัดทำขึ้นอย่างไร
บางบทความในบล็อกนี้ร่างขึ้นด้วยความช่วยเหลือของผู้ช่วย AI จากนั้นทีมงาน Badges Ninja จะตรวจสอบ ยืนยันข้อเท็จจริง และแก้ไขก่อนเผยแพร่ ตัวอย่างโค้ดและราคาทุกรายการได้รับการตรวจสอบกับผลิตภัณฑ์จริง อ่านเพิ่มเติมเกี่ยวกับกระบวนการด้านบรรณาธิการและ AI ของเราได้ที่ หน้ากระบวนการด้านบรรณาธิการ .

เกี่ยวกับผู้เขียน
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.

