Σφάλματα
Το API απαντά πάντα JSON, ακόμη κι αν το αίτημα δεν στέλνει Accept: application/json.
Μορφή σφάλματος
Κάθε σφάλμα έχει πεδίο message με περιγραφή για ανθρώπους. Τα σφάλματα επικύρωσης (422) έχουν και errors, με λίστα κωδικών ή μηνυμάτων ανά πεδίο:
{
"message": "The quantity field is required.",
"errors": {
"quantity": ["The quantity field is required."]
}
}
Για λογική στον κώδικά σου βασίσου στον κωδικό HTTP και στα κλειδιά του errors, όχι στο κείμενο του message, που μπορεί να αλλάξει.
Κωδικοί
| Κωδικός | Σημασία | Τι κάνεις |
|---|---|---|
200 |
Επιτυχία | — |
201 |
Δημιουργήθηκε | — |
204 |
Διαγράφηκε (χωρίς σώμα) | — |
401 |
Λείπει ή είναι λάθος / ληγμένο το token | Έλεγξε το header Authorization |
402 |
Η επιχείρηση δεν έχει ενεργή συνδρομή | Ενεργοποίησε συνδρομή στο Syncore |
403 |
Το token δεν έχει το δικαίωμα (ability), ή ο χρήστης δεν επιτρέπεται στο API | Φτιάξε token με τη σωστή ability |
404 |
Δεν βρέθηκε — ή ανήκει σε άλλη επιχείρηση | Έλεγξε το id / SKU |
422 |
Λάθος δεδομένα ή μη επιτρεπτή ενέργεια | Διάβασε το errors |
429 |
Ξεπεράστηκε το όριο αιτημάτων | Περίμενε Retry-After δευτερόλεπτα |
500 |
Σφάλμα στο Syncore | Ξαναδοκίμασε αργότερα |
402 — χωρίς συνδρομή
{ "message": "Δεν υπάρχει ενεργή συνδρομή." }
403 — χρήστης εκτός API πελατών
{ "message": "Το token δεν επιτρέπεται στο API πελατών." }
429 — όριο αιτημάτων
{ "message": "Πάρα πολλά αιτήματα. Δοκίμασε ξανά σε λίγο." }
με headers Retry-After, X-RateLimit-Limit και X-RateLimit-Remaining: 0. Δες Αυθεντικοποίηση & όρια.
Ειδικοί κωδικοί στο errors
| Πεδίο / κωδικός | Πότε |
|---|---|
status: ["transition_not_allowed"] |
Η αλλαγή κατάστασης παραγγελίας ή η αποστολή δεν επιτρέπεται τώρα. Η απάντηση της αλλαγής κατάστασης έχει και allowed με τις επιτρεπτές καταστάσεις. |
enabled: ["plan_limit"] |
Η ενεργοποίηση προϊόντος ξεπερνά το όριο του πλάνου. |
{
"message": "Η αλλαγή κατάστασης δεν επιτρέπεται.",
"errors": { "status": ["transition_not_allowed"] },
"allowed": ["processing", "cancelled"]
}
Επαναλήψεις
429και5xx: ξαναδοκίμασε με αναμονή (exponential backoff).4xx(εκτός του429): μην ξαναστέλνεις το ίδιο αίτημα· διόρθωσέ το.- Το
POST /ordersείναι idempotent στοexternal_ref: η επανάληψη επιστρέφει την ίδια παραγγελία με200.