Skip to content

Credentials API

সনদ (অ্যাসার্শন) তৈরি ও পরিচালনা করুন — নির্দিষ্ট প্রাপকদের জারি করা ব্যাজ।

সমস্ত এন্ডপয়েন্টের জন্য X-Api-Key হেডারের মাধ্যমে প্রমাণীকরণ প্রয়োজন। প্রমাণীকরণ দেখুন।

সনদ তৈরি করা

একজন প্রাপকের কাছে একটি ব্যাজ জারি করুন।

POST /awards

প্যারামিটার

প্যারামিটারপ্রকারপ্রয়োজনীয়বিবরণ
badgeIdstringহ্যাঁইস্যু করার ব্যাজের ID
recipientobjectহ্যাঁপ্রাপকের বিবরণ (নীচে দেখুন)
recipient.namestringহ্যাঁপ্রাপকের সম্পূর্ণ নাম (ন্যূনতম 5 অক্ষর)
recipient.emailstringহ্যাঁপ্রাপকের ইমেল ঠিকানা
issuedOnstringহ্যাঁISO 8601 ফরম্যাটে জারির তারিখ (যেমন 2025-01-15)
expiresstringনাISO 8601 ফরম্যাটে মেয়াদ শেষের তারিখ

উদাহরণ

bash
curl -X POST https://api.badges.ninja/awards \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "badgeId": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
      "recipient": {
        "name": "Jane Smith",
        "email": "jane@example.com"
      },
      "issuedOn": "2025-01-15"
    }
  }'

প্রতিক্রিয়া

json
{
  "statusCode": 200,
  "info": {
    "awardId": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012"
  }
}

নোট

  • আপনার মাসিক কোটার বিরুদ্ধে একটি সনদ হিসাবে গণ্য হয় (Free: 100/mo, Starter: 1,000/mo, Pro: 10,000/mo)। কোটা প্রতিটি বিলিং সময়ে রিসেট হয়।

সনদ তালিকা

ঐচ্ছিক ফিল্টারিং ও পেজিনেশন সহ সনদগুলি পুনরুদ্ধার করুন।

GET /awards

ক্যোয়ারী প্যারামিটার

প্যারামিটারপ্রকারপ্রয়োজনীয়বিবরণ
filterJSON stringনাফিল্টার অবজেক্ট (নীচে দেখুন)
lastEvaluatedKeystringনাপূর্ববর্তী প্রতিক্রিয়া থেকে পেজিনেশন টোকেন

ফিল্টার অবজেক্ট

filter প্যারামিটার এই ক্ষেত্রগুলি সহ একটি JSON স্ট্রিং গ্রহণ করে:

ক্ষেত্রপ্রকারবিবরণ
badgeIdstringব্যাজ ID দ্বারা ফিল্টার করুন।
searchstringপ্রাপকের নাম বা ইমেলে সন্ধানের জন্য সাবস্ট্রিং (searchField দেখুন)।
searchFieldstringহয় name (ডিফল্ট) বা email — অনুসন্ধানের জন্য কলাম।

lastEvaluatedKey এর মাধ্যমে পেজিনেশন ফিল্টার সহ বা ছাড়া কাজ করে। পৃষ্ঠার আকার 50।

উদাহরণ — সমস্ত সনদ তালিকা

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

উদাহরণ — ব্যাজ দ্বারা ফিল্টার

bash
curl -X GET "https://api.badges.ninja/awards?filter=%7B%22badgeId%22%3A%22b1c2d3e4%22%7D" \
  -H "X-Api-Key: bws_your_api_key_here"

প্রতিক্রিয়া

json
{
  "statusCode": 200,
  "info": {
    "awards": [
      {
        "id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
        "badge": {
          "id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
          "name": "JavaScript Fundamentals",
          "image": "https://ipfs.ninja/ipfs/Qm..."
        },
        "recipient": {
          "name": "Jane Smith",
          "email": "jane@example.com"
        },
        "issuedOn": "2025-01-15T00:00:00.000Z",
        "timestamp": "2025-01-15T10:30:00.000Z"
      }
    ],
    "lastEvaluatedKey": "eyJ..."
  }
}

যদি প্রতিক্রিয়ায় lastEvaluatedKey উপস্থিত থাকে, আরও ফলাফল রয়েছে। পরবর্তী পৃষ্ঠা পেতে এটি পরবর্তী অনুরোধে একটি ক্যোয়ারী প্যারামিটার হিসাবে পাস করুন।


সনদ ইমেল পাঠান

একজন প্রাপকের কাছে তাদের সনদ সম্পর্কে একটি ইমেল বিজ্ঞপ্তি পাঠান।

POST /awards/{awardId}/send

প্যারামিটার

প্যারামিটারপ্রকারপ্রয়োজনীয়বিবরণ
awardIdstringহ্যাঁঅ্যাওয়ার্ড ID (পথ প্যারামিটার এবং বডি)
emailstringহ্যাঁপ্রাপকের ইমেল ঠিকানা

উদাহরণ

bash
curl -X POST https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/send \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "awardId": "c1d2e3f4-a5b6-7890-cdef-123456789012",
      "email": "jane@example.com"
    }
  }'

প্রতিক্রিয়া

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

সনদ শেয়ার

ইমেলের মাধ্যমে একাধিক প্রাপকের সাথে একটি সনদ শেয়ার করুন।

POST /awards/{awardId}/share

প্যারামিটার

প্যারামিটারপ্রকারপ্রয়োজনীয়বিবরণ
awardIdstringহ্যাঁঅ্যাওয়ার্ড ID (পথ প্যারামিটার এবং বডি)
recipientsstringহ্যাঁইমেল ঠিকানার কমা-বিভক্ত তালিকা
subjectstringহ্যাঁইমেল বিষয় লাইন
messagestringহ্যাঁইমেল বার্তা বডি

উদাহরণ

bash
curl -X POST https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/share \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "awardId": "c1d2e3f4-a5b6-7890-cdef-123456789012",
      "recipients": "manager@example.com,hr@example.com",
      "subject": "Check out my new badge!",
      "message": "I just earned the JavaScript Fundamentals badge."
    }
  }'

প্রতিক্রিয়া

json
{
  "statusCode": 200,
  "info": {
    "shared": true
  }
}

PDF সার্টিফিকেট ডাউনলোড

একটি সনদের জন্য একটি প্রিন্ট-প্রস্তুত A4 PDF সার্টিফিকেট জেনারেট করুন।

GET /awards/{awardGuid}/pdf

কোনো প্রমাণীকরণ প্রয়োজন নেই — এই এন্ডপয়েন্টটি পাবলিক তাই প্রাপকরা তাদের নিজস্ব সার্টিফিকেট ডাউনলোড করতে পারেন।

উদাহরণ

bash
curl -OJ https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/pdf

প্রতিক্রিয়া হলো Content-Type: application/pdf হেডার সহ বাইনারি PDF।


সনদ ইভেন্ট ট্র্যাক

একটি এনগেজমেন্ট ইভেন্ট রেকর্ড করুন (view, share, download, LinkedIn add)। এনগেজমেন্ট পরিসংখ্যান পূরণ করতে পাবলিক সনদ পৃষ্ঠা দ্বারা ব্যবহৃত। কোনো প্রমাণীকরণ প্রয়োজন নেই।

POST /awards/{awardGuid}/event

প্যারামিটার

প্যারামিটারপ্রকারপ্রয়োজনীয়বিবরণ
kindstringহ্যাঁএর মধ্যে একটি view, share, download, linkedin_add
networkstringনাযখন kind=share, সোশ্যাল নেটওয়ার্ক: linkedin, twitter, facebook, whatsapp, telegram, email, copy

প্রতি-IP ডুপ্লিকেট দমন: একই IP থেকে একই kind প্রতি 24 ঘণ্টায় একবার গণনা করা হয়।

উদাহরণ

bash
curl -X POST https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/event \
  -H "Content-Type: application/json" \
  -d '{"parameters": {"kind": "share", "network": "linkedin"}}'

সনদ পরিসংখ্যান পান

একটি সনদের জন্য ক্রমবর্ধমান এনগেজমেন্ট কাউন্টার পুনরুদ্ধার করুন।

GET /awards/{awardGuid}/stats

কোনো প্রমাণীকরণ প্রয়োজন নেই।

প্রতিক্রিয়া

json
{
  "statusCode": 200,
  "info": {
    "stats": {
      "views": 142,
      "shares": { "linkedin": 8, "twitter": 2, "email": 1, "copy": 5 },
      "downloads": 3,
      "linkedin_adds": 4
    }
  }
}

badges.ninja Documentation