Κάθε σφάλμα, εξηγημένο σε σταθερή διεύθυνση.
Αυτή η σελίδα είναι αναφορά λειτουργίας, όχι διαφημιστικό κείμενο. Κάθε κατηγορία σφάλματος του Connect API έχει εδώ μόνιμη άγκυρα· οι αποκρίσεις σφάλματος του API θα παραπέμπουν σε αυτές τις διευθύνσεις. Λαμβάνετε την πιθανή αιτία και τη διόρθωση — με αυτή τη σειρά. Επιστροφή στην τεκμηρίωση για προγραμματιστές.
Κλειδί που λείπει, κακοσχηματισμένο ή άγνωστο
Το API πιστοποιεί αποκλειστικά μέσω της κεφαλίδας Authorization: Bearer vgk_… — ποτέ μέσω cookie συνεδρίας. Ένα ανακληθέν κλειδί γίνεται άγνωστο τη στιγμή της ανάκλησής του.
Το ίδιο 401 φέρει "motif": "fin_option_api" όταν το κλειδί σταμάτησε επειδή το API δεν αποτελεί πλέον μέρος της συνδρομής του γραφείου. Η ημερομηνία αυτής της παύσης αναφέρθηκε σε e-mail προς τους διαχειριστές του γραφείου ή, ελλείψει αυτών, προς τη διεύθυνση τιμολόγησης του γραφείου, και στη συνέχεια ανακοινωνόταν στην κεφαλίδα Sunset κάθε απάντησης σε κλήση που έγινε δεκτή (χρονοδιάγραμμα στο #cle-expiree). Χωρίς αιτιολογία, μπορεί επίσης να οφείλεται σε συνδρομή σε αναστολή: η αναστολή διακόπτει τα κλειδιά αμέσως.
Η διόρθωση. Ελέγξτε ότι η κεφαλίδα πράγματι φεύγει (οι proxies την αφαιρούν ενίοτε), ότι το κλειδί ξεκινά με vgk_ και ότι δεν έχει ανακληθεί από την κονσόλα του γραφείου. Επειδή το μυστικό εμφανίζεται μόνο κατά τη δημιουργία, ένα χαμένο κλειδί αντικαθίσταται, δεν ανακτάται. Με "motif": "fin_option_api", δεν φταίει ούτε η κεφαλίδα ούτε το κλειδί: ο διαχειριστής του γραφείου μάς γράφει στο contact@vigilae.org ώστε το API να περιληφθεί ξανά στη συνδρομή, και το ίδιο κλειδί γίνεται ξανά δεκτό μόλις γίνει αυτό, έως τη δική του λήξη.
Ληγμένο κλειδί
Κάθε κλειδί λήγει ένα έτος μετά τη δημιουργία — η ημερομηνία expire_le είναι ορατή στην κονσόλα του γραφείου από την πρώτη μέρα. Το 401 λήξης είναι ρητό: λέει ότι το κλειδί υπήρξε και δεν είναι πλέον έγκυρο.
Ένα κλειδί API μπορεί επίσης να πάψει να γίνεται δεκτό πριν από αυτή την ημερομηνία, όταν το API δεν αποτελεί πλέον μέρος της συνδρομής του γραφείου. Η παύση έρχεται τότε τουλάχιστον 30 ημέρες μετά από ένα πρώτο e-mail, στην ημερομηνία που αναφέρει ένα δεύτερο e-mail, σταλμένο τουλάχιστον 7 ημέρες νωρίτερα· και τα δύο απευθύνονται στους διαχειριστές του γραφείου ή, ελλείψει αυτών, στη διεύθυνση τιμολόγησης του γραφείου. Μόλις οριστεί, η ημερομηνία αυτή φαίνεται στην κονσόλα του γραφείου (πεδίο coupure_le του GET /connect/cles), και κάθε απάντηση σε κλήση που έγινε δεκτή την ανακοινώνει στην κεφαλίδα Sunset έως ότου φτάσει. Μετά από αυτή την ημερομηνία, η κλήση λαμβάνει το 401 που περιγράφεται στο #authentification, με "motif": "fin_option_api"· αν το API περιληφθεί ξανά στη συνδρομή, το κλειδί γίνεται ξανά δεκτό, έως τη δική του λήξη.
Η διόρθωση. Δημιουργήστε νέο κλειδί, μεταφέρετε τις κλήσεις σας, ανακαλέστε το παλαιό. Για ένα κλειδί API, πρέπει το API να αποτελεί ακόμη μέρος της συνδρομής του γραφείου: χωρίς αυτό, η κονσόλα αρνείται να δημιουργήσει κλειδί. Προγραμματίστε αυτήν την αντικατάσταση στη λειτουργία σας αντί να την ανακαλύψετε.
Ανεπαρκές scope
Τα κλειδιά φέρουν τις εμβέλειες που επιλέχθηκαν κατά τη δημιουργία τους: τις γενικές lecture (ανάγνωση, η προεπιλογή) και ecriture (εγγραφή), ή λεπτομερείς ανά πόρο (clients:lecture, pieces:ecriture, origine-fonds:lecture, journal:lecture…).
Η κληρονομικότητα ακολουθεί την κατάληξη, μόνο προς μία κατεύθυνση: το lecture καλύπτει κάθε *:lecture, το ecriture κάθε *:ecriture — ποτέ το αντίστροφο· μια λεπτομερής εμβέλεια ανοίγει μόνο τον εαυτό της.
Έξι εμβέλειες βρίσκονται εκτός αυτού του ζεύγους και δεν κληρονομούνται από κανένα γενικό κλειδί: alertes:qualifier, embed:emettre, adversemedia:consulter, conformite:consulter, dispositif:consulter, integrite:consulter. Ο χαρακτηρισμός συμβάντος, η έκδοση διακριτικού ενσωμάτωσης, η ανάγνωση του δυσμενούς Τύπου ενός φακέλου ή μιας βαθμολογίας τήρησης δεν απορρέουν ποτέ από γενικό δικαίωμα ανάγνωσης: καθεμία επιλέγεται χωριστά.
Η διόρθωση. Δημιουργήστε κλειδί που φέρει το απαιτούμενο scope — και μόνο αυτό. Το ελάχιστο προνόμιο είναι εσκεμμένο: μια ενσωμάτωση που μόνο διαβάζει δεν έχει λόγο να κρατά κλειδί εγγραφής, και ένα ευρύ κλειδί δεν αναπληρώνει ποτέ μια εμβέλεια που δεν εκχωρήθηκε ρητά.
Δεν βρέθηκε — ή ανήκει σε άλλο γραφείο
Ένα 404 σημαίνει ότι ο πόρος δεν υπάρχει ή ανήκει σε άλλο γραφείο. Το API δεν διακρίνει ποτέ τις δύο περιπτώσεις: η διάκριση θα αποκάλυπτε τι υπάρχει αλλού. Ο διαχωρισμός επιβάλλεται σε επίπεδο βάσης δεδομένων, όχι μόνο στον κώδικα της εφαρμογής.
Η διόρθωση. Ελέγξτε το seq έναντι του ημερολογίου του γραφείου στο οποίο ανήκει το κλειδί (GET /api/v1/evenements). Αν ενσωματώνετε περισσότερα γραφεία, κάθε γραφείο έχει τα δικά του κλειδιά: ένα seq δεν ταξιδεύει μεταξύ γραφείων.
Αυτός ο λογαριασμός υπάρχει ήδη
Ένα POST /scim/v2/Users σε userName που έχει ήδη δημιουργηθεί για αυτό το γραφείο απαντά 409 με scimType: uniqueness. Τη μοναδικότητα την κρατά περιορισμός της βάσης δεδομένων, όχι προσωρινή μνήμη: δύο ταυτόχρονες δημιουργίες δεν μπορούν να παραγάγουν δύο λογαριασμούς.
Η διόρθωση. Αντιμετωπίστε το 409 ως ταυτοδύναμη επιτυχία, όχι ως σφάλμα: διαβάστε ξανά τον λογαριασμό με ?filter=userName eq "…" και συνεχίστε με το αναγνωριστικό που επιστράφηκε. Ένας σύνδεσμος που επαναλαμβάνει σε βρόχο μετά από 409 δεν θα δημιουργήσει ποτέ τίποτα παραπάνω.
Αυτός ο λογαριασμός είναι εκτός εμβέλειας του καταλόγου
Ένας κατάλογος δεν μπορεί ούτε να υποβαθμίσει ούτε να απενεργοποιήσει λογαριασμό που φέρει εξουσίες διοίκησης του γραφείου: το αίτημα απορρίπτεται με scimType: mutability και καταγράφεται. Χωρίς αυτό το όριο, ένας σύνδεσμος που υιοθετεί τη διεύθυνση του υπευθύνου συμμόρφωσης θα έκλεινε το γραφείο σε εκείνον ακριβώς που λογοδοτεί γι' αυτό.
Η διόρθωση. Αφαιρέστε το πρόσωπο αυτό από το συγχρονιζόμενο πεδίο ή αλλάξτε τον ρόλο του μέσα από το Vigilae. Η άρνηση αφορά μόνο αυτόν τον λογαριασμό: η υπόλοιπη παρτίδα εφαρμόζεται κανονικά.
Υπέρβαση ορίου ρυθμού
60 αιτήματα ανά λεπτό ανά κλειδί, εξ ορισμού (παραμετροποιήσιμο ανά κλειδί). Η απόκριση φέρει Retry-After και τις κεφαλίδες X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Η διόρθωση. Σεβαστείτε το Retry-After — καμία άμεση επανάληψη. Το να φτάνετε στο όριο κατά το polling είναι σχεδόν πάντα σημάδι πλήρους επανασάρωσης: ο δρομέας depuisSeq δεν ξαναδιαβάζει ποτέ ό,τι έχει ήδη διαβαστεί.
Η υπογραφή δεν επαληθεύεται στην πλευρά σας
Ο δέκτης σας πρέπει να επανυπολογίζει το v1 = HMAC-SHA256(secret, t + "." + body) από το ακατέργαστο σώμα που λάβατε, και να απορρίπτει κάθε t παλαιότερο των 5 λεπτών. Οι κλασικές αστοχίες: το σώμα επανασειριοποιήθηκε πριν την επαλήθευση (ένα αναδιαμορφωμένο JSON δεν έχει πλέον τα ίδια bytes), ρολόι που αποκλίνει πέραν της ανοχής, και μια αγνοημένη εναλλαγή — για 24 ώρες η κεφαλίδα φέρει ένα v1 ανά ακόμη-έγκυρο μυστικό, και πρέπει να αποδεχθείτε αν οποιοδήποτε ταιριάζει.
Η διόρθωση. Επαληθεύστε έναντι των ακατέργαστων bytes, συγχρονίστε το ρολόι σας (NTP), δοκιμάστε την επαλήθευσή σας κατά τη διάρκεια μιας εναλλαγής. Τα αποσπάσματα Node και Python στην τεκμηρίωση κάνουν ακριβώς αυτό — αντιγράψτε τα αντί να τα ξαναγράψετε.
Ένα συμβάν φτάνει δύο φορές
Η παράδοση είναι at-least-once, σε παρτίδες έως 100, με τη σειρά του ημερολογίου· ο δρομέας προχωρά μόνο με το δικό σας 2xx, παρτίδα προς παρτίδα. Μια αστοχία μετά τη λήψη αλλά πριν προχωρήσει ο δρομέας προκαλεί επαναπαράδοση — αυτό είναι το συμβόλαιο, όχι ελάττωμα.
Η διόρθωση. Το seq είναι το κλειδί ταυτοδυναμίας σας: επεξεργαστείτε κάθε ακολουθία ακριβώς μία φορά, και απαντήστε 2xx μόνο αφού αποθηκεύσετε. Ένα πρόωρο 2xx ακολουθούμενο από κατάρρευση είναι ο μόνος τρόπος να χαθεί συμβάν.
Το ημερολόγιο φαίνεται ελλιπές ή επαναλαμβάνεται
Το depuisSeq είναι αυστηρά αποκλειστικό: επιστρέφονται μόνο τα συμβάντα με μεγαλύτερο seq, ταξινομημένα αύξοντα, έως 500 ανά σελίδα. Η απόκριση επιστρέφει prochainSeq, που το ξαναπερνάτε ως έχει. Μια σελίδα μικρότερη από το limite σημαίνει το τέλος του ημερολογίου.
Η διόρθωση. Αποθηκεύετε το prochainSeq μεταξύ εκτελέσεων και μην το επανυπολογίζετε ποτέ μόνοι σας. Τα διπλότυπα σημαίνουν ότι επανεκκινήσατε από πολύ παλαιό δρομέα· τα κενά σημαίνουν ότι προσπεράσατε μια αποτυχημένη σελίδα χωρίς να την επαναλάβετε.
Παράμετρος εκτός σχήματος
Μια άγνωστη κατάσταση, μια διάθεση εκτός καταλόγου (planifie, traite, ecarte), ένα μη ακέραιο limite: η απόκριση κατονομάζει το προβληματικό πεδίο, και τίποτα άλλο — τα μηνύματα σφάλματος δεν μεταφέρουν ποτέ περιεχόμενο φακέλων.
Η διόρθωση. Η προδιαγραφή OpenAPI είναι η πηγή: οι απαριθμήσεις και τα όρια που δηλώνει είναι αυτά που επιβάλλει ο διακομιστής, αφού σερβίρεται από αυτόν.
Πεδίο του οποίου η τιμή έχει υπερβολικά μεγάλο μήκος: Ιθαγένεια
Η απόκριση κατονομάζει το προβληματικό πεδίο, και τίποτα άλλο — τα μηνύματα σφάλματος δεν μεταφέρουν ποτέ περιεχόμενο φακέλων.
Η διόρθωση. Η προδιαγραφή OpenAPI είναι η πηγή: οι απαριθμήσεις και τα όρια που δηλώνει είναι αυτά που επιβάλλει ο διακομιστής, αφού σερβίρεται από αυτόν.
Ανεπαρκές scope (API πόρων)
Τα endpoints πόρων (/clients, /dossiers, έγγραφα, screening, ειδοποιήσεις) απαιτούν λεπτομερές scope: clients:*, dossiers:*, pieces:*, criblage:* ή το ειδικό scope alertes:qualifier. Ένα κλειδί παλαιού τύπου lecture χορηγεί όλα τα scopes *:lecture και το ecriture όλα τα *:ecriture — όμως το alertes:qualifier δεν κληρονομείται ποτέ: ο χαρακτηρισμός μιας ειδοποίησης είναι πράξη υπεύθυνου στελέχους, που εκχωρείται επιλέγοντας αυτό το scope κατά τη δημιουργία του κλειδιού.
Η διόρθωση. Δημιουργήστε κλειδί που φέρει ακριβώς τα scopes που χρειάζεται η ενσωμάτωσή σας — και μόνο αυτά. Το detail της απόκρισης κατονομάζει το scope που λείπει.
Πόρος που δεν βρέθηκε — ή ανήκει σε άλλο γραφείο
Ίδιος κανόνας με το #cloisonnement, εφαρμοσμένος στους πόρους: ένας πελάτης, ένας φάκελος, ένα έγγραφο ή μια ειδοποίηση που δεν υπάρχει ή ανήκει σε άλλο γραφείο λαμβάνει το ίδιο 404. Το API δεν ξεχωρίζει ποτέ τις δύο περιπτώσεις.
Η διόρθωση. Ελέγξτε το αναγνωριστικό έναντι των λιστών του γραφείου στο οποίο ανήκει το κλειδί. Ένα αναγνωριστικό δεν ταξιδεύει ποτέ από ένα γραφείο σε άλλο.
Λείπει η κεφαλίδα Idempotency-Key
Κάθε POST δημιουργίας ή ενεργοποίησης (πελάτης, φάκελος, έγγραφο, screening, πραγματικοί δικαιούχοι) απαιτεί την κεφαλίδα Idempotency-Key: μια σταθερή συμβολοσειρά έως 200 χαρακτήρες, μία ανά λειτουργία. Η επανάληψη του ίδιου κλειδιού με το ίδιο σώμα επιστρέφει την ίδια απόκριση, χωρίς κανένα αποτέλεσμα — η προστασία σας από τα διπλότυπα σε περίπτωση δικτυακού συμβάντος.
Η διόρθωση. Δημιουργήστε το κλειδί πριν από την πρώτη απόπειρα (ένα UUID ανά επιχειρησιακή λειτουργία) και επαναχρησιμοποιήστε το αμετάβλητο σε κάθε επανάληψη της ίδιας λειτουργίας.
Κλειδί ταυτοδυναμίας που επαναχρησιμοποιήθηκε με διαφορετικό σώμα
Αυτό το Idempotency-Key έχει ήδη χρησιμοποιηθεί για διαφορετικό σώμα εντός των τελευταίων 24 ωρών. Το κλειδί επαναλαμβάνει μια απόκριση, δεν την αντικαθιστά ποτέ: η επαναχρησιμοποίησή του για νέα λειτουργία είναι σχεδόν πάντα σημάδι κλειδιού παραγόμενου από μετρητή ή αποκομμένη ημερομηνία.
Η διόρθωση. Νέο κλειδί για κάθε νέα λειτουργία. Μην παράγετε ποτέ το κλειδί από δεδομένα που επαναλαμβάνονται μεταξύ λειτουργιών.
Μια άλλη προσπάθεια με αυτό το κλειδί εκτελείται ακόμη
Δύο αιτήματα με το ίδιο Idempotency-Key έφτασαν μαζί: το πρώτο εκτελείται, το δεύτερο απορρίπτεται πριν από κάθε αποτέλεσμα. Αυτή η απόρριψη είναι που αποτρέπει το διπλότυπο. Η συνήθης περίπτωση: ένας proxy επιστρέφει 502 ή 504 ενώ ο διακομιστής εργάζεται ακόμη, και ο πελάτης σας επαναλαμβάνει το αίτημα. Η κεφαλίδα Retry-After λέει μετά από πόσα δευτερόλεπτα να το επαναλάβετε.
Η διόρθωση. Επαναλάβετε το ίδιο αίτημα, ως έχει, με το ίδιο κλειδί, μετά την αναγγελθείσα αναμονή: θα λάβετε την απόκριση της πρώτης προσπάθειας. Μην κατασκευάζετε ποτέ νέο κλειδί για να «ξεμπλοκάρετε» — θα δημιουργούσε ακριβώς το διπλότυπο που το κλειδί αποτρέπει.
Περιβάλλον δοκιμών: συμπληρώθηκε το όριο
Ένα περιβάλλον δοκιμών έχει σταθερά όρια: 200 καρτέλες πελατών, 50 φακέλους και 40 έγγραφα ανά φάκελο. Μια δημιουργία ή κατάθεση που θα ξεπερνούσε ένα από αυτά απορρίπτεται πριν από κάθε εγγραφή, και η απόρριψη λέει ποιο: τα πεδία ressource, quota και courant φέρουν τον πόρο, το ανώτατο όριο και το πλήθος τη στιγμή της απόρριψης. Από δύο ταυτόχρονες δημιουργίες για την τελευταία θέση περνά μόνο η μία. Η τροποποίηση μιας υπάρχουσας καρτέλας ή ενός υπάρχοντος φακέλου δεν καταναλώνει τίποτα από το όριο.
Η διόρθωση. Αυτά τα όρια δεν είναι διαπραγματεύσιμα, και η επανάληψη του αιτήματος θα επιστρέψει την ίδια απόρριψη. Επαναφέρετε το περιβάλλον δοκιμών από τον λογαριασμό σας — ξεκινά ξανά από τα δεδομένα επίδειξης — ή αποκτήστε συνδρομή: αυτά τα όρια ισχύουν μόνο για τα περιβάλλοντα δοκιμών.
Σφραγισμένος φάκελος: το μητρώο είναι παγωμένο
Η σφράγιση παγώνει την αλυσίδα ακεραιότητας του φακέλου — αυτή είναι η αποδεικτική του αξία. Ένας σφραγισμένος φάκελος δεν μπορεί πλέον να τροποποιηθεί, δεν δέχεται πλέον έγγραφα και δεν υποβάλλεται πλέον σε νέο screening μέσω αυτού του καναλιού. Μόνο ο χαρακτηρισμός ειδοποιήσεων παραμένει δυνατός: γράφεται εκτός αλυσίδας, η σφραγισμένη κεφαλή δεν μετακινείται ποτέ.
Η διόρθωση. Τίποτα προς «διόρθωση»: πρόκειται για εσκεμμένη αμεταβλητότητα. Αν πρέπει να αλλάξουν δεδομένα, αυτό είναι μια νέα ενέργεια δέουσας επιμέλειας στην εφαρμογή, όχι μετάλλαξη του σφραγισμένου φακέλου.
Κλειστός φάκελος: η επιχειρηματική σχέση έχει λήξει
Η σχέση έκλεισε στην εφαρμογή: ο φάκελος δεν δέχεται πλέον εγγραφές μέσω του API — ούτε τροποποίηση, ούτε έγγραφο, ούτε screening, ούτε πραγματικούς δικαιούχους. Οι αναγνώσεις παραμένουν ανοικτές: ένας κλειστός φάκελος συμβουλεύεται και εξάγεται καθ' όλη τη διάρκεια διατήρησης.
Η διόρθωση. Το επανάνοιγμα της σχέσης είναι ανθρώπινη ενέργεια, καταγεγραμμένη, στην εφαρμογή· το API δεν το κάνει στη θέση σας. Αν η λειτουργία είναι νέα, ανοίξτε νέο φάκελο αντί να αναβιώσετε τον παλιό.
Εκκαθαρισμένος φάκελος: τα δεδομένα διαγράφηκαν
Η προθεσμία διατήρησης πέρασε και τα δεδομένα του φακέλου διαγράφηκαν. Παραμένει μόνο το ίχνος ελέγχου, που πιστοποιεί ότι υπήρξε φάκελος και ότι εκκαθαρίστηκε την αναφερόμενη ημερομηνία· δεν δέχεται πλέον καμία εγγραφή.
Η διόρθωση. Τίποτα προς διόρθωση και τίποτα προς επανάληψη: η διαγραφή είναι οριστική και εσκεμμένη. Ένα αναγνωριστικό εκκαθαρισμένου φακέλου που διατηρείτε στα συστήματά σας είναι ιστορικό, ποτέ στόχος εγγραφής.
Μη αποδεκτή μορφή εγγράφου
Τα δικαιολογητικά δέχονται PDF, JPG, JPEG, PNG και WEBP — τις ίδιες μορφές με την εφαρμογή. Ο έλεγχος γίνεται στην επέκταση του υποχρεωτικού filename: ένα έγγραφο χωρίς έγκυρο όνομα αρχείου απορρίπτεται, ανεξαρτήτως περιεχομένου.
Η διόρθωση. Μετατρέψτε πριν την αποστολή (μια σάρωση TIFF ή HEIC μετατρέπεται σε PDF ή JPEG) και στείλτε το περιεχόμενο σε τυπικό base64 στο contenu, με type από τους σταθερούς κωδικούς a_doc_*.
Έγγραφο άνω των 6 MB
Το όριο ισχύει για το αποκωδικοποιημένο αρχείο (6 MB), όπως στην εφαρμογή και στην πύλη συλλογής. Επειδή το base64 προσθέτει ένα τρίτο επιβάρυνση κωδικοποίησης, το σώμα του αιτήματος δέχεται έως 9 MB.
Η διόρθωση. Συμπιέστε το έγγραφο (ένα έγχρωμο σαρωμένο PDF στα 300 dpi πέφτει σχεδόν πάντα κάτω από το όριο σε κλίμακα του γκρι) αντί να το τεμαχίσετε.
Μη διαθέσιμη πηγή screening
Καμία από τις οντότητες του φακέλου δεν μπόρεσε να ελεγχθεί έναντι των καταλόγων: η πηγή (ευρετήριο επίσημων καταλόγων ή πάροχος) δεν απάντησε. Το API αρνείται να καταλήξει σε συμπέρασμα — ένα «καθαρό» αποτέλεσμα πάνω σε νεκρή πηγή θα ήταν το χειρότερο δυνατό ψευδώς αρνητικό. Η αστοχία καταγράφεται στον φάκελο (erreurSource). Μια μερική διακοπή δεν παράγει αυτό το 502: η απόκριση 200 κρατά τις αντιστοιχίσεις των οντοτήτων που απάντησαν και κατονομάζει τις αποτυχημένες στο erreurSourceEntites.
Η διόρθωση. Επαναλάβετε την ίδια κλήση αργότερα, με το ίδιο Idempotency-Key: μόνο οι αποκρίσεις επιτυχίας απομνημονεύονται από την ταυτοδυναμία — η επανάληψη μετά από σφάλμα εκτελεί πραγματικό screening.
Ενσωματωμένα widgets μη ενεργοποιημένα σε αυτήν την εγκατάσταση
Το mint POST /api/v1/embed/jetons στηρίζεται στις προελεύσεις που έχει δηλώσει το γραφείο σας — αυτή η λίστα είναι που οδηγεί την CSP frame-ancestors του ενσωματωμένου shell. Αυτό το 501 λέει ότι η εγκατάσταση που καλέσατε δεν διαθέτει αυτήν την αποθήκευση: η επιφάνεια embed είναι εκεί αδρανής εκ κατασκευής, και το δηλώνει αντί να εκδώσει ένα διακριτικό που καμία προέλευση δεν θα μπορούσε ποτέ να εμφανίσει. Να μην συγχέεται με το 400 που επιστρέφεται σε γραφείο του οποίου οι προελεύσεις δεν έχουν δηλωθεί ακόμη.
Η διόρθωση. Αυτό το 501 μιλά για την εγκατάσταση, όχι για το αίτημά σας. Στο vigilae.org, ο διαχειριστής του γραφείου σας δηλώνει ο ίδιος τις προελεύσεις, στην οθόνη «Ενσωματώσεις & ασφάλεια» (το πλαίσιο στην ενότητα widgets λέει πού)· στη συνέχεια επαναλάβετε την ίδια κλήση. Τίποτα προς διόρθωση στον κώδικά σας: το αίτημα ήταν σωστό, η εγκατάσταση δεν ήταν έτοιμη.
Επιφάνεια μη διαθέσιμη σε αυτή την εγκατάσταση
Δύο βασικές αναγνώσεις — GET /api/v1/dossiers/{id}/origine-fonds και GET /api/v1/dossiers/{id}/exigences — στηρίζονται σε αποθηκευτικούς χώρους που δεν διαθέτει κάθε εγκατάσταση. Όταν λείπει ένας, το API το δηλώνει αντί να επιστρέψει κενή λίστα: το «δεν υπάρχει κάτι να αναφερθεί» και το «δεν διαβάστηκε τίποτα» είναι αντίθετα γεγονότα, και η σύγχυσή τους θα εμφάνιζε έναν φάκελο που κανείς δεν κοίταξε ως φάκελο χωρίς επιφύλαξη. Αυτό το 501 αφορά την εγκατάσταση που κλήθηκε, ποτέ το αίτημά σας ούτε τον φάκελο.
Η διόρθωση. Μην επαναλαμβάνετε την κλήση σε βρόχο: τίποτα δεν θα αλλάξει όσο η εγκατάσταση δεν διαθέτει αυτόν τον αποθηκευτικό χώρο. Αντιμετωπίστε τον κωδικό ως «δεδομένα μη διαθέσιμα εδώ» και κυρίως μην τον μετράτε ως μηδέν στους πίνακές σας — έτσι μια απούσα μέτρηση γίνεται λάθος νούμερο. Στο vigilae.org και οι δύο αναγνώσεις εξυπηρετούνται· σε αποκλειστική εγκατάσταση, η αναβάθμιση του αποθηκευτικού χώρου βαρύνει τον διαχειριστή σας.
Αυτή η σελίδα θα εξελίσσεται μαζί με το API· οι υπάρχουσες άγκυρες, ωστόσο, δεν αλλάζουν ποτέ διεύθυνση — μπορείτε να τις αποθηκεύσετε στα αρχεία καταγραφής της λειτουργίας σας.