Skip to content

Offentlig verificering ​

Disse endpoints er offentlige og kræver ikke autentificering. De giver alle mulighed for at verificere badge-beviser og hente Open Badge v2.0 JSON-data.

Alle endpoints er relative til https://api.badges.ninja.

Hent udsteder ​

Hent Open Badge v2.0 Issuer Profile JSON for en given udsteder.

GET /certify-badge/issuer/{guid}

Eksempel ​

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

Hent badge ​

Hent Open Badge v2.0 BadgeClass JSON for et givent badge.

GET /certify-badge/badge/{guid}

Eksempel ​

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://badges.ninja/images/{sha256}.png",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}

Hent bevis ​

Hent Open Badge v2.0 Assertion JSON for et givent bevis.

GET /certify-badge/award/{guid}

Eksempel ​

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"
  },
  "revoked": false
}

Hvis beviset er blevet tilbagekaldt, indeholder assertion'en "revoked": true og, hvis der er angivet en begrundelse, en "revocationReason"-streng:

json
{
  "revoked": true,
  "revocationReason": "Issued in error"
}

Dette er Open Badges 2.0-visningen af tilbagekaldelse. Den samme tilbagekaldelse udtrykkes også i bevisets Open Badges 3.0 Verifiable Credential — se Tilbagekaldelse (Bitstring Status List).

Noter ​

  • Modtagerens e-mailadresse hashes (SHA-256) af hensyn til privatlivets fred i overensstemmelse med Open Badge-specifikationen.
  • Svar caches i 5 minutter (Cache-Control: public, max-age=300). Tilbagekaldte beviser bruger en kortere cache på 30 sekunder (max-age=30), så tilbagekaldelsen slår hurtigt igennem.

Hent delingstekst for bevis ​

Hent den tilpassede delingstekst for et beviss badge.

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

Eksempel ​

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

Hvis der ikke er angivet en tilpasset delingstekst, returneres en standardbesked.


Send bevis-e-mail (offentlig) ​

Send en e-mailnotifikation om et bevis fra det offentlige endpoint. Det bruges af den offentlige delingsside.

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

Parametre ​

ParameterTypePåkrævetBeskrivelse
recipientsstringJaKommasepareret liste over e-mailadresser
messagestringNejTilpasset besked, der medtages i e-mailen

Eksempel ​

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

Dette er det eneste endpoint, der pakker sit resultat ind i en { "statusCode", "info" }-konvolut. Alle andre endpoints returnerer deres data direkte.


Verificér udsteder ​

Verificér en udsteder ved at klikke på det verificeringslink, der er sendt til udstederens e-mailadresse. Det åbnes typisk via linket i verificerings-e-mailen og kaldes ikke direkte.

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

Parametre ​

ParameterTypeBeskrivelse
guidstringUdstederens GUID
codestringVerificeringskoden

Svar ​

Returnerer en HTML-side, der bekræfter, om verificeringen lykkedes eller mislykkedes. Dette endpoint er designet til at blive åbnet i en browser.

badges.ninja Documentation