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