Skip to content

Issuers API ​

Διαχειριστείτε τους εκδότες σημάτων — τους οργανισμούς ή τα άτομα που εκδίδουν σήματα.

Όλα τα endpoints απαιτούν πιστοποίηση μέσω της κεφαλίδας X-Api-Key. Δείτε Πιστοποίηση.

Δημιουργία εκδότη ​

Δημιουργήστε έναν νέο εκδότη σημάτων.

POST /issuers

Παράμετροι ​

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
namestringΝαιΌνομα του οργανισμού (τουλάχιστον 3 χαρακτήρες)
urlstringΝαιΙστότοπος του οργανισμού (πρέπει να είναι έγκυρο URL HTTP/HTTPS)
emailstringΝαιEmail επικοινωνίας του εκδότη
logostringΌχιΕικόνα κωδικοποιημένη σε Base64 (PNG ή JPG)
linkedinOrganizationIdstringΌχιΑριθμητικό ID της σελίδας εταιρείας στο LinkedIn. Όταν οριστεί, κάθε δημόσια σελίδα διαπιστευτηρίου αυτού του εκδότη εμφανίζει ένα κουμπί Προσθήκη στο προφίλ LinkedIn.

Παράδειγμα ​

bash
curl -X POST https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "name": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com"
    }
  }'

Απάντηση ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Σημειώσεις ​

  • Προσμετράται στο όριο εκδοτών του πλάνου σας (Free: 2, Starter: 5, Pro: 10). Δεν γίνεται αφαίρεση από την ποσόστωση.
  • Αν το email του εκδότη ταυτίζεται με το email του λογαριασμού σας, ο εκδότης επαληθεύεται αυτόματα.
  • Αν το email διαφέρει, στέλνεται email επαλήθευσης στη διεύθυνση του εκδότη.
  • Αφού ρυθμίσετε έναν εκδότη, χρησιμοποιήστε το Credentials API για να αρχίσετε να εκδίδετε διαπιστευτήρια υπό αυτόν τον εκδότη.

Λίστα εκδοτών ​

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

GET /issuers

Παράδειγμα ​

bash
curl -X GET https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here"

Απάντηση ​

json
{
  "items": [
    {
      "id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
      "name": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com",
      "verified": true,
      "timestamp": 1736937000000
    }
  ]
}

Το timestamp είναι χρονοσφραγίδα Unix σε χιλιοστά του δευτερολέπτου. Όταν υπάρχουν περισσότεροι εκδότες από όσους χωρούν σε μία σελίδα, επιστρέφεται επίσης ένα lastEvaluatedKey για τη σελιδοποίηση.


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

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

POST /issuers/{issuerId}/verify

Παράμετροι ​

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
issuerIdstringΝαιΤο ID του εκδότη (παράμετρος διαδρομής)
codestringΝαιΟ κωδικός επαλήθευσης από το email

Παράδειγμα ​

bash
curl -X POST https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/verify \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "code": "ABC123"
    }
  }'

Απάντηση ​

Μια απλή συμβολοσειρά:

json
"issuer has been verified"

Διαγραφή εκδότη ​

Διαγράψτε έναν εκδότη. Ο εκδότης δεν πρέπει να έχει συνδεδεμένα σήματα.

DELETE /issuers/{issuerId}

Παράδειγμα ​

bash
curl -X DELETE https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "X-Api-Key: bws_your_api_key_here"

Απάντηση ​

Μια απλή συμβολοσειρά:

json
"issuer has been deleted"

Σφάλματα ​

  • 400 — ο εκδότης έχει ακόμη συνδεδεμένα σήματα: issuer has {n} badge(s) linked — delete the badges first. Η διαγραφή εξαρτάται μόνο από τα συνδεδεμένα σήματα — τα διαπιστευτήρια δεν την εμποδίζουν.
  • 404 — ο εκδότης δεν βρέθηκε

Ενημέρωση εκδότη ​

Ενημερώστε τα πεδία ενός εκδότη. Μπορούν να επεξεργαστούν μόνο μη επαληθευμένοι εκδότες — μόλις επαληθευτεί ένας εκδότης, αυτό το endpoint επιστρέφει 400 verified issuers cannot be edited για να διατηρείται η σταθερότητα των διαπιστευτηρίων. Η επεξεργασία ενός εκδότη αναδημιουργεί τον κωδικό επαλήθευσής του: αν το email ταυτίζεται με το email του λογαριασμού σας, ο εκδότης επαληθεύεται ξανά αυτόματα, διαφορετικά στέλνεται νέο email επαλήθευσης σε αυτή τη διεύθυνση.

PUT /issuers/{issuerId}

Παράμετροι ​

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
issuerIdstringΝαιΤο ID του εκδότη (παράμετρος διαδρομής)
namestringΌχιΝέο όνομα
urlstringΌχιΝέο URL
emailstringΌχιΝέο email (στέλνει νέο email επαλήθευσης εκτός αν ταυτίζεται με το email του λογαριασμού σας)
logostringΌχιΝέο λογότυπο κωδικοποιημένο σε Base64
linkedinOrganizationIdstringΌχιΝέο ID οργανισμού LinkedIn (ή κενή συμβολοσειρά για εκκαθάριση)

Απάντηση ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "updated": true
}

Σφάλματα ​

  • 400 — verified issuers cannot be edited (ο εκδότης έχει ήδη επαληθευτεί)
  • 400 — not authorized (ο εκδότης ανήκει σε άλλον λογαριασμό)
  • 404 — ο εκδότης δεν βρέθηκε

badges.ninja Documentation