ไทย
ไทย
Appearance
ไทย
ไทย
Appearance
endpoint เหล่านี้เป็นแบบสาธารณะและไม่ต้องยืนยันตัวตน ทำให้ทุกคนสามารถตรวจสอบข้อมูลรับรองของตราสัญลักษณ์ดิจิทัลและเรียกดูข้อมูล JSON ของ Open Badge v2.0 ได้
endpoint ทั้งหมดอ้างอิงจาก https://api.badges.ninja
ดึงข้อมูล JSON โปรไฟล์ผู้ออกตามมาตรฐาน Open Badge v2.0 ของผู้ออกที่ระบุ
GET /certify-badge/issuer/{guid}curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890{
"@context": "https://w3id.org/openbadges/v2",
"type": "Issuer",
"id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com",
"verification": {
"type": "hosted",
"allowedOrigins": "api.badges.ninja"
}
}ดึงข้อมูล JSON BadgeClass ตามมาตรฐาน Open Badge v2.0 ของตราสัญลักษณ์ดิจิทัลที่ระบุ
GET /certify-badge/badge/{guid}curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901{
"@context": "https://w3id.org/openbadges/v2",
"type": "BadgeClass",
"id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"name": "JavaScript Fundamentals",
"description": "Demonstrates proficiency in core JavaScript concepts",
"criteria": {
"narrative": "Completed the JavaScript Fundamentals course with a score of 80% or higher"
},
"image": "https://badges.ninja/images/{sha256}.png",
"issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}ดึงข้อมูล JSON Assertion ตามมาตรฐาน Open Badge v2.0 ของข้อมูลรับรองที่ระบุ
GET /certify-badge/award/{guid}curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012{
"@context": "https://w3id.org/openbadges/v2",
"type": "Assertion",
"id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
"recipient": {
"type": "email",
"hashed": true,
"identity": "sha256$..."
},
"badge": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"issuedOn": "2025-01-15T00:00:00.000Z",
"verification": {
"type": "hosted"
},
"revoked": false
}หากข้อมูลรับรองถูกเพิกถอน assertion จะมี "revoked": true และหากมีการระบุเหตุผล จะมีสตริง "revocationReason" ด้วย:
{
"revoked": true,
"revocationReason": "Issued in error"
}นี่คือมุมมองการเพิกถอนตาม Open Badges 2.0 การเพิกถอนเดียวกันนี้ยังแสดงอยู่ใน Verifiable Credential แบบ Open Badges 3.0 ของข้อมูลรับรองด้วย ดู การเพิกถอน (Bitstring Status List)
Cache-Control: public, max-age=300) ส่วนข้อมูลรับรองที่ถูกเพิกถอนจะใช้แคชที่สั้นกว่าคือ 30 วินาที (max-age=30) เพื่อให้การเพิกถอนมีผลอย่างรวดเร็วดึงข้อความแชร์ที่กำหนดเองของตราสัญลักษณ์ดิจิทัลในข้อมูลรับรอง
GET /certify-badge/award/{guid}/share-textcurl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text{
"text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}หากไม่ได้ตั้งข้อความแชร์ที่กำหนดเอง ระบบจะส่งข้อความเริ่มต้นกลับมา
ส่งอีเมลแจ้งเตือนข้อมูลรับรองจาก endpoint สาธารณะ ใช้โดยหน้าแชร์สาธารณะ
POST /certify-badge/award/{guid}/send-email| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
recipients | string | ใช่ | รายการที่อยู่อีเมลคั่นด้วยเครื่องหมายจุลภาค |
message | string | ไม่ | ข้อความที่กำหนดเองเพื่อแนบในอีเมล |
curl -X POST https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/send-email \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"recipients": "colleague@example.com",
"message": "Check out this badge!"
}
}'{
"statusCode": 200,
"info": "award sent"
}นี่คือ endpoint เดียว ที่ห่อผลลัพธ์ไว้ในซอง
{ "statusCode", "info" }endpoint อื่นทั้งหมดจะส่งข้อมูลกลับมาโดยตรง
ตรวจสอบผู้ออกโดยคลิกลิงก์ตรวจสอบที่ส่งไปยังอีเมลของผู้ออก โดยปกติจะเข้าถึงผ่านลิงก์ในอีเมลตรวจสอบ ไม่ได้เรียกใช้โดยตรง
GET /certify-badge/verify-issuer/{guid}/{code}| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
guid | string | GUID ของผู้ออก |
code | string | รหัสตรวจสอบ |
ส่งคืนหน้า HTML ที่ยืนยันว่าการตรวจสอบสำเร็จหรือล้มเหลว endpoint นี้ออกแบบมาให้เปิดในเบราว์เซอร์