Skip to content

পাবলিক যাচাইকরণ ​

এই এন্ডপয়েন্টগুলো পাবলিক এবং এর জন্য অথেনটিকেশনের প্রয়োজন নেই। এগুলোর মাধ্যমে যে কেউ ব্যাজ ক্রেডেনশিয়াল যাচাই করতে এবং Open Badge v2.0 JSON ডেটা সংগ্রহ করতে পারেন।

সব এন্ডপয়েন্ট https://api.badges.ninja-এর সাপেক্ষে।

ইস্যুকারী পাওয়া ​

একটি নির্দিষ্ট ইস্যুকারীর জন্য Open Badge v2.0 Issuer Profile JSON সংগ্রহ করুন।

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

ব্যাজ পাওয়া ​

একটি নির্দিষ্ট ব্যাজের জন্য Open Badge v2.0 BadgeClass JSON সংগ্রহ করুন।

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

ক্রেডেনশিয়াল পাওয়া ​

একটি নির্দিষ্ট ক্রেডেনশিয়ালের জন্য Open Badge v2.0 Assertion JSON সংগ্রহ করুন।

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 দৃষ্টিভঙ্গি। একই বাতিলকরণ ক্রেডেনশিয়ালের Open Badges 3.0 Verifiable Credential-এও প্রকাশ করা হয় — দেখুন বাতিলকরণ (Bitstring Status List)।

নোট ​

  • Open Badge স্পেসিফিকেশন অনুসারে গোপনীয়তার জন্য প্রাপকের ইমেইল হ্যাশ (SHA-256) করা হয়।
  • রেসপন্স ৫ মিনিটের জন্য ক্যাশ করা হয় (Cache-Control: public, max-age=300)। বাতিল করা ক্রেডেনশিয়াল ছোট ৩০ সেকেন্ডের ক্যাশ (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:"
}

কোনো কাস্টম শেয়ার টেক্সট সেট করা না থাকলে একটি ডিফল্ট বার্তা ফেরত দেওয়া হয়।


ক্রেডেনশিয়াল ইমেইল পাঠানো (পাবলিক) ​

পাবলিক এন্ডপয়েন্ট থেকে একটি ক্রেডেনশিয়াল নোটিফিকেশন ইমেইল পাঠান। এটি পাবলিক শেয়ার পেজে ব্যবহৃত হয়।

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

এটিই একমাত্র এন্ডপয়েন্ট যা ফলাফলকে { "statusCode", "info" } এনভেলপে মুড়ে ফেরত দেয়। অন্য সব এন্ডপয়েন্ট সরাসরি পেলোড ফেরত দেয়।


ইস্যুকারী যাচাই ​

ইস্যুকারীর ইমেইলে পাঠানো যাচাইকরণ লিংকে ক্লিক করে ইস্যুকারীকে যাচাই করুন। সাধারণত এটি যাচাইকরণ ইমেইলের লিংকের মাধ্যমে অ্যাক্সেস করা হয়, সরাসরি কল করা হয় না।

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

প্যারামিটার ​

প্যারামিটারটাইপবিবরণ
guidstringইস্যুকারীর GUID
codestringযাচাইকরণ কোড

রেসপন্স ​

যাচাইকরণ সফল হয়েছে নাকি ব্যর্থ হয়েছে তা নিশ্চিত করে একটি HTML পেজ ফেরত দেয়। এই এন্ডপয়েন্টটি ব্রাউজারে খোলার জন্য তৈরি।

badges.ninja Documentation