Skip to content

Σφάλματα ​

Όταν μια αίτηση προς το API αποτύχει, το badges.ninja επιστρέφει μια απάντηση σφάλματος σε JSON με τον κατάλληλο κωδικό κατάστασης HTTP.

Μορφή σφάλματος ​

Όλα τα σφάλματα ακολουθούν αυτή τη δομή:

json
{
  "error": "description of what went wrong"
}

Κωδικοί κατάστασης ​

ΚωδικόςΣημασίαΠότε εμφανίζεται
400Μη έγκυρη αίτησηΕλλείπουσες ή μη έγκυρες παράμετροι, επίτευξη ορίου του πλάνου ή της ποσόστωσης, λειτουργία που απαιτεί ανώτερο πλάνο ή έλλειψη εξουσιοδότησης — όλες οι αποτυχίες επικύρωσης επιστρέφουν 400
402Απαιτείται πληρωμήΔεσμευμένος για την εξάντληση των πιστώσεων. Το API των ψηφιακών σημάτων προς το παρόν δεν αφαιρεί πιστώσεις, επομένως ο κωδικός αυτός δεν επιστρέφεται ποτέ στην πράξη
404Δεν βρέθηκεΟ ζητούμενος πόρος δεν υπάρχει
500Εσωτερικό σφάλμα διακομιστήΠαρουσιάστηκε απροσδόκητο σφάλμα στον διακομιστή

Δεν υπάρχει 403 ή 429: οι αποτυχίες εξουσιοδότησης επιστρέφουν 400 ("not authorized") και δεν υπάρχει περιορισμός ρυθμού σε επίπεδο εφαρμογής.

Συνηθισμένα σφάλματα και λύσεις ​

Ελλείπουσες υποχρεωτικές παράμετροι ​

json
{ "error": "missing required parameters: name, url, email" }

Λύση: Συμπεριλάβετε όλες τις υποχρεωτικές παραμέτρους στο σώμα της αίτησής σας. Ανατρέξτε στην τεκμηρίωση του endpoint για την πλήρη λίστα.

Μη έγκυρο email ​

json
{ "error": "invalid email" }

Λύση: Δώστε μια έγκυρη διεύθυνση email με τη μορφή user@domain.com.

Μη έγκυρο URL ​

json
{ "error": "invalid URL" }

Λύση: Δώστε ένα πλήρες URL που περιλαμβάνει το πρωτόκολλο, π.χ. https://example.com.

Πολύ σύντομο όνομα ​

json
{ "error": "name must be at least 3 characters" }

Λύση: Χρησιμοποιήστε μεγαλύτερο όνομα. Τα ονόματα εκδοτών απαιτούν τουλάχιστον 3 χαρακτήρες. Τα ονόματα παραληπτών απαιτούν τουλάχιστον 5 χαρακτήρες.

Ο εκδότης δεν είναι επαληθευμένος ​

json
{ "error": "issuer must be verified before creating badges" }

Λύση: Επαληθεύστε πρώτα τον εκδότη. Ελέγξτε το email του εκδότη για τον σύνδεσμο επαλήθευσης ή χρησιμοποιήστε το endpoint Επαλήθευση εκδότη.

Επίτευξη ποσόστωσης διαπιστευτηρίων (400) ​

json
{ "error": "Your Free plan reached its credential limit (1200/1200) — your allowance renews on your plan anniversary, or upgrade to Starter" }

Λύση: Έχετε χρησιμοποιήσει ολόκληρο το ετήσιο απόθεμα διαπιστευτηρίων σας (Free: 1.200/έτος, Starter: 12.000/έτος, Pro: 120.000/έτος). Το απόθεμα επαναφέρεται στην επέτειο εγγραφής του λογαριασμού σας — όχι στο τέλος του ημερολογιακού μήνα. Αναβαθμίστε το πλάνο σας για μεγαλύτερο όριο. Δείτε Πλάνα και χρέωση.

Επίτευξη ορίου πλάνου (400) ​

json
{ "error": "Your Free plan reached its issuer limit (2/2) — delete an issuer or upgrade to Starter" }

Το όριο ψηφιακών σημάτων έχει την ίδια μορφή:

json
{ "error": "badge limit reached (5/5 on the starter plan) — delete a badge or upgrade your plan" }

Λύση: Έχετε φτάσει το όριο του πλάνου σας για εκδότες ή ψηφιακά σήματα. Διαγράψτε έναν αχρησιμοποίητο πόρο ή αναβαθμίστε το πλάνο σας.

Ο πόρος έχει εξαρτήσεις (400) ​

json
{ "error": "issuer has 3 badge(s) linked — delete the badges first" }

Λύση: Διαγράψτε όλα τα ψηφιακά σήματα που συνδέονται με τον εκδότη πριν διαγράψετε τον εκδότη. Ομοίως, διαγράψτε όλα τα διαπιστευτήρια ενός ψηφιακού σήματος πριν διαγράψετε το ίδιο το ψηφιακό σήμα.

Μη εξουσιοδοτημένη ενέργεια (400) ​

json
{ "error": "not authorized" }

Οι αποτυχίες εξουσιοδότησης είναι σφάλματα επικύρωσης, γι' αυτό επιστρέφουν 400 (όχι 401 ή 403).

Λύση: Μπορείτε να τροποποιήσετε μόνο πόρους που σας ανήκουν. Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό κλειδί API.

HTML στο κείμενο κοινοποίησης ​

json
{ "error": "HTML tags are not allowed" }

Λύση: Το κείμενο κοινοποίησης πρέπει να είναι απλό κείμενο. Αφαιρέστε τυχόν ετικέτες HTML από την παράμετρο text.

badges.ninja Documentation