Skip to content

API wystawców ​

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

Wszystkie endpointy wymagają uwierzytelnienia za pomocą nagłówka X-Api-Key. Zobacz Uwierzytelnianie.

Tworzenie wystawcy ​

Tworzy nowego wystawcę odznak.

POST /issuers

Parametry ​

ParametrTypWymaganyOpis
namestringTakNazwa organizacji (minimum 3 znaki)
urlstringTakStrona internetowa organizacji (musi być prawidłowym adresem URL HTTP/HTTPS)
emailstringTakKontaktowy adres e-mail wystawcy
logostringNieObraz zakodowany w Base64 (PNG lub JPG)
linkedinOrganizationIdstringNieNumeryczny identyfikator strony firmowej na LinkedIn. Po ustawieniu każda publiczna strona poświadczenia tego wystawcy wyświetla przycisk Dodaj do profilu LinkedIn.

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
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Uwagi ​

  • Wlicza się do limitu wystawców w Twoim planie (Free: 2, Starter: 5, Pro: 10). Bez pobierania z przydziału.
  • Jeśli adres e-mail wystawcy jest taki sam jak adres e-mail Twojego konta, wystawca jest weryfikowany automatycznie.
  • Jeśli adres e-mail jest inny, na adres e-mail wystawcy wysyłana jest wiadomość weryfikacyjna.
  • Po skonfigurowaniu wystawcy użyj API poświadczeń, aby zacząć wystawiać poświadczenia w jego imieniu.

Lista wystawców ​

Pobiera wszystkich utworzonych przez Ciebie wystawców.

GET /issuers

Przykład ​

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

Odpowiedź ​

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 to czas Unix epoch w milisekundach. Gdy wystawców jest więcej, niż mieści się na jednej stronie, zwracany jest także lastEvaluatedKey służący do paginacji.


Weryfikacja wystawcy ​

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

POST /issuers/{issuerId}/verify

Parametry ​

ParametrTypWymaganyOpis
issuerIdstringTakIdentyfikator wystawcy (parametr ścieżki)
codestringTakKod weryfikacyjny z wiadomości e-mail

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ź ​

Zwykły ciąg znaków:

json
"issuer has been verified"

Usuwanie wystawcy ​

Usuwa wystawcę. Wystawca nie może mieć powiązanych 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ź ​

Zwykły ciąg znaków:

json
"issuer has been deleted"

Błędy ​

  • 400 — wystawca nadal ma powiązane odznaki: issuer has {n} badge(s) linked — delete the badges first. Usunięcie zależy wyłącznie od powiązanych odznak — poświadczenia go nie blokują.
  • 404 — nie znaleziono wystawcy

Aktualizacja wystawcy ​

Aktualizuje pola wystawcy. Edytować można tylko niezweryfikowanych wystawców — gdy wystawca zostanie zweryfikowany, ten endpoint zwraca 400 verified issuers cannot be edited, aby zachować stabilność poświadczeń. Edycja wystawcy generuje jego kod weryfikacyjny na nowo: jeśli email jest taki sam jak adres e-mail Twojego konta, wystawca jest ponownie weryfikowany automatycznie, w przeciwnym razie na ten adres wysyłana jest nowa wiadomość weryfikacyjna.

PUT /issuers/{issuerId}

Parametry ​

ParametrTypWymaganyOpis
issuerIdstringTakIdentyfikator wystawcy (parametr ścieżki)
namestringNieNowa nazwa
urlstringNieNowy adres URL
emailstringNieNowy adres e-mail (wysyła nową wiadomość weryfikacyjną, chyba że jest taki sam jak adres e-mail Twojego konta)
logostringNieNowe logo zakodowane w Base64
linkedinOrganizationIdstringNieNowy identyfikator organizacji na LinkedIn (lub pusty ciąg, aby go wyczyścić)

Odpowiedź ​

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

Błędy ​

  • 400 — verified issuers cannot be edited (wystawca jest już zweryfikowany)
  • 400 — not authorized (wystawca należy do innego konta)
  • 404 — nie znaleziono wystawcy

badges.ninja Documentation