Skip to content

Pengesahan Awam

Endpoint ini awam dan tidak memerlukan pengesahan. Mereka membenarkan sesiapa sahaja mengesahkan kelayakan lencana dan mendapatkan data JSON Open Badge v2.0.

Semua endpoint adalah relatif kepada https://api.badges.ninja.

Dapatkan Pengeluar

Dapatkan JSON Open Badge v2.0 Issuer Profile untuk pengeluar yang diberikan.

GET /certify-badge/issuer/{guid}

Contoh

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

Tindak Balas

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

Dapatkan Lencana

Dapatkan JSON Open Badge v2.0 BadgeClass untuk lencana yang diberikan.

GET /certify-badge/badge/{guid}

Contoh

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

Tindak Balas

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://ipfs.ninja/ipfs/Qm...",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}

Dapatkan Anugerah

Dapatkan JSON Open Badge v2.0 Assertion untuk anugerah yang diberikan.

GET /certify-badge/award/{guid}

Contoh

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

Tindak Balas

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

Nota

  • E-mel penerima dihash (SHA-256) untuk privasi, mengikuti spesifikasi Open Badge.
  • Tindak balas dicache selama 1 jam (Cache-Control: public, max-age=3600).

Dapatkan Teks Perkongsian Anugerah

Dapatkan teks perkongsian tersuai untuk lencana anugerah.

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

Contoh

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

Tindak Balas

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

Jika tiada teks perkongsian tersuai ditetapkan, mesej lalai dikembalikan.


Hantar E-mel Anugerah (Awam)

Hantar e-mel pemberitahuan anugerah daripada endpoint awam. Ini digunakan oleh halaman perkongsian awam.

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

Parameter

ParameterJenisDiperlukanPenerangan
recipientsstringYaSenarai alamat e-mel dipisahkan koma
subjectstringTidakSubjek e-mel
messagestringTidakMesej tersuai untuk disertakan dalam e-mel

Contoh

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

Tindak Balas

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

Sahkan Pengeluar

Sahkan pengeluar dengan mengklik pautan pengesahan yang dihantar ke e-mel pengeluar. Ini biasanya diakses melalui pautan dalam e-mel pengesahan, bukan dipanggil secara langsung.

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

Parameter

ParameterJenisPenerangan
guidstringGUID pengeluar
codestringKod pengesahan

Tindak Balas

Mengembalikan halaman HTML yang mengesahkan pengesahan berjaya atau gagal. Endpoint ini direka untuk dibuka dalam pelayar.

badges.ninja Documentation