Skip to content

Herkese Açık Doğrulama ​

Bu uç noktalar herkese açıktır ve kimlik doğrulaması gerektirmez. Herkesin rozet kimlik bilgilerini doğrulamasına ve Open Badge v2.0 JSON verilerini almasına olanak tanır.

Tüm uç noktalar https://api.badges.ninja adresine göredir.

Düzenleyiciyi Getir ​

Belirli bir düzenleyici için Open Badge v2.0 Issuer Profile JSON'unu alın.

GET /certify-badge/issuer/{guid}

Örnek ​

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

Yanıt ​

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

Rozeti Getir ​

Belirli bir rozet için Open Badge v2.0 BadgeClass JSON'unu alın.

GET /certify-badge/badge/{guid}

Örnek ​

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

Yanıt ​

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

Kimlik Bilgisini Getir ​

Belirli bir kimlik bilgisi için Open Badge v2.0 Assertion JSON'unu alın.

GET /certify-badge/award/{guid}

Örnek ​

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

Yanıt ​

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
}

Kimlik bilgisi iptal edilmişse assertion "revoked": true değerini taşır ve bir neden belirtilmişse "revocationReason" dizesini de içerir:

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

Bu, iptalin Open Badges 2.0 görünümüdür. Aynı iptal, kimlik bilgisinin Open Badges 3.0 Verifiable Credential'ında da ifade edilir — bkz. İptal (Bitstring Status List).

Notlar ​

  • Alıcının e-postası, Open Badge belirtimine uygun olarak gizlilik için karma (SHA-256) haline getirilir.
  • Yanıtlar 5 dakika önbelleğe alınır (Cache-Control: public, max-age=300). İptal edilen kimlik bilgileri, iptalin hızla yayılması için daha kısa olan 30 saniyelik önbellek (max-age=30) kullanır.

Kimlik Bilgisi Paylaşım Metnini Getir ​

Bir kimlik bilgisinin rozeti için özel paylaşım metnini alın.

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

Örnek ​

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

Yanıt ​

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

Özel paylaşım metni ayarlanmamışsa varsayılan bir mesaj döndürülür.


Kimlik Bilgisi E-postası Gönder (Herkese Açık) ​

Herkese açık uç noktadan kimlik bilgisi bildirim e-postası gönderin. Herkese açık paylaşım sayfası bunu kullanır.

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

Parametreler ​

ParametreTürZorunluAçıklama
recipientsstringEvetVirgülle ayrılmış e-posta adresleri listesi
messagestringHayırE-postaya eklenecek özel mesaj

Örnek ​

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

Yanıt ​

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

Bu, sonucunu { "statusCode", "info" } zarfına saran tek uç noktadır. Diğer tüm uç noktalar verilerini doğrudan döndürür.


Düzenleyiciyi Doğrula ​

Düzenleyicinin e-postasına gönderilen doğrulama bağlantısına tıklayarak bir düzenleyiciyi doğrulayın. Bu genellikle doğrudan çağrılmaz, doğrulama e-postasındaki bağlantı üzerinden erişilir.

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

Parametreler ​

ParametreTürAçıklama
guidstringDüzenleyici GUID'i
codestringDoğrulama kodu

Yanıt ​

Doğrulamanın başarılı mı yoksa başarısız mı olduğunu onaylayan bir HTML sayfası döndürür. Bu uç nokta bir tarayıcıda açılmak üzere tasarlanmıştır.

badges.ninja Documentation