বাংলা
বাংলা
Appearance
বাংলা
বাংলা
Appearance
এই এন্ডপয়েন্টগুলো পাবলিক এবং এর জন্য অথেনটিকেশনের প্রয়োজন নেই। এগুলোর মাধ্যমে যে কেউ ব্যাজ ক্রেডেনশিয়াল যাচাই করতে এবং Open Badge v2.0 JSON ডেটা সংগ্রহ করতে পারেন।
সব এন্ডপয়েন্ট https://api.badges.ninja-এর সাপেক্ষে।
একটি নির্দিষ্ট ইস্যুকারীর জন্য Open Badge v2.0 Issuer Profile JSON সংগ্রহ করুন।
GET /certify-badge/issuer/{guid}curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890{
"@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}curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901{
"@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}curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012{
"@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" স্ট্রিংও থাকে:
{
"revoked": true,
"revocationReason": "Issued in error"
}এটি বাতিলকরণের Open Badges 2.0 দৃষ্টিভঙ্গি। একই বাতিলকরণ ক্রেডেনশিয়ালের Open Badges 3.0 Verifiable Credential-এও প্রকাশ করা হয় — দেখুন বাতিলকরণ (Bitstring Status List)।
Cache-Control: public, max-age=300)। বাতিল করা ক্রেডেনশিয়াল ছোট ৩০ সেকেন্ডের ক্যাশ (max-age=30) ব্যবহার করে, যাতে বাতিলকরণ দ্রুত ছড়িয়ে পড়ে।একটি ক্রেডেনশিয়ালের ব্যাজের জন্য কাস্টম শেয়ার টেক্সট সংগ্রহ করুন।
GET /certify-badge/award/{guid}/share-textcurl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text{
"text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}কোনো কাস্টম শেয়ার টেক্সট সেট করা না থাকলে একটি ডিফল্ট বার্তা ফেরত দেওয়া হয়।
পাবলিক এন্ডপয়েন্ট থেকে একটি ক্রেডেনশিয়াল নোটিফিকেশন ইমেইল পাঠান। এটি পাবলিক শেয়ার পেজে ব্যবহৃত হয়।
POST /certify-badge/award/{guid}/send-email| প্যারামিটার | টাইপ | আবশ্যক | বিবরণ |
|---|---|---|---|
recipients | string | হ্যাঁ | কমা দিয়ে আলাদা করা ইমেইল ঠিকানার তালিকা |
message | string | না | ইমেইলে যুক্ত করার কাস্টম বার্তা |
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!"
}
}'{
"statusCode": 200,
"info": "award sent"
}এটিই একমাত্র এন্ডপয়েন্ট যা ফলাফলকে
{ "statusCode", "info" }এনভেলপে মুড়ে ফেরত দেয়। অন্য সব এন্ডপয়েন্ট সরাসরি পেলোড ফেরত দেয়।
ইস্যুকারীর ইমেইলে পাঠানো যাচাইকরণ লিংকে ক্লিক করে ইস্যুকারীকে যাচাই করুন। সাধারণত এটি যাচাইকরণ ইমেইলের লিংকের মাধ্যমে অ্যাক্সেস করা হয়, সরাসরি কল করা হয় না।
GET /certify-badge/verify-issuer/{guid}/{code}| প্যারামিটার | টাইপ | বিবরণ |
|---|---|---|
guid | string | ইস্যুকারীর GUID |
code | string | যাচাইকরণ কোড |
যাচাইকরণ সফল হয়েছে নাকি ব্যর্থ হয়েছে তা নিশ্চিত করে একটি HTML পেজ ফেরত দেয়। এই এন্ডপয়েন্টটি ব্রাউজারে খোলার জন্য তৈরি।