Skip to content

Verificare publică ​

Aceste endpoint-uri sunt publice și nu necesită autentificare. Ele permit oricui să verifice credențialele de tip insignă și să obțină datele JSON Open Badge v2.0.

Toate endpoint-urile sunt relative la https://api.badges.ninja.

Obținere emitent ​

Obține JSON-ul Profilului de emitent Open Badge v2.0 pentru un emitent dat.

GET /certify-badge/issuer/{guid}

Exemplu ​

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

Răspuns ​

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

Obținere insignă ​

Obține JSON-ul BadgeClass Open Badge v2.0 pentru o insignă dată.

GET /certify-badge/badge/{guid}

Exemplu ​

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

Răspuns ​

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

Obținere credențial ​

Obține JSON-ul Assertion Open Badge v2.0 pentru un credențial dat.

GET /certify-badge/award/{guid}

Exemplu ​

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

Răspuns ​

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
}

Dacă credențialul a fost revocat, asertiunea conține "revoked": true și, atunci când a fost indicat un motiv, un șir "revocationReason":

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

Aceasta este vizualizarea revocării în Open Badges 2.0. Aceeași revocare este exprimată și în Verifiable Credential Open Badges 3.0 al credențialului — consultă Revocare (Bitstring Status List).

Note ​

  • E-mailul destinatarului este transformat în hash (SHA-256) pentru confidențialitate, conform specificației Open Badge.
  • Răspunsurile sunt păstrate în cache timp de 5 minute (Cache-Control: public, max-age=300). Credențialele revocate folosesc un cache mai scurt, de 30 de secunde (max-age=30), astfel încât revocarea să se propage rapid.

Obținere text de partajare al credențialului ​

Obține textul personalizat de partajare pentru insigna unui credențial.

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

Exemplu ​

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

Răspuns ​

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

Dacă nu este setat niciun text de partajare personalizat, se returnează un mesaj implicit.


Trimitere e-mail pentru credențial (public) ​

Trimite un e-mail de notificare despre credențial de la endpoint-ul public. Acesta este folosit de pagina publică de partajare.

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

Parametri ​

ParametruTipObligatoriuDescriere
recipientsstringDaListă de adrese de e-mail separate prin virgulă
messagestringNuMesaj personalizat de inclus în e-mail

Exemplu ​

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

Răspuns ​

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

Acesta este singurul endpoint care își încadrează rezultatul într-un înveliș { "statusCode", "info" }. Toate celelalte endpoint-uri returnează direct conținutul.


Verificare emitent ​

Verifică un emitent accesând linkul de verificare trimis la adresa de e-mail a emitentului. De obicei se accesează prin linkul din e-mailul de verificare, nu se apelează direct.

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

Parametri ​

ParametruTipDescriere
guidstringGUID-ul emitentului
codestringCodul de verificare

Răspuns ​

Returnează o pagină HTML care confirmă dacă verificarea a reușit sau a eșuat. Acest endpoint este conceput pentru a fi deschis într-un browser.

badges.ninja Documentation