Docly Child

Problèmes d’API

Les problèmes d’API sont les principaux cas que vous pouvez rencontrer lorsque vous travaillez avec des noms de domaine. Chaque fois qu’un domaine est affiché dans l’espace client / d’administration ou qu’une action est demandée sur un nom de domaine particulier, un appel API est effectué.

Chaque cas d’erreur est différent et dépend d’une situation particulière.

Par exemple:

  • Un enregistrement de domaine peut échouer car une donnée fournie par le client ne respecte pas la syntaxe attendue
  • Un changement de serveur de noms peut échouer car les serveurs de noms fournis par le client sont erronés
  • Un bug dans le module fait échouer l’API et un débogage plus approfondi est nécessaire pour comprendre ce qui est demandé par WHMCS au module et ce que le module a demandé via l’API

Exemple

Prenons l’exemple suivant :
Un nom de domaine est déjà enregistré et le client souhaite mettre à jour les informations whois. Pour le titulaire, il a saisi plusieurs caractères non supportés dans le champ « Adresse 2 ».

Information Whois WHMCS

Une fois soumis, un message d’erreur s’affiche pour l’utilisateur :

Message erreur WHMCS

Malheureusement, WHMCS n’affiche pas des messages d’erreur précis. Au lieu de cela, un message général est affiché demandant de contacter votre équipe d’assistance. D’accord mais que faire ? Comment comprendre le problème de votre côté pour aider le client ?

Ouvrez les logs des modules et recherchez l’action dans la liste en fonction du nom de domaine ou de la date/heure. Dans notre exemple, nous avons trouvé les lignes suivantes :

whmcs troubleshoot

La première entrée indique que le module a appelé la fonction netim_savecontactdetails du module avec les paramètres indiqués dans la colonne « Demande ». Il y a beaucoup d’informations mais, dans notre cas, l’information importante est :

 [Registrant] => Array
              (
                  [Address 1] => 165 avenue de bretagne
                  [Address 2] => wrong string syntax &e"'(-e_ca)=}$^u*$
                  [City] => LILLE
                  [State] => 
                  [Postcode] => 59000
                  [Country] => FR
                  [Phone Country Code] => 33
                  [Phone] => +33.123456789
                  [Email] => bobby@netim.com
                  [phone-normalised] => 1
              )

Nous pouvons constater que « Address 2 » a été rempli avec « wrong string syntax &e »‘(-e_ca)=}$^u*$ »

La deuxième entrée indique que le module a tenté de mettre à jour le contact via l’API avec la fonction SOAP contactownerupdate

Mais le résultat était :

E13 : Address : Some characters are not accepted (accents, symbols, ...)

Bingo, nous avons constaté que le problème s’est produit parce que le client a demandé une mise à jour des informations du titulaire du nom de domaine avec une adresse contenant des caractères non pris en charge.