Skip to content

Offentlig verifiering

Dessa ändpunkter är offentliga och kräver ingen autentisering. De låter vem som helst verifiera märkesmeriter och hämta Open Badge v2.0-JSON-data.

Alla ändpunkter är relativa till https://api.badges.ninja.

Hämta utfärdare

Hämta Open Badge v2.0 Issuer Profile-JSON för en given utfärdare.

GET /certify-badge/issuer/{guid}

Exempel

bash
curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890

Svar

json
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "Issuer",
  "id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "name": "Acme Academy",
  "url": "https://acme.example.com",
  "email": "badges@acme.example.com",
  "verification": {
    "type": "hosted",
    "allowedOrigins": "api.badges.ninja"
  }
}

Hämta märke

Hämta Open Badge v2.0 BadgeClass-JSON för ett givet märke.

GET /certify-badge/badge/{guid}

Exempel

bash
curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901

Svar

json
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "BadgeClass",
  "id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
  "name": "JavaScript Fundamentals",
  "description": "Demonstrates proficiency in core JavaScript concepts",
  "criteria": {
    "narrative": "Completed the JavaScript Fundamentals course with a score of 80% or higher"
  },
  "image": "https://ipfs.ninja/ipfs/Qm...",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}

Hämta utmärkelse

Hämta Open Badge v2.0 Assertion-JSON för en given utmärkelse.

GET /certify-badge/award/{guid}

Exempel

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012

Svar

json
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "Assertion",
  "id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
  "recipient": {
    "type": "email",
    "hashed": true,
    "identity": "sha256$..."
  },
  "badge": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
  "issuedOn": "2025-01-15T00:00:00.000Z",
  "verification": {
    "type": "hosted"
  }
}

Anmärkningar

  • Mottagarens e-post hashas (SHA-256) för integritet, enligt Open Badge-specen.
  • Svar cachas i 1 timme (Cache-Control: public, max-age=3600).

Hämta utmärkelsens delningstext

Hämta den anpassade delningstexten för ett märkets utmärkelse.

GET /certify-badge/award/{guid}/share-text

Exempel

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text

Svar

json
{
  "text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}

Om ingen anpassad delningstext är satt returneras ett standardmeddelande.


Skicka utmärkelse-e-post (offentligt)

Skicka ett utmärkelsenotifieringsmejl från den offentliga ändpunkten. Detta används av den offentliga delningssidan.

POST /certify-badge/award/{guid}/send-email

Parametrar

ParameterTypObligatoriskBeskrivning
recipientsstringJaKommaseparerad lista med e-postadresser
subjectstringNejE-postens ämne
messagestringNejAnpassat meddelande att inkludera i e-posten

Exempel

bash
curl -X POST https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/send-email \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "recipients": "colleague@example.com",
      "message": "Check out this badge!"
    }
  }'

Svar

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

Verifiera utfärdare

Verifiera en utfärdare genom att klicka på verifieringslänken som skickats till utfärdarens e-post. Anropas vanligtvis via länken i verifieringsmejlet, inte direkt.

GET /certify-badge/verify-issuer/{guid}/{code}

Parametrar

ParameterTypBeskrivning
guidstringUtfärdarens GUID
codestringVerifieringskoden

Svar

Returnerar en HTML-sida som bekräftar om verifieringen lyckades eller misslyckades. Denna ändpunkt är avsedd att öppnas i en webbläsare.

badges.ninja Documentation