Skip to content

API wystawców

Zarządzaj wystawcami odznak — organizacjami lub osobami, które wydają odznaki.

Wszystkie endpointy wymagają uwierzytelnienia przez nagłówek X-Api-Key. Zobacz Uwierzytelnianie.

Utwórz wystawcę

Utwórz nowego wystawcę odznak.

POST /issuers

Parametry

ParametrTypWymaganyOpis
namestringTakNazwa organizacji (minimum 3 znaki)
urlstringTakStrona internetowa organizacji (musi być prawidłowym URL HTTP/HTTPS)
emailstringTakKontaktowy e-mail wystawcy
logostringNieObraz zakodowany w Base64 (PNG lub JPG)
linkedinOrganizationIdstringNieNumeryczny identyfikator strony firmowej LinkedIn. Gdy ustawione, każda publiczna strona wydania od tego wystawcy pokazuje przycisk Add to LinkedIn Profile.

Przykład

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

Odpowiedź

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

Uwagi

  • Liczy się do limitu wystawców twojego planu (Free: 1, Starter: 5, Pro: bez limitu). Bez potrącania kwoty.
  • Jeśli e-mail wystawcy zgadza się z e-mailem konta, wystawca jest auto-weryfikowany.
  • Jeśli e-mail jest inny, na adres wystawcy zostanie wysłana wiadomość weryfikacyjna.

Lista wystawców

Pobierz wszystkich wystawców, których utworzyłeś.

GET /issuers

Przykład

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

Odpowiedź

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

Weryfikuj wystawcę

Zweryfikuj wystawcę za pomocą kodu weryfikacyjnego wysłanego na jego e-mail.

POST /issuers/{issuerId}/verify

Parametry

ParametrTypWymaganyOpis
issuerIdstringTakIdentyfikator wystawcy (parametr ścieżki)
codestringTakKod weryfikacyjny z e-maila

Przykład

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

Odpowiedź

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

Usuń wystawcę

Usuń wystawcę. Wystawca nie może mieć żadnych odznak.

DELETE /issuers/{issuerId}

Przykład

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

Odpowiedź

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

Błędy

  • 400 — wystawca ma odznaki lub wydania i nie można go usunąć (najpierw usuń je)
  • 404 — wystawca nie znaleziony

Zaktualizuj wystawcę

Zaktualizuj pola niezweryfikowanego wystawcy. Po zweryfikowaniu wystawcy tylko logo i linkedinOrganizationId pozostają edytowalne, aby zachować stabilność poświadczeń.

PUT /issuers/{issuerId}

Parametry

ParametrTypWymaganyOpis
issuerIdstringTakIdentyfikator wystawcy (parametr ścieżki)
namestringNieNowa nazwa (tylko gdy niezweryfikowany)
urlstringNieNowy URL (tylko gdy niezweryfikowany)
emailstringNieNowy e-mail (tylko gdy niezweryfikowany — wysyła świeży e-mail weryfikacyjny)
logostringNieNowe logo zakodowane w Base64
linkedinOrganizationIdstringNieNowy identyfikator organizacji LinkedIn (lub pusty ciąg, aby wyczyścić)

Rotuj kod weryfikacyjny

Unieważnij poprzedni link weryfikacyjny i wyślij nowy e-mailem. Ważne tylko, gdy wystawca jest nadal niezweryfikowany.

POST /issuers/{issuerId}/rotate-code

Odpowiedź

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

badges.ninja Documentation