NiceNIC API v2 užklausų farmato klaidos: Endpoint, antraštės, JSON ir parametrai
Jei jūsų NiceNIC Reseller API v2 užklausa pasiekia API, bet neveikia kaip tikėtasi, problema gali būti ne autentifikacijoje. Tai gali būti užklausos farmato problema. Šis vadovas padeda domenų perpardavėjams, prieglobos paslaugų teikėjams, kūrėjams, agentūroms ir WHMCS vartotojams spręsti dažniausiai pasitaikančias NiceNIC API v2 užklausų farmato problemas, įskaitant endpoint klaidas, trūkstamas antraštes, netinkamą Content-Tipas, neteisingą JSON, trūkstamus parametrus, neteisingą domeno farmatą, TLD specifinius reikalavimus bei WHMCS modulio konfigūracijos problemas.
NiceNIC API v2 užklausų farmato klaidos paprastai kyla dėl netinkamo endpoint, trūkstamų ar neteisingų antraščių, neteisingo Content-Tipas, netinkamo JSON, trūkstamų būtinų parametrų, netinkamo domeno farmato, nesuderintų API veiksmų ir parametrų, TLD specifinių registro reikalavimų arba WHMCS modulio nustatymų, kurie neatitinka API užklausos.
Pradėkite patikrindami API endpoint, būtinus antraščių laukus, JSON farmatą, privalomus parametrus ir tikslų API veiksmą, kurį naudojate. Jei naudojate WHMCS, taip pat patikrinkite WHMCS modulio nustatymus, API prisijungimo duomenis, testavimo režimą, PHP/cURL aplinką ir serverio išeinančios sąrankos parametrus.
Ką paprastai reiškia tokio tipo API klaida Užklausos farmato problema reiškia, kad jūsų API užklausa gali pasiekti NiceNIC API endpoint'ą, bet užklausa negali būti apdarota tinkamai, nes kažkas užklausos struktūroje, antraštėse, karpuse, parametruose, domeno duomenyse arba modulio konfigūracijoje nėra galiojantis tam veiksmui, kurį birote atlikti.
Įkio tipo problema skiriasi nuo grynos autentifikacijos klaidos. Autentifikacijos klaidos paprastai susijusios su API slaptažodžiu, Autharization antrašte, perpardavėjo prieiga arba IP baltojo sąrašo nustatymais. Užklausų farmato klaidos dažniausiai susijusios su tuo, kaip užklausa sufarmuota po to, kai prieiga jau sukonfigūruota.
Dažniausios užklausų farmato priežastys yra:
API endpoint yra neteisingas.
Trūksta būtinų antraščių arba jos yra neteisingos.
Content-Tipas nėra nustatytas kaip application/json.
Užklausos kūnas nėra galiojantis JSON.
Trūksta būtinų parametrų.
Domeno pavadinimo farmatas yra neteisingas.
API veiksmas ir parametrai nesutampa.
TLD turi specialius registro reikalavimus.
Sąskaitos balansas, domeno statusas arba registro taisyklė trukdo atlikti užklausą veiksmą.
WHMCS modulio nustatymai nesutampa su API užklausa.
Priežastis 1: API Endpoint yra neteisingas NiceNIC API v2 užklausos turėtų būti siunčiamos į dokumentuotą API v2 endpointą: https://api.NiceNIC/v2/ Jei jūsų kodas naudoja seną endpointą, klaidingai užrašytą endpointą, netinkamą protokolą, trūksta kelio ar kitą API versiją, užklausa gali nepavykti prieš apdarojant numatytą veiksmą. Kaip taisyti
Patikrinkite, ar jūsų užklausa siunčiama į https://api.NiceNIC/v2/.
Patikrinkite klaidas domeno, protokolo ar kelio rašyboje.
Įsitikinkite, kad jūsų gamybinė aplinka nenaudoja seno API endpoint'o.
Patikrinkite ar jūsų WHMCS modulis, specialus registratarius modulis ar backend konfigūracija neturi įrašyto seno URL.
Peržiūrėkite serverio žurnalus, kad patvirtintumėte tikslų URL, kurį užklausa pateikia jūsų programėlė.
Priežastis 2: Trūksta būtinų antraščių arba jos neteisingos NiceNIC API v2 užklausoms reikalingos teisingos HTTP antraštės. Jei Autharization antraštė, Host antraštė ar Content-Tipas antraštė trūksta, yra pakeistos arba blokuojamos, užklausa gali nepavykti. Dokumentuota antraštės farma yra: Host: api.NiceNIC Autharization: username:api_secret Content-Tipas: application/json
Kaip taisyti
Patikrinkite, ar jūsų užklausoje yra Autharization antraštė.
Patikrinkite, ar Autharization reikšmė atitinka dokumentuotą username:api_secret farmatą.
Patikrinkite, kad API paslaptis yra jūsų API slaptažodis, o ne jūsų NiceNIC paskyros prisijungimo slaptažodis.
Įsitikinkite, kad Content-Tipas yra tiksliai application/json.
Patikrinkite, ar jūsų HTTP klientas, karkasas, proxy, ugniasienė ar WHMCS modulis neištrina ar nepakeičia antraščių.
Pašalinkite nereikalingas tarpines, eilučių pertraukas ar paslėptus simbolius iš antraščių reikšmių.
Priežastis 3: Content-Tipas nėra application/json NiceNIC API v2 tikisi JSON farmato užklausų. Jei jūsų kodas siunčia duomenis kaip farm-data, text/plain, x-www-farm-urlencoded ar kitu farmatu, API gali neteisingai perskaityti užklausą. Kaip taisyti
Nustatykite Content-Tipas į application/json.
Įsitikinkite, kad jūsų HTTP klientas iš tiesų siunčia JSON, o ne tik žymi užklausą kaip JSON.
Patikrinkite, ar užklausos kūnas nėra konvertuojamas jūsų karkaso prieš siunčiant.
Jei naudojate PHP, patikrinkite, ar JSON kūnas teisingai užkoduotas prieš siunčiant užklausą.
Jei naudojate WHMCS, patikrinkite, ar modulio konfigūracija atitinka NiceNIC palaikymo reikalavimus.
Priežastis 4: Užklausos kūnas nėra galiojantis JSON Užklausa gali nepavykti, jei kūnas nėra galiojantis JSON. Tai dažnai nutinka, kai kodas kuria užklausos kūną rankiniu būdu vietoje JSON koderio naudojimo. Įprastos JSON problemos apima:
Trūksta kabučių
Perteklius kablelių
Netinkamai išdėstyti objektų ar masyvų lygiai
Nepabėgti simboliai
Netinkami UTF-8 simboliai
Tuščias kūnas veiksme, kuriam reikalingi parametrai
Kaip taisyti
Patikrinkite JSON kūną prieš siunčiant užklausą.
Naudokite savo programavimo kalbos JSON kodavimo funkciją vietoje rankinio JSON kūrimo.
Patvirtinkite, kad simbolių rinkinys yra UTF-8.
Registruokite užklausos kūną testavimo metu, bet pašalinkite jautrius duomenis prieš bendrinant žurnalus.
Pirmiausia išbirykite paprastą mažos rizikos veiksmą prieš birant mokamus domenų veiksmus.
Priežastis 5: Trūksta būtinų parametrų Skirtingi API veiksmai reikalauja skirtingų parametrų. Užklausa, veikianti vienam veiksmui, negali būti visada naudojama kitam veiksmui. Pavyzdžiui, domeno prieinamumo tikrinimas, registracija, atnaujinimas, perkėlimas, vardų serverių atnaujinimas, kontaktų atnaujinimas, DNS įrašų valdymas ir sąskaitos balanso tikrinimas gali reikalauti skirtingų laukų. Kaip taisyti
Pasidarykite tikslų API dokumentacijos skyrių tam veiksmui, kurį naudojate.
Palyginkite savo užklausos kūną su privalomais parametrais.
Nelaikykite, kad domeno registracija, atnaujinimas, perkėlimas ir DNS atnaujinimai naudoja tą patį parametrų rinkinį.
Patvirtinkite, ar TLD reikalauja papildomų laukų ar išplėstinių atributų.
Patvirtinkite, ar veiksmui reikalinga kontaktinė infarmacija, vardų serveriai, autarizacijos kodas, metai, DNS duomenys ar kiti specifiniai laukai.
Priežastis 6: Domeno farmatas yra neteisingas Daugelyje domenų API užklausų reikia paties domeno vardo, o ne pilno URL. Netinkami pavyzdžiai gali būti:
domenų pavadinimai, turintys nepalaikomus simbolius
Galiojantis farmatas dažniausiai reiškia paprastą domeno vardą, pvz.: example.com Kaip taisyti
Pašalinkite http:// ir https:// iš domenų reikšmių.
Pašalinkite kelius, užklausų eilutes, fragmentus ir galinius tarpus.
Nermalizuokite didžiųjų ir mažųjų raidžių apdarojimą jūsų programoje.
Patikrinkite domeno farmatą prieš siunčiant API užklausą.
IDN ar specialių simbolių atveju patikrinkite, kaip domenas turėtų būti užkoduotas prieš siunčiant užklausą.
Priežastis 7: API veiksmas ir parametrai nesutampa API veiksmas turi atitikti siunčiamus parametrus. Jei kviečiate vieną veiksmą, bet siunčiate parametrus kitam veiksmui, užklausa gali nepavykti arba grąžinti netikėtą atsakymą. Netinkamos užklausos logikos pavyzdžiai yra:
Registracijos parametrų siuntimas į domeno prieinamumo tikrinimo veiksmą
Perkėlimo parametrų siuntimas be reikiamo autarizacijos kodo
DNS įrašo laukų siuntimas į vardų serverių atnaujinimo veiksmą
Kontaktų atnaujinimo laukų siuntimas į atnaujinimo veiksmą
Naudojimas WHMCS modulio veiksmo, kuris nesutampa su birymu atlikti operaciją
Kaip taisyti
Patikrinkite naudojamo veiksmo pavadinimą ar API maršrutą.
Peržiūrėkite tikslų dokumentacijos skyrių tam veiksmui.
Palyginkite būtinus parametrus su užklausos kūnu.
Testuokite po vieną veiksmą.
Nekombinuokite prieinamumo tikrinimo, registracijos, DNS atnaujinimo ir atnaujinimo logikos į vieną nepatikrintą užklausos šabloną.
Priežastis 8: TLD turi specialius registro reikalavimus Kai kurie domenų plėtiniai turi specialias registro taisykles. Technškai galiojanti API užklausa gali vis tiek nepavykti, jei registras reikalauja papildomos infarmacijos, specialių kontaktų laukų, dokumentų, vietinio buvimo ar rankinio patvirtinimo. Tai ypač svarbu ccTLD, ribojamiems TLD ir plėtiniams su specialiomis registracijos ar atnaujinimo taisyklėmis. Kaip taisyti
Patikrinkite, ar domeno plėtinys turi specialius registracijos reikalavimus.
Patvirtinkite, ar reikalaujama vietinė buvimo vieta, dokumentai, išplėstiniai atributai ar specialūs kontaktiniai duomenys.
Patikrinkite, ar domeno veiksmas yra palaikomas tame TLD per automatizaciją.
Nelaikykite, kad kiekvienas TLD elgiasi kaip .com.
Jei API atsakymas rodo registrą ar plėtinio susijusią problemą, peržiūrėkite TLD taisyklę prieš kartotinai birydami.
Priežastis 9: WHMCS modulio nustatymai nesutampa su API užklausa Jei naudojate WHMCS, už klausą gali generuoti WHMCS modulis, o ne jūsų pasirinktas kodas. Įkiu atveju problema gali būti modulio konfigūracijoje, API prisijungimo duomenyse, testavimo režime, PHP/cURL palaikyme, SSL/TLS palaikyme arba WHMCS serverio aplinkoje.
Dažniausios su WHMCS susijusios užklausų problemos yra:
WHMCS modulis turi neteisingus API prisijungimo duomenis.
API slaptažodis buvo pakeistas NiceNIC, bet ne atnaujintas WHMCS.
Testavimo režimas yra įjungtas arba išjungtas neteisingai.
WHMCS serveris neatitinka reikalingų PHP arba cURL sąlygų.
WHMCS siunčia užklausas iš kito serverio nei tikėtasi.
Domenų kainodara arba TLD nustatymai WHMCS nesutampa su domeno veiksmu.
WHMCS automatizavimas vykdo atnaujinimo, perkėlimo ar registracijos veiksmą su nebaigtais kliento duomenimis.
Ką NiceNIC gali ir ko negali NiceNIC gali padėti peržiūrėti registratariaus pusės API prieigą, API dokumentaciją, perpardavėjo paskyros statusą, API nustatymus, endpoint naudojimą ir API atsakymų detales, susijusias su NiceNIC Platintojas API v2. Tačiau kai kurios problemos gali priklausyti nuo jūsų pačių įgyvendinimo, WHMCS versijos, modulio konfigūracijos, PHP/cURL aplinkos, ugniasienės, proxy, serverio išeinančio IP, JSON generavimo, užklausos parametrų, domeno statuso, TLD taisyklių, registro politikos ar kliento duomenų kokybės. Dėl to jūsų integracija turėtų visuomet išsaugoti API atsakymą ir pateikti pakankamą užklausos kontekstą trikčių šalinimui. Pranešimas „API neveikia“ dažniausiai nėra pakankamas, kad būtų nustatyta, ar problema yra autentifikacija, užklausos farmatu, registro taisyklėmis, WHMCS konfigūracija ar serverio aplinka.
DUK Kodėl mano domeno užklausa nepavyksta, nars JSON yra galiojantis? Veiksmas gali nepavykti, jei trūksta būtinų parametrų, domeno farmatas neteisingas, sąskaitos balansas nepakankamas, domeno statusas neleidžia atlikti veiksmą arba TLD turi specialių registro reikalavimų.
Ar galiu siųsti pilną URL vietoje domeno vardo? Domenų veiksmams paprastai turėtumėte siųsti patį domeno vardą, pvz., example.com, o ne pilną URL, pvz., https://example.com/page.
Kodėl WHMCS nepavyksta, nars mano pasirinktas API testas veikia? WHMCS gali naudoti skirtingus modulio nustatymus, testavimo režimą, serverio aplinką, PHP/cURL nustatymus, išeinantį IP ar saugomus API prisijungimo duomenis. Patikrinkite WHMCS registratariaus modulio konfigūraciją ir žurnalus atskirai.
Ką turėčiau išbiryti pirmiausia po užklausos farmato pataisymo? Pradėkite nuo mažos rizikos veiksmo, tokio kaip domeno prieinamumo tikrinimas, sąskaitos balanso patikrinimas, kainų paieška ar domenų sąrašo gavimas, prieš paleisdami tiesioginę registraciją, atnaujinimą, perkėlimą ar DNS atnaujinimo darbo eigas.
Sukurkite švaresnę API integraciją su NiceNIC Kai jūsų endpoint, antraštės, Content-Tipas, JSON kūnas, būtini parametrai, domeno farmatas, TLD taisyklės ir WHMCS nustatymai yra teisingi, galite toliau kurti patikimesnę perpardavėjo darbo eigą su NiceNIC Reseller API v2.