Skip to content

API за издатели

Управлявайте издатели на значки — организациите или лицата, които награждават със значки.

Всички крайни точки изискват удостоверяване през хедъра X-Api-Key. Вижте Удостоверяване.

Създаване на издател

Създайте нов издател на значки.

POST /issuers

Параметри

ПараметърТипЗадължителенОписание
namestringДаИме на организацията (минимум 3 символа)
urlstringДаУебсайт на организацията (трябва да е валиден HTTP/HTTPS URL)
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
{
  "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 на издателя (path параметър)
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 на издателя (path параметър)
namestringНеНово име (само когато не е потвърден)
urlstringНеНов URL (само когато не е потвърден)
emailstringНеНов имейл (само когато не е потвърден — изпраща ново писмо за потвърждаване)
logostringНеНово base64-кодирано лого
linkedinOrganizationIdstringНеНов LinkedIn organization ID (или празен низ за изчистване)

Ротация на код за потвърждаване

Анулирайте предишния линк за потвърждаване и изпратете нов по имейл. Валидно само докато издателят все още не е потвърден.

POST /issuers/{issuerId}/rotate-code

Отговор

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

badges.ninja Documentation