Skip to content

Uwierzytelnianie

Wszystkie żądania API do badges.ninja wymagają uwierzytelnienia. Ta strona wyjaśnia, jak uwierzytelniać żądania.

Bazowy URL

https://api.badges.ninja

Wszystkie endpointy API są względne do tego bazowego URL.

Uwierzytelnianie kluczem API

Główną metodą uwierzytelniania jest klucz API przekazywany w nagłówku X-Api-Key.

Uzyskanie klucza API

Z panelu:

  1. Zaloguj się na badges.ninja.
  2. Przejdź do Klucze API w pasku bocznym.
  3. Kliknij Utwórz klucz API.
  4. Skopiuj klucz (pokazuje się tylko raz).

Z API:

Klucze API można także zarządzać przez API, używając tokenu JWT z przepływu uwierzytelniania Cognito. Najprostsze podejście to jednak panel.

Używanie klucza API

Dołącz nagłówek X-Api-Key w każdym żądaniu:

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

Format klucza API

Klucze używają prefiksu bws_:

bws_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

Format żądań

  • Żądania GET przekazują parametry jako query string
  • Żądania POST i PUT wysyłają treść JSON z obiektem parameters
  • Wszystkie odpowiedzi zwracają JSON z Content-Type: application/json

Struktura żądania POST/PUT

json
{
  "parameters": {
    "name": "My Badge",
    "description": "A sample badge"
  }
}

Przykładowe żądanie

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": "My Organization",
      "url": "https://example.com",
      "email": "admin@example.com"
    }
  }'

Przykładowa odpowiedź

json
{
  "statusCode": 200,
  "info": {
    "issuerId": "https://api.badges.ninja/certify-badge/issuer/abc123-def456"
  }
}

Limity szybkości

Żądania API podlegają ograniczeniom szybkości. Jeśli przekroczysz limit, otrzymasz odpowiedź 429 Too Many Requests. Odczekaj kilka sekund i spróbuj ponownie.

Publiczne endpointy

Niektóre endpointy nie wymagają uwierzytelnienia. Są to publiczne endpointy weryfikacyjne pod /certify-badge/, które pozwalają każdemu zweryfikować poświadczenia odznak.

badges.ninja Documentation