Σφάλματα Μορφής Αιτήματος NiceNIC API v2: Τελικό Σημείο, Κεφαλίδες, JSON και Παράμετροι
Εάν το αίτημά σας στο NiceNIC Reseller API v2 φτάνει στο API αλλά δεν λειτουργεί όπως αναμένεται, το πρόβλημα μπορεί να μην είναι το ζήτημα πιστοποίησης. Μπορεί να είναι πρόβλημα μορφής αιτήματος. Αυτός ο οδηγός βοηθά τους μεταπωλητές τομέων, παρόχους φιλοξενίας, προγραμματιστές, πρακτορεία και χρήστες WHMCS να αντιμετωπίσουν κοινά προβλήματα μορφής αιτήματος του NiceNIC API v2, συμπεριλαμβανομένων σφαλμάτων τελικού σημείου, ελλιπών κεφαλίδων, λανθασμένου Content-Τύπος, άκυρου JSON, ελλιπών παραμέτρων, μη έγκυρης μορφής τομέα, απαιτήσεων συγκεκριμένων TLD και προβλημάτων διαμόρφωσης του module WHMCS.
Τα σφάλματα μορφής αιτήματος NiceNIC API v2 προκαλούνται συνήθως από λανθασμένο τελικό σημείο, ελλιπείς ή λανθασμένες κεφαλίδες, λάθος Content-Τύπος, άκυρο JSON, ελλιπείς απαιτούμενες παραμέτρους, μη έγκυρη μορφή τομέα, ασυμβατότητα μεταξύ δράσης API και παραμέτρων, απαιτήσεις ειδικές για το TLD ή ρυθμίσεις module WHMCS που δεν ταιριάζουν με το αίτημα API.
Ξεκινήστε επιβεβαιώνοντας το τελικό σημείο API, τις απαιτούμενες κεφαλίδες, τη μορφή JSON, τις απαραίτητες παραμέτρους και τη συγκεκριμένη δράση API που χρησιμοποιείτε. Εάν χρησιμοποιείτε WHMCS, ελέγξτε επίσης τις ρυθμίσεις του module WHMCS, τα διαπιστευτήρια API, τη λειτουργία δοκιμής, το περιβάλλον PHP/cURL και τη διαμόρφωση εξερχόμενων συνδέσεων του server.
Τι Συνήθως Σημαίνει Αυτός ο Τύπος Σφάλματος API Ένα πρόβλημα μορφής αιτήματος σημαίνει ότι το αίτημά σας API μπορεί να φτάνει στο τελικό σημείο NiceNIC API, αλλά το αίτημα δεν μπορεί να επεξεργαστεί σωστά επειδή κάτι στη δομή του αιτήματος, στις κεφαλίδες, στο σώμα, στις παραμέτρους, στα δεδομένα τομέα ή στη διαμόρφωση του module δεν είναι έγκυρο για τη δράση που προσπαθείτε να εκτελέσετε.
Αυτός ο τύπος ζητήματος διαφέρει από καθαρό σφάλμα πιστοποίησης. Τα σφάλματα πιστοποίησης συνήθως αφορούν τον κωδικό πρόσβασης API, την κεφαλίδα Authήization, την πρόσβαση μεταπωλητή ή τις ρυθμίσεις λίστας IP. Τα σφάλματα μορφής αιτήματος συνήθως αφορούν το πώς κατασκευάζεται το αίτημα μετά τη διαμόρφωση της πρόσβασης.
Απαιτούμενες κεφαλίδες λείπουν ή είναι λανθασμένες.
Το Content-Τύπος δεν έχει οριστεί σε application/json.
Το σώμα του αιτήματος δεν είναι έγκυρο JSON.
Λείπουν απαιτούμενες παράμετροι.
Η μορφή του ονόματος τομέα είναι μη έγκυρη.
Η δράση API και οι παράμετροι δεν ταιριάζουν.
Το TLD έχει ειδικές απαιτήσεις μητρώου.
Το υπόλοιπο λογαριασμού, η κατάσταση τομέα ή ο κανόνας μητρώου εμποδίζουν τη ζητούμενη δράση.
Οι ρυθμίσεις του module WHMCS δεν ταιριάζουν με το αίτημα API.
Αιτία 1: Το Τελικό Σημείο API Είναι Λανθασμένο Τα αιτήματα NiceNIC API v2 πρέπει να αποστέλλονται στο τεκμηριωμένο τελικό σημείο API v2: https://api.NiceNIC/v2/ Εάν ο κώδικάς σας χρησιμοποιεί παλιό τελικό σημείο, λάθος ορθογραφία τελικού σημείου, λανθασμένο πρωτόκολλο, ελλιπή διαδρομή ή διαφορετική έκδοση API, το αίτημα μπορεί να αποτύχει πριν εκτελεστεί η επιθυμητή δράση. Πώς να διορθώσετε το πρόβλημα
Επιβεβαιώστε ότι το αίτημά σας αποστέλλεται στο https://api.NiceNIC/v2/.
Ελέγξτε για ορθογραφικά λάθη στον τομέα, το πρωτόκολλο ή τη διαδρομή.
Επιβεβαιώστε ότι το περιβάλλον παραγωγής σας δεν χρησιμοποιεί ακόμα παλιό τελικό σημείο API.
Ελέγξτε αν το module WHMCS, το προσαρμοσμένο module καταχωρητή ή η διαμόρφωση backend περιέχουν σκληροκωδικοποιημένο παλιό URL.
Ελέγξτε τα αρχεία καταγραφής του διακομιστή για να επιβεβαιώσετε το ακριβές URL που ζήτησε η εφαρμογή σας.
Αιτία 2: Λείπουν ή είναι Λανθασμένες Απαιτούμενες Κεφαλίδες Τα αιτήματα NiceNIC API v2 απαιτούν τις σωστές κεφαλίδες HTTP. Εάν λείπει, έχει τροποποιηθεί ή εμποδίζεται η κεφαλίδα Authήization, η κεφαλίδα Host ή η κεφαλίδα Content-Τύπος, το αίτημα μπορεί να αποτύχει. Η τεκμηριωμένη μορφή κεφαλίδας είναι: Host: api.NiceNIC Authήization: username:api_secret Content-Τύπος: application/json
Πώς να το διορθώσετε
Επιβεβαιώστε ότι το αίτημά σας περιλαμβάνει την κεφαλίδα Authήization.
Επιβεβαιώστε ότι η τιμή Authήization ακολουθεί τη τεκμηριωμένη μορφή username:api_secret.
Επιβεβαιώστε ότι το API secret είναι ο κωδικός πρόσβασής σας API, όχι ο κωδικός εισόδου στο λογαριασμό NiceNIC.
Ελέγξτε ότι το Content-Τύπος είναι ακριβώς application/json.
Επιβεβαιώστε ότι ο HTTP client, το πλαίσιο εργασίας, ο proxy, το τείχος προστασίας ή το module WHMCS δεν αφαιρούν ή αναγράφουν ξανά τις κεφαλίδες.
Αφαιρέστε περιττά κενά, αλλαγές γραμμών ή κρυφούς χαρακτήρες από τις τιμές των κεφαλίδων.
Αιτία 3: Το Content-Τύπος Δεν Είναι application/json Το NiceNIC API v2 αναμένει μορφή αιτήματος JSON. Εάν ο κώδικάς σας στέλνει δεδομένα ως fήm-data, text/plain, x-www-fήm-urlencoded ή σε άλλη μορφή, το API μπορεί να μην διαβάσει σωστά το αίτημα. Πώς να το διορθώσετε
Ορίστε το Content-Τύπος σε application/json.
Επιβεβαιώστε ότι ο HTTP client σας στέλνει πραγματικά JSON και όχι απλώς ετικετοποιεί το αίτημα ως JSON.
Ελέγξτε αν το σώμα του αιτήματος μετατρέπεται από το πλαίσιο εργασίας σας πριν την αποστολή.
Αν χρησιμοποιείτε PHP, βεβαιωθείτε ότι το σώμα JSON κωδικοποιείται σωστά πριν αποσταλεί το αίτημα.
Αν χρησιμοποιείτε WHMCS, επιβεβαιώστε ότι η διαμόρφωση του module ταιριάζει με τις απαιτήσεις ενσωμάτωσης που υποστηρίζει το NiceNIC.
Αιτία 4: Το Σώμα Αιτήματος Δεν Είναι Έγκυρο JSON Ένα αίτημα μπορεί να αποτύχει αν το σώμα δεν είναι έγκυρο JSON. Αυτό συμβαίνει συχνά όταν ο κώδικας κατασκευάζει το σώμα του αιτήματος χειροκίνητα αντί να χρησιμοποιεί κωδικοποιητή JSON. Συνηθισμένα προβλήματα JSON περιλαμβάνουν:
Έλλειψη εισαγωγικών
Περιττά κόμματα
Λανθασμένη εμφύτευση αντικειμένων ή πινάκων
Αγνόητοι χαρακτήρες
Άκυροι χαρακτήρες UTF-8
Αποστολή κενό σώματος για δράση που απαιτεί παραμέτρους
Πώς να το διορθώσετε
Επαληθεύστε το σώμα JSON προτού στείλετε το αίτημα.
Χρησιμοποιήστε τον κωδικοποιητή JSON της γλώσσας προγραμματισμού σας αντί να κατασκευάζετε χειροκίνητα συμβολοσειρές JSON.
Επιβεβαιώστε ότι το σύνολο χαρακτήρων είναι UTF-8.
Καταγράψτε το σώμα του αιτήματος κατά τη διάρκεια της δοκιμής, αλλά αφαιρέστε ευαίσθητες τιμές πριν μοιραστείτε τα αρχεία καταγραφής.
Δοκιμάστε με μια απλή δράση χαμηλού κινδύνου πριν δοκιμάσετε δράσεις καταχώρησης τομέων επί πληρωμή.
Αιτία 5: Λείπουν Απαιτούμενες Παράμετροι Διαφορετικές δράσεις API απαιτούν διαφορετικές παραμέτρους. Ένα αίτημα που λειτουργεί για μια δράση δεν μπορεί πάντα να επαναχρησιμοποιηθεί για άλλη δράση. Για παράδειγμα, η επαλήθευση διαθεσιμότητας τομέα, η καταχώρηση τομέα, η ανανέωση τομέα, η μεταφορά τομέα, η ενημέρωση ονοματοδιακομιστών, η ενημέρωση επαφών, η διαχείριση εγγραφών DNS και ο έλεγχος υπολοίπου λογαριασμού μπορεί το καθένα να απαιτεί διαφορετικά πεδία. Πώς να το διορθώσετε
Ανοίξτε το ακριβές τμήμα της τεκμηρίωσης API για τη δράση που χρησιμοποιείτε.
Συγκρίνετε το σώμα του αιτήματός σας με τις απαιτούμενες παραμέτρους.
Μην υποθέτετε ότι η καταχώρηση, η ανανέωση, η μεταφορά και οι ενημερώσεις DNS χρησιμοποιούν το ίδιο σύνολο παραμέτρων.
Επιβεβαιώστε αν το TLD απαιτεί επιπλέον πεδία ή επεκτατικά χαρακτηριστικά.
Επιβεβαιώστε αν η δράση απαιτεί στοιχεία επικοινωνίας, ονοματοδιακομιστές, κωδικό εξουσιοδότησης, έτος, δεδομένα DNS ή άλλα πεδία ειδικά για τη δράση.
Αιτία 6: Η Μορφή Τομέα Δεν Είναι Έγκυρη Πολλά αιτήματα API τομέα απαιτούν το ίδιο το όνομα τομέα, όχι ολόκληρο URL. Παραδείγματα μη έγκυρων περιλαμβάνουν:
Η έγκυρη μορφή συνήθως σημαίνει το απλό όνομα τομέα, όπως: example.com Πώς να το διορθώσετε
Αφαιρέστε το http:// και https:// από τις τιμές τομέων.
Αφαιρέστε διαδρομές, ερωτήματα, αποσπάσματα και κενά στο τέλος.
Κανονικοποιήστε τη διαχείριση κεφαλαίων και πεζών στην εφαρμογή σας.
Επαληθεύστε τη μορφή τομέα πριν στείλετε το αίτημα API.
Για IDN ή ειδικούς χαρακτήρες, επιβεβαιώστε πώς πρέπει να κωδικοποιηθεί ο τομέας πριν αποστείλετε το αίτημα.
Αιτία 7: Η Δράση API και οι Παράμετροι Δεν Ταιριάζουν Μια δράση API πρέπει να ταιριάζει με τις παραμέτρους που αποστέλλονται. Αν καλέσετε μια δράση αλλά στείλετε παραμέτρους που προορίζονται για άλλη δράση, το αίτημα μπορεί να αποτύχει ή να επιστρέψει απρόβλεπτη απάντηση. Παραδείγματα ασυμβατότητας λογικής αιτήματος περιλαμβάνουν:
Αποστολή παραμέτρων καταχώρησης σε δράση ελέγχου διαθεσιμότητας τομέα
Αποστολή παραμέτρων μεταφοράς χωρίς τον απαιτούμενο κωδικό εξουσιοδότησης μεταφοράς όταν απαιτείται
Αποστολή πεδίων εγγραφής DNS σε δράση ενημέρωσης ονοματοδιακομιστή
Αποστολή πεδίων ενημέρωσης επαφής σε δράση ανανέωσης
Χρήση δράσης module WHMCS που δεν ταιριάζει με τη λειτουργία που δοκιμάζεται
Πώς να το διορθώσετε
Ελέγξτε το όνομα της δράσης ή τη διαδρομή API που χρησιμοποιείται.
Εξετάστε το ακριβές τμήμα τεκμηρίωσης για αυτή τη δράση.
Συγκρίνετε τις απαιτούμενες παραμέτρους με το σώμα του αιτήματος.
Δοκιμάστε μια δράση τη φορά.
Μην συνδυάζετε λογική ελέγχου διαθεσιμότητας, καταχώρησης, ενημέρωσης DNS και ανανέωσης σε ένα μη επαληθευμένο πρότυπο αιτήματος.
Αιτία 8: Το TLD Έχει Ειδικές Απαιτήσεις Μητρώου Ορισμένες επεκτάσεις τομέων έχουν ειδικούς κανόνες μητρώου. Ένα τεχνικά έγκυρο αίτημα API μπορεί να αποτύχει αν το μητρώο απαιτεί επιπλέον πληροφορίες, ειδικά πεδία επαφής, έγγραφα, τοπική παρουσία ή χειροκίνητη αναθεώρηση. Αυτό είναι ιδιαίτερα σημαντικό για ccTLD, περιορισμένα TLD και επεκτάσεις με ειδικούς κανόνες καταχώρησης ή ανανέωσης. Πώς να το διορθώσετε
Ελέγξτε αν η επέκταση τομέα έχει ειδικές απαιτήσεις καταχώρησης.
Επιβεβαιώστε αν απαιτείται τοπική παρουσία, έγγραφα, επεκταμένη χαρακτηριστικά ή ειδικά δεδομένα επαφής.
Ελέγξτε αν η δράση τομέα υποστηρίζεται για αυτό το TLD μέσω αυτοματοποίησης.
Μην υποθέτετε ότι κάθε TLD λειτουργεί όπως το .com.
Εάν η απάντηση API υποδεικνύει πρόβλημα με το μητρώο ή την επέκταση, εξετάστε τον κανόνα TLD πριν επιχειρήσετε ξανά επανειλημμένα.
Αιτία 9: Οι Ρυθμίσεις Module WHMCS Δεν Ταιριάζουν με το Αίτημα API Εάν χρησιμοποιείτε WHMCS, το αίτημα μπορεί να έχει δημιουργηθεί από το module WHMCS αντί του δικού σας προσαρμοσμένου κώδικα. Σε αυτήν την περίπτωση, το πρόβλημα μπορεί να προέρχεται από διαμόρφωση module, διαπιστευτήρια API, λειτουργία δοκιμής, υποστήριξη PHP/cURL, υποστήριξη SSL/TLS ή το περιβάλλον διακομιστή WHMCS.
Κοινά ζητήματα αιτήματος σχετιζόμενα με WHMCS περιλαμβάνουν:
Το module WHMCS έχει λανθασμένα διαπιστευτήρια API.
Ο κωδικός API άλλαξε στο NiceNIC αλλά δεν ενημερώθηκε στο WHMCS.
Η λειτουργία δοκιμής είναι ενεργοποιημένη ή απενεργοποιημένη λανθασμένα.
Ο διακομιστής WHMCS δεν πληροί τις απαιτούμενες συνθήκες PHP ή cURL.
Το WHMCS στέλνει αιτήματα από διαφορετικό διακομιστή από τον αναμενόμενο.
Οι τιμές τομέα ή οι ρυθμίσεις TLD στο WHMCS δεν ταιριάζουν με τη δράση τομέα.
Η αυτοματοποίηση WHMCS εκτελεί ανανέωση, μεταφορά ή καταχώρηση με ελλιπή δεδομένα πελατών.
Πώς να το διορθώσετε
Ανοίξτε τις ρυθμίσεις module καταχωρητή NiceNIC στο WHMCS.
Επιβεβαιώστε το όνομα χρήστη API και το API secret.
Ελέγξτε αν η λειτουργία δοκιμής είναι ενεργοποιημένη μόνο όταν σκοπεύετε να δοκιμάσετε.
Επιβεβαιώστε ότι ο διακομιστής WHMCS υποστηρίζει το απαιτούμενο περιβάλλον PHP και cURL.
Επιβεβαιώστε ότι παρέχεται υποστήριξη SSL/TLS για ασφαλή επικοινωνία API.
Δοκιμάστε τη διαθεσιμότητα τομέα πριν ενεργοποιήσετε ζωντανές ροές εργασίας καταχώρησης, ανανέωσης ή μεταφοράς.
Αναθεωρήστε τα αρχεία καταγραφής module WHMCS και τις απαντήσεις API NiceNIC μαζί.
Τι Μπορεί και Τι Δεν Μπορεί να Κάνει το NiceNIC Το NiceNIC μπορεί να βοηθήσει στην ανασκόπηση της πρόσβασης API από πλευράς καταχωρητή, της τεκμηρίωσης API, της κατάστασης λογαριασμού μεταπωλητή, των ρυθμίσεων API, της χρήσης τελικού σημείου και των λεπτομερειών απάντησης API που σχετίζονται με το NiceNIC Μεταπωλητής API v2. Ωστόσο, ορισμένα ζητήματα μπορεί να εξαρτώνται από την δική σας υλοποίηση, την έκδοση WHMCS, τη διαμόρφωση module, το περιβάλλον PHP/cURL, το τείχος προστασίας, τον proxy, τη διεύθυνση IP εξερχόμενου server, τη δημιουργία JSON, τις παραμέτρους αιτήματος, την κατάσταση τομέα, τους κανόνες TLD, την πολιτική μητρώου ή την ποιότητα δεδομένων πελάτη. Γι’ αυτόν τον λόγο, η ενσωμάτωσή σας θα πρέπει πάντα να αποθηκεύει την απάντηση API και να παρέχει αρκετά συμφραζόμενα του αιτήματος για αντιμετώπιση προβλημάτων. Ένα μήνυμα όπως «το API δεν λειτουργεί» συνήθως δεν αρκεί για να προσδιοριστεί αν το πρόβλημα είναι στην πιστοποίηση, τη μορφή αιτήματος, τους κανόνες μητρώου, τη διαμόρφωση WHMCS ή το περιβάλλον διακομιστή.
Συχνές Ερωτήσεις Γιατί αποτυγχάνει το αίτημα τομέα μου ακόμη και όταν το JSON είναι έγκυρο; Η δράση μπορεί να αποτύχει αν λείπουν απαιτούμενες παράμετροι, η μορφή τομέα είναι μη έγκυρη, το υπόλοιπο λογαριασμού είναι ανεπαρκές, η κατάσταση τομέα δεν επιτρέπει τη ζητούμενη δράση ή το TLD έχει ειδικές απαιτήσεις μητρώου.
Μπορώ να στείλω ολόκληρο URL αντί για όνομα τομέα; Για δράσεις τομέα, πρέπει συνήθως να στέλνετε το ίδιο το όνομα τομέα, όπως example.com, όχι ολόκληρο URL όπως https://example.com/page.
Γιατί αποτυγχάνει το WHMCS ακόμη και όταν η δική μου δοκιμή API λειτουργεί; Το WHMCS μπορεί να χρησιμοποιεί διαφορετικές ρυθμίσεις module, λειτουργία δοκιμής, περιβάλλον server, ρυθμίσεις PHP/cURL, εξερχόμενη IP ή αποθηκευμένα διαπιστευτήρια API. Ελέγξτε ξεχωριστά τη διαμόρφωση και τα αρχεία καταγραφής module καταχωρητή WHMCS.
Τι πρέπει να δοκιμάσω πρώτα μετά τη διόρθωση της μορφής αιτήματος; Ξεκινήστε με μια απλή δράση χαμηλού κινδύνου, όπως έλεγχος διαθεσιμότητας τομέα, έλεγχος υπολοίπου λογαριασμού, αναζήτηση τιμών ή ανάκτηση λίστας τομέων πριν ενεργοποιήσετε ζωντανές διαδικασίες καταχώρησης, ανανέωσης, μεταφοράς ή ενημέρωσης DNS.
Δημιουργήστε μια Καθαρότερη Ενσωμάτωση API με το NiceNIC Μόλις το τελικό σημείο, οι κεφαλίδες, το Content-Τύπος, το σώμα JSON, οι απαιτούμενες παράμετροι, η μορφή τομέα, οι κανόνες TLD και οι ρυθμίσεις WHMCS είναι σωστές, μπορείτε να συνεχίσετε να δημιουργείτε μια πιο αξιόπιστη ροή εργασίας μεταπωλητή με το NiceNIC Reseller API v2.