REST API

Σφάλματα

Χειριστείτε τη σύμβαση αποκρίσεων προβλημάτων και συσχετίστε αιτήματα.

Τα σφάλματα ακολουθούν τη σύμβαση JSON προβλημάτων του RFC 9457, με τύπο μέσου application/problem+json.

{
  "type": "https://www.ninjabuy.com/api/v1/problems/bad-body",
  "title": "Invalid request",
  "status": 400,
  "detail": "The request did not match the expected shape.",
  "request_id": "REQUEST_ID",
  "errors": [{"pointer": "/links", "detail": "Validation detail"}]
}

Το type είναι το σταθερό αναγνωριστικό προβλήματος· τα title και detail το περιγράφουν. Το status αντιστοιχεί στην κατάσταση HTTP. Οι προαιρετικές εγγραφές errors περιέχουν JSON Pointer και λεπτομέρεια επικύρωσης· κενός δείκτης σημαίνει ολόκληρο το σώμα. Αναφέρετε το request_id (επίσης στο X-Request-Id) όταν αναφέρετε πρόβλημα.

Όλοι οι παρακάτω τύποι ξεκινούν με https://www.ninjabuy.com/api/v1/problems/.

Κατάληξη τύπουHTTPΣημασία / ενέργεια
bad-json400Το σώμα δεν είναι έγκυρο JSON. Διορθώστε τη σύνταξή του.
bad-body400Το σώμα, οι παράμετροι ερωτήματος ή ο δρομέας αποτυγχάνουν στην επικύρωση. Διαβάστε το errors.
bad-idempotency-key400Χρησιμοποιήστε 1 έως 255 εκτυπώσιμους χαρακτήρες ASCII για το Idempotency-Key.
unauthorized401Παρέχετε έγκυρο διακριτικό bearer· το WWW-Authenticate παρέχει στοιχεία ανακάλυψης.
not-found404Ο πόρος δεν είναι διαθέσιμος, είναι άγνωστος ή δεν ανήκει σε αυτόν τον λογαριασμό.
method-not-allowed405Χρησιμοποιήστε τη μέθοδο στο Allow.
idempotency-key-in-progress409Το πρώτο αίτημα με αυτό το κλειδί εκτελείται. Περιμένετε σύμφωνα με το Retry-After.
upload-too-large413Τα μεταφορτωμένα byte υπερβαίνουν το δηλωμένο μέγεθος ή το όριο 20 MiB.
unsupported-media-type415Στείλτε Content-Type: application/json.
idempotency-key-reused422Αυτό το κλειδί χρησιμοποιήθηκε με άλλο αίτημα. Χρησιμοποιήστε νέο κλειδί.
invalid-workbook422Η μεταφόρτωση δεν είναι αναγνώσιμο XLSX/CSV εντός των ορίων. Διαβάστε το errors.
upload-expired422Η δέσμευση μεταφόρτωσης έληξε. Μεταφορτώστε ξανά το αρχείο.
rate-limited429Περιμένετε τα δευτερόλεπτα του Retry-After πριν ξαναπροσπαθήσετε.
search-rate-limited429Το παράθυρο αναζήτησης λέξεων-κλειδιών είναι πλήρες. Περιμένετε σύμφωνα με το Retry-After.
service-unavailable503Δοκιμάστε ξανά σύντομα· τηρήστε το Retry-After εφόσον υπάρχει.
internal-error500Δοκιμάστε ξανά αργότερα· κρατήστε το αναγνωριστικό αιτήματος αν επιμένει.

Ένα επιτυχές αίτημα μπορεί να περιέχει αποτυχίες για επιμέρους εισόδους. Χειριστείτε τις καταστάσεις συνδέσμων ξεχωριστά από τα σφάλματα HTTP. Χρησιμοποιήστε Idempotency-Key για να επαναλάβετε αίτημα δημιουργίας· χωρίς κλειδί, η επανάληψη υποβολής παρτίδας δημιουργεί άλλη εργασία.