Skip to content

Kamuya Açık Doğrulama

Bu uç noktalar kamuya 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örelidir.

Düzenleyiciyi Alma

Belirli bir düzenleyici için Open Badge v2.0 Düzenleyici Profili 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 Alma

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

Ödülü Alma

Belirli bir ödül 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"
  }
}

Notlar

  • Alıcı e-postası, Open Badge spesifikasyonuna uyacak şekilde gizlilik için özetlenir (SHA-256).
  • Yanıtlar 1 saat boyunca önbelleğe alınır (Cache-Control: public, max-age=3600).

Ödül Paylaşım Metnini Al

Bir ödülün 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 ayarlanmadıysa varsayılan bir mesaj döndürülür.


Ödül E-postası Gönder (Kamuya Açık)

Kamuya açık uç noktadan bir ödül bildirim e-postası gönderir. Bu, kamuya açık paylaşım sayfası tarafından kullanılır.

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

Parametreler

ParametreTürGerekliAçıklama
recipientsstringEvetVirgülle ayrılmış e-posta adresleri listesi
subjectstringHayırE-posta konusu
messagestringHayırE-postaya dahil edilecek ö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"
}

Düzenleyiciyi Doğrula

Düzenleyici e-postasına gönderilen doğrulama bağlantısına tıklayarak bir düzenleyiciyi doğrulayın. Genellikle doğrulama e-postasındaki bağlantı aracılığıyla erişilir, doğrudan çağrılmaz.

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

Parametreler

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

Yanıt

Doğrulamanın başarılı olduğunu ya da başarısız 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