Skip to content

ব্যাজ API রেফারেন্স: ব্যাজ তৈরি, যাচাই ও সংগ্রহ ​

ব্যাজ টেমপ্লেট পরিচালনা করুন — যে ক্রেডেনশিয়াল আপনি প্রাপকদের ইস্যু করেন।

API-এর বদলে CSV আপলোডের মাধ্যমে একসাথে অনেক প্রাপককে এই ব্যাজ ইস্যু করতে চাইলে দেখুন বাল্ক ক্রেডেনশিয়াল।

সব এন্ডপয়েন্টে X-Api-Key হেডারের মাধ্যমে অথেনটিকেশন প্রয়োজন। দেখুন অথেনটিকেশন।

ব্যাজ তৈরি ​

একটি যাচাইকৃত ইস্যুকারীর অধীনে নতুন ব্যাজ তৈরি করুন।

POST /badges

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

প্যারামিটারটাইপআবশ্যকবিবরণ
namestringহ্যাঁব্যাজের শিরোনাম
descriptionstringহ্যাঁব্যাজটি কী নির্দেশ করে
criteriastringহ্যাঁএই ব্যাজ অর্জনের জন্য প্রাপক কী করেছেন
imagestringহ্যাঁBase64-এনকোড করা ছবি (PNG বা JPG)
issuerIdstringহ্যাঁযাচাইকৃত ইস্যুকারীর ID
shareTextstringনাএই ব্যাজের ডিফল্ট সোশ্যাল-শেয়ার টেক্সট। , ও প্লেসহোল্ডার সমর্থিত। বাদ দিলে বিল্ট-ইন ডিফল্ট ব্যবহৃত হয়।
designJsonstringনাসিরিয়ালাইজ করা ব্যাজ-ডিজাইনার ডকুমেন্ট, যা সংরক্ষণ করা হয় যাতে পরে ব্যাজটি লেয়ার ধরে ধরে আবার সম্পাদনা করা যায়।

উদাহরণ ​

bash
curl -X POST https://api.badges.ninja/badges \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "name": "JavaScript Fundamentals",
      "description": "Demonstrates proficiency in core JavaScript concepts",
      "criteria": "Completed the JavaScript Fundamentals course with a score of 80% or higher",
      "image": "data:image/png;base64,iVBORw0KGgo...",
      "issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  }'

রেসপন্স ​

json
{
  "badgeId": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901"
}

নোট ​

  • ব্যাজ তৈরির আগে ইস্যুকারীকে যাচাই করা থাকতে হবে।
  • ছবিটি Amazon S3-এ সংরক্ষিত হয় এবং আমাদের গ্লোবাল CDN-এর মাধ্যমে একটি অপরিবর্তনীয়, কনটেন্ট-অ্যাড্রেসড URL-এ পরিবেশিত হয়।
  • ব্যাজ ক্লাস তৈরি হয়ে গেলে ক্রেডেনশিয়াল API ব্যবহার করে প্রাপকদের কাছে ইস্যু করুন।

ব্যাজের তালিকা ​

আপনার তৈরি করা সব ব্যাজ সংগ্রহ করুন।

GET /badges

উদাহরণ ​

bash
curl -X GET https://api.badges.ninja/badges \
  -H "X-Api-Key: bws_your_api_key_here"

রেসপন্স ​

json
[
  {
    "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..." },
    "image": "https://badges.ninja/images/{sha256}.png",
    "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
    "timestamp": "2025-01-15T10:30:00.000Z"
  }
]

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

শেয়ার টেক্সট এবং সিরিয়ালাইজ করা ব্যাজ-ডিজাইনার ডকুমেন্ট (designJson) সহ একটি একক ব্যাজ সংগ্রহ করুন। ব্যাজ সম্পাদনা মডাল আলাদা আলাদা লেয়ার পুনরুদ্ধার করতে এই এন্ডপয়েন্টটি ব্যবহার করে; রেসপন্স হালকা রাখতে তালিকার এন্ডপয়েন্ট designJson বাদ দেয়।

GET /badges/{badgeId}

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

প্যারামিটারটাইপআবশ্যকবিবরণ
badgeIdstringহ্যাঁব্যাজের ID (পাথ প্যারামিটার)

উদাহরণ ​

bash
curl -X GET https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901 \
  -H "X-Api-Key: bws_your_api_key_here"

রেসপন্স ​

json
{
  "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..." },
  "image": "https://badges.ninja/images/{sha256}.png",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "shareText": "Excited to share that I just received the \"{{badge_name}}\" certification!",
  "designJson": "{ ...serialized designer document... }",
  "timestamp": "2025-01-15T10:30:00.000Z"
}

শেয়ার টেক্সট সবসময় অন্তর্ভুক্ত থাকে। হালকা GET /badges?badgeId={id} তালিকা-ভ্যারিয়েন্ট designJson ছাড়া একই ডকুমেন্ট ফেরত দেয়, এবং includeShareText=true দিয়ে কল করলেই কেবল শেয়ার টেক্সট অন্তর্ভুক্ত করে।


ব্যাজ আপডেট ​

একটি বিদ্যমান ব্যাজ আপডেট করুন। আপনি যে ফিল্ডগুলো দেবেন কেবল সেগুলোই পরিবর্তিত হয়।

PUT /badges/{badgeId}

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

প্যারামিটারটাইপআবশ্যকবিবরণ
badgeIdstringহ্যাঁব্যাজের ID (পাথ প্যারামিটার)
namestringনাব্যাজের নতুন শিরোনাম
descriptionstringনানতুন বিবরণ
criteriastringনানতুন মানদণ্ড
imagestringনানতুন Base64-এনকোড করা ছবি
designJsonstringনানতুন সিরিয়ালাইজ করা ব্যাজ-ডিজাইনার ডকুমেন্ট।

উদাহরণ ​

bash
curl -X PUT https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901 \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "badgeId": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
      "name": "JavaScript Fundamentals v2",
      "description": "Updated description for the JS badge"
    }
  }'

রেসপন্স ​

json
{
  "badgeId": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
  "updated": true
}

শেয়ার টেক্সট আপডেট ​

প্রাপকেরা সোশ্যাল মিডিয়ায় এই ব্যাজ শেয়ার করলে যে কাস্টম টেক্সট দেখানো হবে তা সেট করুন।

PUT /badges/{badgeId}/share-text

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

প্যারামিটারটাইপআবশ্যকবিবরণ
badgeIdstringহ্যাঁব্যাজের ID (পাথ প্যারামিটার)
textstringহ্যাঁশেয়ার টেক্সট (HTML অনুমোদিত নয়)

উদাহরণ ​

bash
curl -X PUT https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901/share-text \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "badgeId": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
      "text": "I just earned the JavaScript Fundamentals badge! Check it out:"
    }
  }'

রেসপন্স ​

json
{
  "badgeId": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-..."
}

ব্যাজ মুছে ফেলা ​

একটি ব্যাজ মুছে ফেলুন। ব্যাজটির কোনো ক্রেডেনশিয়াল থাকা চলবে না।

DELETE /badges/{badgeId}

উদাহরণ ​

bash
curl -X DELETE https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901 \
  -H "X-Api-Key: bws_your_api_key_here"

রেসপন্স ​

একটি সাধারণ নিশ্চিতকরণ স্ট্রিং ফেরত দেয়:

json
"badge has been deleted"

ত্রুটি ​

  • 400 — ব্যাজটির এখনও ইস্যু করা ক্রেডেনশিয়াল আছে: "This badge still has issued awards. Remove them first from the Awards page (revoke or delete each award), then delete the badge."
  • 404 — ব্যাজ পাওয়া যায়নি

badges.ninja Documentation