Skip to content

API Pengeluar

Urus pengeluar lencana — organisasi atau individu yang menganugerahkan lencana.

Semua endpoint memerlukan pengesahan melalui pengepala X-Api-Key. Lihat Pengesahan.

Cipta Pengeluar

Cipta pengeluar lencana baharu.

POST /issuers

Parameter

ParameterJenisDiperlukanPenerangan
namestringYaNama organisasi (minimum 3 aksara)
urlstringYaLaman web organisasi (mestilah URL HTTP/HTTPS yang sah)
emailstringYaE-mel hubungan untuk pengeluar
logostringTidakImej berkod Base64 (PNG atau JPG)
linkedinOrganizationIdstringTidakID berangka halaman syarikat LinkedIn. Apabila ditetapkan, setiap halaman anugerah awam daripada pengeluar ini menunjukkan butang Tambah ke Profil LinkedIn.

Contoh

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"
    }
  }'

Tindak Balas

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

Nota

  • Dikira terhadap had pengeluar pelan anda (Free: 1, Starter: 5, Pro: tanpa had). Tiada potongan kuota.
  • Jika e-mel pengeluar sepadan dengan e-mel akaun anda, pengeluar disahkan secara automatik.
  • Jika e-mel berbeza, e-mel pengesahan dihantar ke e-mel pengeluar.

Senaraikan Pengeluar

Dapatkan semua pengeluar yang telah anda cipta.

GET /issuers

Contoh

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

Tindak Balas

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"
      }
    ]
  }
}

Sahkan Pengeluar

Sahkan pengeluar menggunakan kod pengesahan yang dihantar ke e-melnya.

POST /issuers/{issuerId}/verify

Parameter

ParameterJenisDiperlukanPenerangan
issuerIdstringYaID pengeluar (parameter laluan)
codestringYaKod pengesahan daripada e-mel

Contoh

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"
    }
  }'

Tindak Balas

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

Padam Pengeluar

Padam pengeluar. Pengeluar mestilah tidak mempunyai lencana.

DELETE /issuers/{issuerId}

Contoh

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

Tindak Balas

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

Ralat

  • 400 — pengeluar mempunyai lencana atau anugerah dan tidak boleh dipadam (padam itu dahulu)
  • 404 — pengeluar tidak ditemui

Kemas Kini Pengeluar

Kemas kini medan pengeluar yang belum disahkan. Setelah pengeluar disahkan, hanya logo dan linkedinOrganizationId kekal boleh disunting untuk mengekalkan kestabilan kelayakan.

PUT /issuers/{issuerId}

Parameter

ParameterJenisDiperlukanPenerangan
issuerIdstringYaID pengeluar (parameter laluan)
namestringTidakNama baharu (hanya apabila belum disahkan)
urlstringTidakURL baharu (hanya apabila belum disahkan)
emailstringTidakE-mel baharu (hanya apabila belum disahkan — menghantar e-mel pengesahan baharu)
logostringTidakLogo berkod Base64 baharu
linkedinOrganizationIdstringTidakLinkedIn organization ID baharu (atau rentetan kosong untuk mengosongkan)

Putar Kod Pengesahan

Batalkan pautan pengesahan sebelumnya dan e-melkan yang baharu. Hanya sah ketika pengeluar masih belum disahkan.

POST /issuers/{issuerId}/rotate-code

Tindak Balas

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

badges.ninja Documentation