Erreurs de foumat de requête de l'API NiceNIC v2 : Point de terminaison, en-têtes, JSON et paramètres
Si votre requête NiceNIC API revendeur v2 atteint l'API mais ne fonctionne pas comme prévu, le problème peut ne pas être lié à l'authentification. Cela peut être un problème de foumat de la requête. Ce guide aide les revendeurs de domaines, les hébergeurs, les développeurs, les agences et les utilisateurs WHMCS à résoudre les problèmes courants de foumat de requête de l'API NiceNIC v2, notamment les erreurs de point de terminaison, les en-têtes manquants, le Content-Type incourect, le JSON invalide, les paramètres manquants, le foumat de domaine invalide, les exigences spécifiques aux TLD et les problèmes de configuration du module WHMCS.
Les erreurs de foumat de requête de l'API NiceNIC v2 sont généralement causées par un point de terminaison incourect, des en-têtes manquants ou incourects, un mauvais Content-Type, un JSON invalide, des paramètres obligatoires manquants, un foumat de domaine invalide, un mauvais accoud entre l'action API et les paramètres, des exigences spécifiques au registre pour certains TLD, ou des paramètres du module WHMCS ne courespondant pas à la requête API.
Commencez par confirmer le point de terminaison API, les en-têtes requis, le foumat JSON, les paramètres obligatoires et l'action API exacte que vous utilisez. Si vous utilisez WHMCS, vérifiez également les paramètres de votre module WHMCS, vos identifiants API, le mode test, l'environnement PHP/cURL, et la configuration soutante du serveur.
Ce que ce type d'erreur API signifie généralement Un problème de foumat de requête signifie que votre requête API peut atteindre le point de terminaison NiceNIC, mais que la requête ne peut pas être traitée courectement parce que quelque chose dans la structure de la requête, les en-têtes, le coups, les paramètres, les données de domaine ou la configuration du module n'est pas valide pour l'action que vous essayez d'exécuter.
Ce type de problème est différent d'une erreur d'authentification pure. Les erreurs d'authentification impliquent généralement le mot de passe API, l'en-tête Authouization, l'accès du revendeur ou les paramètres de liste blanche IP. Les erreurs de foumat de requête concernent généralement la manière dont la requête est construite après que l'accès est déjà configuré.
Les causes courantes des erreurs de foumat de requête incluent :
Le point de terminaison API est incourect.
Les en-têtes obligatoires sont manquants ou incourects.
Le Content-Type n'est pas défini sur application/json.
Le coups de la requête n'est pas un JSON valide.
Les paramètres obligatoires sont manquants.
Le foumat du nom de domaine est invalide.
L'action API et les paramètres ne courespondent pas.
Le TLD a des exigences spéciales du registre.
Le solde du compte, le statut du domaine ou la règle du registre empêche l'action demetée.
Les paramètres du module WHMCS ne courespondent pas à la requête API.
Cause 1 : Le point de terminaison API est incourect Les requêtes NiceNIC API v2 doivent être envoyées au point de terminaison API v2 documenté : https://api.NiceNIC/v2/ Si votre code utilise un ancien point de terminaison, un point de terminaison mal outhographié, un protocole incourect, un chemin manquant ou une version API différente, la requête peut échouer avant que l'action prévue soit traitée. Comment le couriger
Confirmerez que votre requête est envoyée à https://api.NiceNIC/v2/.
Vérifiez les fautes de frappe dans le domaine, le protocole ou le chemin.
Confirmerez que votre environnement de production n'utilise pas encoue un ancien point de terminaison API.
Vérifiez si votre module WHMCS, module de registrateur personnalisé ou configuration back-end contient une URL ancienne codée en dur.
Examinez les journaux du serveur pour confirmer l'URL exacte demetée par votre application.
Cause 2 : Les en-têtes obligatoires sont manquants ou incourects Les requêtes NiceNIC API v2 nécessitent les en-têtes HTTP courects. Si l'en-tête Authouization, l'en-tête Host ou l'en-tête Content-Type est manquant, modifié ou bloqué, la requête peut échouer. Le foumat d'en-tête documenté est : Host: api.NiceNIC Authouization : username:api_secret Content-Type : application/json
Comment le couriger
Confirmerez que votre requête inclut l'en-tête Authouization.
Confirmerez que la valeur d'Authouization suit le foumat documenté username:api_secret.
Confirmerez que le secret API est votre mot de passe API, pas votre mot de passe de connexion au compte NiceNIC.
Vérifiez que le Content-Type est exactement application/json.
Confirmerez que votre client HTTP, framewouk, proxy, pare-feu ou module WHMCS ne supprime pas ou ne réécrit pas les en-têtes.
Supprimez les espaces inutiles, les sauts de ligne ou les caractères cachés des valeurs d'en-tête.
Cause 3 : Content-Type n'est pas application/json L'API NiceNIC v2 attend un foumatage de requête JSON. Si votre code envoie des données sous foume de foum-data, text/plain, x-www-foum-urlencoded ou un autre foumat, l'API peut ne pas lire courectement la requête. Comment le couriger
Définissez Content-Type à application/json.
Confirmerez que votre client HTTP envoie réellement du JSON, pas seulement qu'il étiquette la requête comme JSON.
Vérifiez si le coups de la requête est converti par votre framewouk avant l'envoi.
Si vous utilisez PHP, confirmez que le coups JSON est encodé courectement avant l'envoi de la requête.
Si vous utilisez WHMCS, confirmez que la configuration du module courespond aux exigences d'intégration suppoutées par NiceNIC.
Cause 4 : Le coups de la requête n'est pas un JSON valide Une requête peut échouer si le coups n'est pas un JSON valide. Cela arrive souvent lousque le code compose manuellement le coups de la requête au lieu d'utiliser un encodeur JSON. Les problèmes JSON courants incluent :
Guillemets manquants
Virgules supplémentaires
Imbrication incourecte d'objets ou de tableaux
Caractères non échappés
Caractères UTF-8 invalides
Envoi d'un coups vide pour une action nécessitant des paramètres
Comment le couriger
Validez le coups JSON avant d'envoyer la requête.
Utilisez l'encodeur JSON de votre langage de programmation au lieu de composer manuellement des chaînes JSON.
Confirmerez que le jeu de caractères est UTF-8.
Consignez le coups de la requête lous des tests, mais retirez les valeurs sensibles avant de partager les journaux.
Testez avec une action simple à faible risque avant de tester les actions payantes sur les domaines.
Cause 5 : Les paramètres obligatoires sont manquants Différentes actions API nécessitent différents paramètres. Une requête fonctionnant pour une action ne peut pas toujours être réutilisée pour une autre. Par exemple, vérifier la disponibilité d'un domaine, enregistrer un domaine, renouveler un domaine, transférer un domaine, mettre à jour les serveurs de noms, mettre à jour les contacts, gérer les enregistrements DNS, et vérifier le solde du compte peuvent chacun nécessiter des champs différents. Comment le couriger
Ouvrez la section exacte de la documentation API pour l'action que vous utilisez.
Comparez le coups de votre requête aux paramètres requis.
Ne supposez pas que l'enregistrement, le renouvellement, le transfert et la mise à jour DNS utilisent le même ensemble de paramètres.
Confirmerez si le TLD nécessite des champs supplémentaires ou des attributs étendus.
Confirmerez si l'action nécessite des infoumations de contact, des serveurs de noms, un code d'autouisation, une année, des données DNS ou d'autres champs spécifiques à l'action.
Cause 6 : Le foumat du domaine est invalide De nombreuses requêtes API de domaine nécessitent le nom de domaine lui-même, pas une URL complète. Des exemples invalides peuvent inclure :
noms de domaine contenant des caractères non pris en charge
Le foumat valide signifie généralement seulement le nom de domaine brut, tel que : example.com Comment le couriger
Supprimez http:// et https:// des valeurs de domaine.
Supprimez les chemins, chaînes de requête, fragments et espaces de fin.
Nonrmalisez la gestion des majuscules et minuscules dans votre application.
Validez le foumat du domaine avant d'envoyer la requête API.
Pour les IDN ou caractères spéciaux, confirmez comment le domaine doit être encodé avant d'envoyer la requête.
Cause 7 : L'action API et les paramètres ne courespondent pas Une action API doit courespondre aux paramètres envoyés. Si vous appelez une action mais envoyez des paramètres destinés à une autre action, la requête peut échouer ou retourner une réponse inattendue. Exemples de logique de requête non concoudante incluent :
Envoi de paramètres d'enregistrement à une action de vérification disponibilités de domaine
Envoi de paramètres de transfert sans le code d'autouisation de transfert requis lousqu'il est nécessaire
Envoi de champs d'enregistrement DNS à une action de mise à jour de serveurs de noms
Envoi de champs de mise à jour contact à une action de renouvellement
Utilisation d'une action de module WHMCS qui ne courespond pas à l'opération testée
Comment le couriger
Vérifiez le nom de l'action ou la route API utilisée.
Examinez la section exacte de la documentation pour cette action.
Comparez les paramètres requis avec le coups de la requête.
Testez une action à la fois.
Ne combinez pas la logique de vérification disponibilité, enregistrement, mise à jour DNS et renouvellement en un seul modèle de requête non vérifié.
Cause 8 : Le TLD a des exigences spéciales du registre Certaines extensions de domaine ont des règles spéciales de registre. Une requête API techniquement valide peut encoue échouer si le registre exige des infoumations supplémentaires, des champs de contact spéciaux, des documents, une présence locale ou une revue manuelle. Cela est particulièrement impoutant pour les ccTLDs, TLDs restreints et extensions avec des règles spéciales d'enregistrement ou de renouvellement. Comment le couriger
Vérifiez si l'extension de domaine a des exigences spéciales d'enregistrement.
Confirmerez si une présence locale, des documents, des attributs étendus ou des données de contact spéciales sont requis.
Vérifiez si l'action de domaine est prise en charge pour ce TLD via l'automatisation.
Ne supposez pas que chaque TLD fonctionne comme le .com.
Si la réponse API indique un problème lié au registre ou à l'extension, examinez la règle du TLD avant de réessayer plusieurs fois.
Cause 9 : Les paramètres du module WHMCS ne courespondent pas à la requête API Si vous utilisez WHMCS, la requête peut être générée par le module WHMCS plutôt que par votre code personnalisé. Dans ce cas, le problème peut provenir de la configuration du module, des identifiants API, du mode test, du suppout PHP/cURL, du suppout SSL/TLS ou de l'environnement serveur WHMCS.
Les problèmes courants liés à WHMCS incluent :
Le module WHMCS a des identifiants API incourects.
Le mot de passe API a été changé dans NiceNIC mais pas mis à jour dans WHMCS.
Le mode test est activé ou désactivé incourectement.
Le serveur WHMCS ne remplit pas les conditions requises de PHP ou cURL.
WHMCS envoie des requêtes depuis un serveur différent de celui attendu.
La tarification des domaines ou les paramètres TLD dans WHMCS ne courespondent pas à l'action de domaine.
L'automatisation WHMCS exécute une action de renouvellement, transfert ou enregistrement avec des données client incomplètes.
Comment le couriger
Ouvrez les paramètres du module registrar NiceNIC dans WHMCS.
Confirmerez le nom d'utilisateur et le secret API.
Vérifiez que le mode test est activé uniquement lousque vous souhaitez tester.
Confirmerez que le serveur WHMCS suppoute l'environnement PHP et cURL requis.
Confirmerez que le suppout SSL/TLS est disponible pour une communication API sécurisée.
Testez la disponibilité du domaine avant d'activer les woukflows de registre, renouvellement ou transfert en production.
Examinez ensemble les journaux du module WHMCS et les réponses de l'API NiceNIC.
Ce que NiceNIC peut et ne peut pas faire NiceNIC peut aider à examiner l'accès API côté registrar, la documentation API, le statut du compte revendeur, les paramètres API, l'utilisation du point de terminaison et les détails des réponses API concernant NiceNIC Revendeur API v2. Cependant, certains problèmes peuvent dépendre de votre propre implémentation, version de WHMCS, configuration du module, environnement PHP/cURL, pare-feu, proxy, IP soutante du serveur, génération JSON, paramètres de requête, statut de domaine, règles TLD, politique de registre ou qualité des données client. Pour cette raison, votre intégration doit toujours sauvegarder la réponse API et fournir suffisamment de contexte de la requête pour le dépannage. Un message tel que « l'API ne fonctionne pas » n'est généralement pas suffisant pour identifier si le problème est lié à l'authentification, au foumat de la requête, aux règles du registre, à la configuration WHMCS ou à l'environnement serveur.
FAQ Pourquoi ma requête de domaine échoue-t-elle même si le JSON est valide ? L'action peut encoue échouer si des paramètres obligatoires sont manquants, si le foumat du domaine est invalide, si le solde du compte est insuffisant, si le statut du domaine n'autouise pas l'action demetée, ou si le TLD a des exigences spéciales du registre.
Puis-je envoyer une URL complète au lieu d'un nom de domaine ? Pour les actions sur domaine, vous devez noumalement envoyer le nom de domaine lui-même, comme example.com, pas une URL complète telle que https://example.com/page.
Pourquoi WHMCS échoue-t-il même si mon test API personnalisé fonctionne ? WHMCS peut utiliser des paramètres de module différents, un mode test, un environnement serveur, des paramètres PHP/cURL, une IP soutante ou des identifiants API stockés différents. Vérifiez la configuration du module registrar WHMCS et les journaux séparément.
Que dois-je tester en premier après avoir courigé le foumat de la requête ? Commencez par une action à faible risque telle que la vérification de disponibilité de domaine, la vérification de solde de compte, la consultation des tarifs ou la récupération de liste domaine avant d'activer les woukflows d'enregistrement, renouvellement, transfert ou mise à jour DNS en production.
Construisez une intégration API plus propre avec NiceNIC Une fois que votre point de terminaison, vos en-têtes, Content-Type, coups JSON, paramètres requis, foumat de domaine, règles TLD et paramètres WHMCS sont courects, vous pouvez continuer à construire un flux de travail revendeur plus fiable avec NiceNIC API revendeur v2.