Skip to content

Düzenleyiciler API'si ​

Rozet düzenleyicilerini yönetin — rozet veren kuruluşlar veya bireyler.

Tüm endpoint'ler X-Api-Key başlığı üzerinden kimlik doğrulaması gerektirir. Bkz. Kimlik Doğrulama.

Düzenleyici Oluştur ​

Yeni bir rozet düzenleyicisi oluşturun.

POST /issuers

Parametreler ​

ParametreTürZorunluAçıklama
namestringEvetKuruluş adı (en az 3 karakter)
urlstringEvetKuruluş web sitesi (geçerli bir HTTP/HTTPS URL'si olmalıdır)
emailstringEvetDüzenleyicinin iletişim e-postası
logostringHayırBase64 kodlu görsel (PNG veya JPG)
linkedinOrganizationIdstringHayırSayısal LinkedIn şirket sayfası kimliği. Ayarlandığında, bu düzenleyicinin her herkese açık kimlik bilgisi sayfasında bir Add to LinkedIn Profile düğmesi görünür.

Örnek ​

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

Yanıt ​

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

Notlar ​

  • Planınızın düzenleyici sınırına sayılır (Free: 2, Starter: 5, Pro: 10). Kota düşülmez.
  • Düzenleyici e-postası hesap e-postanızla eşleşirse düzenleyici otomatik olarak doğrulanır.
  • E-posta farklıysa düzenleyici e-postasına bir doğrulama e-postası gönderilir.
  • Bir düzenleyiciyi yapılandırdıktan sonra, o düzenleyici adına kimlik bilgisi vermeye başlamak için Credentials API'yi kullanın.

Düzenleyicileri Listele ​

Oluşturduğunuz tüm düzenleyicileri getirin.

GET /issuers

Örnek ​

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

Yanıt ​

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, milisaniye cinsinden Unix epoch değeridir. Tek bir sayfaya sığandan fazla düzenleyici varsa sayfalama için ayrıca bir lastEvaluatedKey döndürülür.


Düzenleyiciyi Doğrula ​

Bir düzenleyiciyi, e-postasına gönderilen doğrulama koduyla doğrulayın.

POST /issuers/{issuerId}/verify

Parametreler ​

ParametreTürZorunluAçıklama
issuerIdstringEvetDüzenleyici kimliği (yol parametresi)
codestringEvetE-postadaki doğrulama kodu

Örnek ​

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

Yanıt ​

Yalın bir string:

json
"issuer has been verified"

Düzenleyiciyi Sil ​

Bir düzenleyiciyi silin. Düzenleyiciye bağlı hiçbir rozet bulunmamalıdır.

DELETE /issuers/{issuerId}

Örnek ​

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

Yanıt ​

Yalın bir string:

json
"issuer has been deleted"

Hatalar ​

  • 400 — düzenleyiciye hâlâ bağlı rozetler var: issuer has {n} badge(s) linked — delete the badges first. Silme işlemi yalnızca bağlı rozetlerle engellenir — kimlik bilgileri silmeyi engellemez.
  • 404 — düzenleyici bulunamadı

Düzenleyiciyi Güncelle ​

Bir düzenleyicinin alanlarını güncelleyin. Yalnızca doğrulanmamış düzenleyiciler düzenlenebilir — bir düzenleyici doğrulandıktan sonra bu endpoint, kimlik bilgisi kararlılığını korumak için 400 verified issuers cannot be edited döndürür. Bir düzenleyiciyi düzenlemek doğrulama kodunu yeniden oluşturur: email hesap e-postanızla eşleşirse düzenleyici otomatik olarak yeniden doğrulanır, aksi halde o adrese yeni bir doğrulama e-postası gönderilir.

PUT /issuers/{issuerId}

Parametreler ​

ParametreTürZorunluAçıklama
issuerIdstringEvetDüzenleyici kimliği (yol parametresi)
namestringHayırYeni ad
urlstringHayırYeni URL
emailstringHayırYeni e-posta (hesap e-postanızla eşleşmedikçe yeni bir doğrulama e-postası gönderir)
logostringHayırYeni Base64 kodlu logo
linkedinOrganizationIdstringHayırYeni LinkedIn kuruluş kimliği (veya temizlemek için boş string)

Yanıt ​

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

Hatalar ​

  • 400 — verified issuers cannot be edited (düzenleyici zaten doğrulanmış)
  • 400 — not authorized (düzenleyici başka bir hesaba ait)
  • 404 — düzenleyici bulunamadı

badges.ninja Documentation