Skip to content

การตรวจสอบสาธารณะ ​

endpoint เหล่านี้เป็นแบบสาธารณะและไม่ต้องยืนยันตัวตน ทำให้ทุกคนสามารถตรวจสอบข้อมูลรับรองของตราสัญลักษณ์ดิจิทัลและเรียกดูข้อมูล JSON ของ Open Badge v2.0 ได้

endpoint ทั้งหมดอ้างอิงจาก https://api.badges.ninja

ดึงข้อมูลผู้ออก ​

ดึงข้อมูล JSON โปรไฟล์ผู้ออกตามมาตรฐาน Open Badge v2.0 ของผู้ออกที่ระบุ

GET /certify-badge/issuer/{guid}

ตัวอย่าง ​

bash
curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890

การตอบกลับ ​

json
{
  "@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}

ตัวอย่าง ​

bash
curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901

การตอบกลับ ​

json
{
  "@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}

ตัวอย่าง ​

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012

การตอบกลับ ​

json
{
  "@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" ด้วย:

json
{
  "revoked": true,
  "revocationReason": "Issued in error"
}

นี่คือมุมมองการเพิกถอนตาม Open Badges 2.0 การเพิกถอนเดียวกันนี้ยังแสดงอยู่ใน Verifiable Credential แบบ Open Badges 3.0 ของข้อมูลรับรองด้วย ดู การเพิกถอน (Bitstring Status List)

หมายเหตุ ​

  • อีเมลของผู้รับถูกแฮช (SHA-256) เพื่อความเป็นส่วนตัว ตามข้อกำหนดของ Open Badge
  • การตอบกลับถูกแคชไว้ 5 นาที (Cache-Control: public, max-age=300) ส่วนข้อมูลรับรองที่ถูกเพิกถอนจะใช้แคชที่สั้นกว่าคือ 30 วินาที (max-age=30) เพื่อให้การเพิกถอนมีผลอย่างรวดเร็ว

ดึงข้อความแชร์ของข้อมูลรับรอง ​

ดึงข้อความแชร์ที่กำหนดเองของตราสัญลักษณ์ดิจิทัลในข้อมูลรับรอง

GET /certify-badge/award/{guid}/share-text

ตัวอย่าง ​

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text

การตอบกลับ ​

json
{
  "text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}

หากไม่ได้ตั้งข้อความแชร์ที่กำหนดเอง ระบบจะส่งข้อความเริ่มต้นกลับมา


ส่งอีเมลข้อมูลรับรอง (สาธารณะ) ​

ส่งอีเมลแจ้งเตือนข้อมูลรับรองจาก endpoint สาธารณะ ใช้โดยหน้าแชร์สาธารณะ

POST /certify-badge/award/{guid}/send-email

พารามิเตอร์ ​

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
recipientsstringใช่รายการที่อยู่อีเมลคั่นด้วยเครื่องหมายจุลภาค
messagestringไม่ข้อความที่กำหนดเองเพื่อแนบในอีเมล

ตัวอย่าง ​

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

การตอบกลับ ​

json
{
  "statusCode": 200,
  "info": "award sent"
}

นี่คือ endpoint เดียว ที่ห่อผลลัพธ์ไว้ในซอง { "statusCode", "info" } endpoint อื่นทั้งหมดจะส่งข้อมูลกลับมาโดยตรง


ตรวจสอบผู้ออก ​

ตรวจสอบผู้ออกโดยคลิกลิงก์ตรวจสอบที่ส่งไปยังอีเมลของผู้ออก โดยปกติจะเข้าถึงผ่านลิงก์ในอีเมลตรวจสอบ ไม่ได้เรียกใช้โดยตรง

GET /certify-badge/verify-issuer/{guid}/{code}

พารามิเตอร์ ​

พารามิเตอร์ประเภทคำอธิบาย
guidstringGUID ของผู้ออก
codestringรหัสตรวจสอบ

การตอบกลับ ​

ส่งคืนหน้า HTML ที่ยืนยันว่าการตรวจสอบสำเร็จหรือล้มเหลว endpoint นี้ออกแบบมาให้เปิดในเบราว์เซอร์

badges.ninja Documentation