Skip to content

Verificació pública

Aquests endpoints són públics i no requereixen autenticació. Permeten a qualsevol persona verificar credencials i obtenir JSON Open Badge v2.0.

Tots els endpoints són relatius a https://api.badges.ninja.

Obtenir emissor

Recupera el JSON Issuer Profile d'Open Badge v2.0 d'un emissor.

GET /certify-badge/issuer/{guid}

Exemple

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

Resposta

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

Obtenir insígnia

Recupera el JSON BadgeClass d'Open Badge v2.0 d'una insígnia.

GET /certify-badge/badge/{guid}

Exemple

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

Resposta

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

Obtenir credencial

Recupera el JSON Assertion d'Open Badge v2.0 d'una credencial.

GET /certify-badge/award/{guid}

Exemple

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

Resposta

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

Notes

  • El correu del destinatari es xifra amb hash (SHA-256) per privacitat, com indica l'especificació d'Open Badge.
  • Les respostes es guarden a la memòria cau durant 1 hora (Cache-Control: public, max-age=3600).

Obtenir text de difusió de la credencial

Recupera el text de difusió personalitzat de la insígnia d'una credencial.

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

Exemple

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

Resposta

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

Si no hi ha text de difusió personalitzat, es retorna un missatge per defecte.


Enviar correu de credencial (públic)

Envia un correu de notificació des de l'endpoint públic. L'utilitza la pàgina pública de compartició.

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

Paràmetres

ParàmetreTipusObligatoriDescripció
recipientsstringLlista de correus separada per comes
subjectstringNoAssumpte del correu
messagestringNoMissatge personalitzat a incloure al correu

Exemple

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

Resposta

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

Verificar emissor

Verifica un emissor obrint l'enllaç de verificació enviat al correu de l'emissor. Habitualment s'hi accedeix des de l'enllaç del correu, no s'invoca directament.

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

Paràmetres

ParàmetreTipusDescripció
guidstringEl GUID de l'emissor
codestringEl codi de verificació

Resposta

Retorna una pàgina HTML que confirma si la verificació ha tingut èxit o no. Aquest endpoint està pensat per obrir-se en un navegador.

badges.ninja Documentation