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 :

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.