Skip to content

Issuers API ​

จัดการผู้ออกตราสัญลักษณ์ — องค์กรหรือบุคคลที่ออกตราสัญลักษณ์

ทุก endpoint ต้องมีการยืนยันตัวตนผ่านเฮดเดอร์ X-Api-Key ดู การยืนยันตัวตน

สร้างผู้ออก ​

สร้างผู้ออกตราสัญลักษณ์ใหม่

POST /issuers

พารามิเตอร์ ​

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

ตัวอย่าง ​

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
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

หมายเหตุ ​

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

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

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

GET /issuers

ตัวอย่าง ​

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

การตอบกลับ ​

json
{
  "items": [
    {
      "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": 1736937000000
    }
  ]
}

timestamp คือ Unix epoch หน่วยมิลลิวินาที เมื่อมีผู้ออกมากกว่าที่จะแสดงในหน้าเดียว ระบบจะส่งคืน lastEvaluatedKey สำหรับการแบ่งหน้าด้วย


ตรวจสอบผู้ออก ​

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

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
"issuer has been verified"

ลบผู้ออก ​

ลบผู้ออก ผู้ออกต้องไม่มีตราสัญลักษณ์เชื่อมโยงอยู่

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
"issuer has been deleted"

ข้อผิดพลาด ​

  • 400 — ผู้ออกยังมีตราสัญลักษณ์เชื่อมโยงอยู่: issuer has {n} badge(s) linked — delete the badges first การลบจะถูกกันไว้ด้วย ตราสัญลักษณ์ที่เชื่อมโยงเท่านั้น — ข้อมูลประจำตัวไม่ขัดขวางการลบ
  • 404 — ไม่พบผู้ออก

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

อัปเดตฟิลด์ของผู้ออก แก้ไขได้เฉพาะผู้ออกที่ยังไม่ได้รับการตรวจสอบ — เมื่อผู้ออกได้รับการตรวจสอบแล้ว endpoint นี้จะส่งคืน 400 verified issuers cannot be edited เพื่อรักษาความเสถียรของข้อมูลประจำตัว การแก้ไขผู้ออกจะสร้างรหัสยืนยันใหม่: หาก email ตรงกับอีเมลบัญชีของคุณ ผู้ออกจะได้รับการตรวจสอบใหม่โดยอัตโนมัติ มิฉะนั้นระบบจะส่งอีเมลตรวจสอบฉบับใหม่ไปยังที่อยู่นั้น

PUT /issuers/{issuerId}

พารามิเตอร์ ​

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

การตอบกลับ ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "updated": true
}

ข้อผิดพลาด ​

  • 400 — verified issuers cannot be edited (ผู้ออกได้รับการตรวจสอบแล้ว)
  • 400 — not authorized (ผู้ออกเป็นของบัญชีอื่น)
  • 404 — ไม่พบผู้ออก

badges.ninja Documentation