Ελληνικά
Ελληνικά
Appearance
Ελληνικά
Ελληνικά
Appearance
Δημιουργία και διαχείριση διαπιστευτηρίων (assertions) — εμβλήματα που εκδίδονται σε συγκεκριμένους παραλήπτες.
Όλα τα endpoints απαιτούν πιστοποίηση μέσω της κεφαλίδας X-Api-Key. Δείτε Πιστοποίηση.
Εκδίδει ένα έμβλημα σε έναν παραλήπτη.
POST /awards| Παράμετρος | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
badgeId | string | Ναι | Το ID του εμβλήματος προς έκδοση |
recipient | object | Ναι | Στοιχεία παραλήπτη (δείτε παρακάτω) |
recipient.name | string | Ναι | Πλήρες όνομα παραλήπτη (τουλάχιστον 5 χαρακτήρες) |
recipient.email | string | Ναι | Διεύθυνση email παραλήπτη |
issuedOn | string | Ναι | Ημερομηνία έκδοσης σε μορφή ISO 8601 (π.χ. 2025-01-15) |
expires | string | Όχι | Ημερομηνία λήξης σε μορφή ISO 8601 |
curl -X POST https://api.badges.ninja/awards \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"badgeId": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
"recipient": {
"name": "Jane Smith",
"email": "jane@example.com"
},
"issuedOn": "2025-01-15"
}
}'{
"statusCode": 200,
"info": {
"awardId": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012"
}
}Ανακτήστε διαπιστευτήρια με προαιρετικό φιλτράρισμα και σελιδοποίηση.
GET /awards| Παράμετρος | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
filter | JSON string | Όχι | Αντικείμενο φίλτρου (δείτε παρακάτω) |
lastEvaluatedKey | string | Όχι | Token σελιδοποίησης από προηγούμενη απάντηση |
Η παράμετρος filter δέχεται μια συμβολοσειρά JSON με αυτά τα πεδία:
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
badgeId | string | Φίλτρο κατά ID εμβλήματος. |
search | string | Υποσυμβολοσειρά για αναζήτηση είτε σε ονόματα παραληπτών είτε σε emails (δείτε searchField). |
searchField | string | Είτε name (προεπιλογή) είτε email — ποια στήλη να αναζητηθεί. |
Η σελιδοποίηση μέσω lastEvaluatedKey λειτουργεί με ή χωρίς φίλτρα. Το μέγεθος σελίδας είναι 50.
curl -X GET https://api.badges.ninja/awards \
-H "X-Api-Key: bws_your_api_key_here"curl -X GET "https://api.badges.ninja/awards?filter=%7B%22badgeId%22%3A%22b1c2d3e4%22%7D" \
-H "X-Api-Key: bws_your_api_key_here"{
"statusCode": 200,
"info": {
"awards": [
{
"id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
"badge": {
"id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"name": "JavaScript Fundamentals",
"image": "https://ipfs.ninja/ipfs/Qm..."
},
"recipient": {
"name": "Jane Smith",
"email": "jane@example.com"
},
"issuedOn": "2025-01-15T00:00:00.000Z",
"timestamp": "2025-01-15T10:30:00.000Z"
}
],
"lastEvaluatedKey": "eyJ..."
}
}Εάν το lastEvaluatedKey είναι παρόν στην απάντηση, υπάρχουν περισσότερα αποτελέσματα. Περάστε το ως παράμετρο ερωτήματος στο επόμενο αίτημα για να λάβετε την επόμενη σελίδα.
Στέλνει μια ειδοποίηση μέσω email σε έναν παραλήπτη σχετικά με το διαπιστευτήριό του.
POST /awards/{awardId}/send| Παράμετρος | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
awardId | string | Ναι | Το ID της απονομής (παράμετρος διαδρομής και body) |
email | string | Ναι | Διεύθυνση email παραλήπτη |
curl -X POST https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/send \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"awardId": "c1d2e3f4-a5b6-7890-cdef-123456789012",
"email": "jane@example.com"
}
}'{
"statusCode": 200,
"info": {
"sent": true
}
}Μοιραστείτε ένα διαπιστευτήριο με πολλαπλούς παραλήπτες μέσω email.
POST /awards/{awardId}/share| Παράμετρος | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
awardId | string | Ναι | Το ID της απονομής (παράμετρος διαδρομής και body) |
recipients | string | Ναι | Λίστα διευθύνσεων email χωρισμένων με κόμμα |
subject | string | Ναι | Γραμμή θέματος email |
message | string | Ναι | Σώμα μηνύματος email |
curl -X POST https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/share \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"awardId": "c1d2e3f4-a5b6-7890-cdef-123456789012",
"recipients": "manager@example.com,hr@example.com",
"subject": "Check out my new badge!",
"message": "I just earned the JavaScript Fundamentals badge."
}
}'{
"statusCode": 200,
"info": {
"shared": true
}
}Δημιουργεί ένα έτοιμο για εκτύπωση πιστοποιητικό PDF A4 για ένα διαπιστευτήριο.
GET /awards/{awardGuid}/pdfΔεν απαιτείται πιστοποίηση — αυτό το endpoint είναι δημόσιο ώστε οι παραλήπτες να μπορούν να κατεβάσουν το δικό τους πιστοποιητικό.
curl -OJ https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/pdfΗ απάντηση είναι το δυαδικό PDF με κεφαλίδα Content-Type: application/pdf.
Καταγράφει ένα συμβάν αφοσίωσης (view, share, download, LinkedIn add). Χρησιμοποιείται από τη δημόσια σελίδα διαπιστευτηρίου για τη συμπλήρωση στατιστικών αφοσίωσης. Δεν απαιτείται πιστοποίηση.
POST /awards/{awardGuid}/event| Παράμετρος | Τύπος | Υποχρεωτικό | Περιγραφή |
|---|---|---|---|
kind | string | Ναι | Ένα από view, share, download, linkedin_add. |
network | string | Όχι | Όταν kind=share, το κοινωνικό δίκτυο: linkedin, twitter, facebook, whatsapp, telegram, email, copy. |
Καταστολή διπλοτύπων ανά IP: το ίδιο kind από το ίδιο IP μετράει μία φορά ανά 24 ώρες.
curl -X POST https://api.badges.ninja/awards/c1d2e3f4-a5b6-7890-cdef-123456789012/event \
-H "Content-Type: application/json" \
-d '{"parameters": {"kind": "share", "network": "linkedin"}}'Ανακτά τους αθροιστικούς μετρητές αφοσίωσης για ένα διαπιστευτήριο.
GET /awards/{awardGuid}/statsΔεν απαιτείται πιστοποίηση.
{
"statusCode": 200,
"info": {
"stats": {
"views": 142,
"shares": { "linkedin": 8, "twitter": 2, "email": 1, "copy": 5 },
"downloads": 3,
"linkedin_adds": 4
}
}
}