Skip to content

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

Τα endpoints αυτά είναι δημόσια και δεν απαιτούν έλεγχο ταυτότητας. Επιτρέπουν σε οποιονδήποτε να επαληθεύσει διαπιστευτήρια ψηφιακών σημάτων και να ανακτήσει δεδομένα JSON Open Badge v2.0.

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

Λήψη εκδότη ​

Ανακτήστε το JSON του προφίλ εκδότη (Issuer Profile) 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://badges.ninja/images/{sha256}.png",
  "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"
  },
  "revoked": false
}

Αν το διαπιστευτήριο έχει ανακληθεί, η βεβαίωση περιέχει "revoked": true και, όταν έχει δοθεί λόγος, μια συμβολοσειρά "revocationReason":

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

Αυτή είναι η προβολή της ανάκλησης στο Open Badges 2.0. Η ίδια ανάκληση εκφράζεται και στο Verifiable Credential Open Badges 3.0 του διαπιστευτηρίου — δείτε Ανάκληση (Bitstring Status List).

Σημειώσεις ​

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

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

Ανακτήστε το προσαρμοσμένο κείμενο κοινοποίησης για το ψηφιακό σήμα ενός διαπιστευτηρίου.

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 χωρισμένων με κόμμα
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"
}

Αυτό είναι το μοναδικό endpoint που τυλίγει το αποτέλεσμά του σε ένα περίβλημα { "statusCode", "info" }. Κάθε άλλο endpoint επιστρέφει απευθείας το περιεχόμενό του.


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

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

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

Παράμετροι ​

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

Απάντηση ​

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

badges.ninja Documentation