Skip to content

Δημόσια επαλήθευση

Αυτά τα endpoints είναι δημόσια και δεν απαιτούν πιστοποίηση. Επιτρέπουν σε οποιονδήποτε να επαληθεύσει διαπιστευτήρια εμβλημάτων και να ανακτήσει δεδομένα JSON Open Badge v2.0.

Όλα τα endpoints είναι σχετικά με το https://api.badges.ninja.

Λήψη εκδότη

Ανακτήστε το JSON προφίλ εκδότη Open Badge v2.0 για έναν δεδομένο εκδότη.

GET /certify-badge/issuer/{guid}

Παράδειγμα

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

Απάντηση

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

Λήψη εμβλήματος

Ανακτήστε το JSON BadgeClass Open Badge v2.0 για ένα δεδομένο έμβλημα.

GET /certify-badge/badge/{guid}

Παράδειγμα

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

Απάντηση

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

Λήψη απονομής

Ανακτήστε το JSON Assertion Open Badge v2.0 για μια δεδομένη απονομή.

GET /certify-badge/award/{guid}

Παράδειγμα

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

Απάντηση

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

Σημειώσεις

  • Το email του παραλήπτη κρυπτογραφείται (SHA-256) για ιδιωτικότητα, σύμφωνα με την προδιαγραφή Open Badge.
  • Οι απαντήσεις αποθηκεύονται σε cache για 1 ώρα (Cache-Control: public, max-age=3600).

Λήψη κειμένου κοινοποίησης απονομής

Ανακτήστε το προσαρμοσμένο κείμενο κοινοποίησης για το έμβλημα μιας απονομής.

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

Παράδειγμα

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

Απάντηση

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

Εάν δεν έχει οριστεί προσαρμοσμένο κείμενο κοινοποίησης, επιστρέφεται ένα προεπιλεγμένο μήνυμα.


Αποστολή email απονομής (δημόσιο)

Στέλνει ένα email ειδοποίησης απονομής από το δημόσιο endpoint. Αυτό χρησιμοποιείται από τη δημόσια σελίδα κοινοποίησης.

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

Παράμετροι

ΠαράμετροςΤύποςΥποχρεωτικόΠεριγραφή
recipientsstringΝαιΛίστα διευθύνσεων email χωρισμένων με κόμμα
subjectstringΌχιΘέμα email
messagestringΌχιΠροσαρμοσμένο μήνυμα που θα συμπεριληφθεί στο email

Παράδειγμα

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

Απάντηση

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

Επαλήθευση εκδότη

Επαληθεύστε έναν εκδότη κάνοντας κλικ στον σύνδεσμο επαλήθευσης που αποστέλλεται στο email του εκδότη. Συνήθως προσπελαύνεται μέσω του συνδέσμου στο email επαλήθευσης, δεν καλείται απευθείας.

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

Παράμετροι

ΠαράμετροςΤύποςΠεριγραφή
guidstringΤο GUID εκδότη
codestringΟ κωδικός επαλήθευσης

Απάντηση

Επιστρέφει μια σελίδα HTML που επιβεβαιώνει ότι η επαλήθευση ήταν επιτυχής ή απέτυχε. Αυτό το endpoint σχεδιάστηκε να ανοίγεται σε πρόγραμμα περιήγησης.

badges.ninja Documentation