Skip to content

API ผู้ออก

จัดการผู้ออกเหรียญตรา — องค์กรหรือบุคคลที่มอบรางวัลเหรียญตรา

จุดสิ้นสุดทั้งหมดต้องการการยืนยันตัวตนผ่านส่วนหัว X-Api-Key ดู การยืนยันตัวตน

สร้างผู้ออก

สร้างผู้ออกเหรียญตราใหม่

POST /issuers

พารามิเตอร์

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
namestringใช่ชื่อองค์กร (ขั้นต่ำ 3 อักขระ)
urlstringใช่เว็บไซต์องค์กร (ต้องเป็น URL HTTP/HTTPS ที่ถูกต้อง)
emailstringใช่อีเมลติดต่อสำหรับผู้ออก
logostringไม่รูปภาพที่เข้ารหัส Base64 (PNG หรือ JPG)
linkedinOrganizationIdstringไม่ID หน้าบริษัท LinkedIn เป็นตัวเลข เมื่อตั้งค่า ทุกหน้ารางวัลสาธารณะจากผู้ออกนี้แสดงปุ่ม เพิ่มไปยังโปรไฟล์ LinkedIn

ตัวอย่าง

bash
curl -X POST https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "name": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com"
    }
  }'

การตอบกลับ

json
{
  "statusCode": 200,
  "info": {
    "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}

หมายเหตุ

  • นับรวมในขีดจำกัดผู้ออกของแพ็กเกจ (Free: 1, Starter: 5, Pro: ไม่จำกัด) ไม่มีการหักโควตา
  • หากอีเมลผู้ออกตรงกับอีเมลบัญชีของคุณ ผู้ออกจะได้รับการยืนยันอัตโนมัติ
  • หากอีเมลแตกต่าง อีเมลยืนยันจะถูกส่งไปยังอีเมลผู้ออก

แสดงรายการผู้ออก

ดึงผู้ออกทั้งหมดที่คุณสร้าง

GET /issuers

ตัวอย่าง

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

การตอบกลับ

json
{
  "statusCode": 200,
  "info": {
    "issuers": [
      {
        "id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
        "name": "Acme Academy",
        "url": "https://acme.example.com",
        "email": "badges@acme.example.com",
        "verified": true,
        "timestamp": "2025-01-15T10:30:00.000Z"
      }
    ]
  }
}

ยืนยันผู้ออก

ยืนยันผู้ออกโดยใช้รหัสยืนยันที่ส่งไปยังอีเมลของพวกเขา

POST /issuers/{issuerId}/verify

พารามิเตอร์

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
issuerIdstringใช่ID ผู้ออก (พารามิเตอร์เส้นทาง)
codestringใช่รหัสยืนยันจากอีเมล

ตัวอย่าง

bash
curl -X POST https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/verify \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "code": "ABC123"
    }
  }'

การตอบกลับ

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

ลบผู้ออก

ลบผู้ออก ผู้ออกต้องไม่มีเหรียญตรา

DELETE /issuers/{issuerId}

ตัวอย่าง

bash
curl -X DELETE https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "X-Api-Key: bws_your_api_key_here"

การตอบกลับ

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

ข้อผิดพลาด

  • 400 — ผู้ออกมีเหรียญตราหรือรางวัลและไม่สามารถลบได้ (ลบสิ่งเหล่านั้นก่อน)
  • 404 — ไม่พบผู้ออก

อัปเดตผู้ออก

อัปเดตฟิลด์ของผู้ออกที่ยังไม่ได้รับการยืนยัน เมื่อผู้ออกได้รับการยืนยันแล้ว เฉพาะ logo และ linkedinOrganizationId เท่านั้นที่ยังคงแก้ไขได้เพื่อรักษาเสถียรภาพของคุณวุฒิ

PUT /issuers/{issuerId}

พารามิเตอร์

พารามิเตอร์ประเภทจำเป็นคำอธิบาย
issuerIdstringใช่ID ผู้ออก (พารามิเตอร์เส้นทาง)
namestringไม่ชื่อใหม่ (เฉพาะเมื่อยังไม่ได้รับการยืนยัน)
urlstringไม่URL ใหม่ (เฉพาะเมื่อยังไม่ได้รับการยืนยัน)
emailstringไม่อีเมลใหม่ (เฉพาะเมื่อยังไม่ได้รับการยืนยัน — ส่งอีเมลยืนยันใหม่)
logostringไม่โลโก้ที่เข้ารหัส Base64 ใหม่
linkedinOrganizationIdstringไม่LinkedIn organization ID ใหม่ (หรือสตริงว่างเพื่อล้าง)

หมุนเวียนรหัสยืนยัน

ทำให้ลิงก์ยืนยันก่อนหน้าใช้ไม่ได้และส่งอีเมลรหัสใหม่ มีผลเฉพาะขณะที่ผู้ออกยังไม่ได้รับการยืนยัน

POST /issuers/{issuerId}/rotate-code

การตอบกลับ

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

badges.ninja Documentation