Lister les clients

Nous allons voir ici comment afficher la liste des ID des clients, nous aurions pu afficher plus d'information et personnaliser cela mais nous verront cela plus tard dans le tutorial.

Afin de récupérer un fichier XML contenant l'ensemble des clients nous devons utiliser la méthode "get" qui prends en premier argument un tableau défini comme suit :

Clé

Valeur

resource

customers

La valeur définit la ressource que le service web va utiliser dans son futur appel, elle aurait pu être de type "carriers", "countries" ou tout autre type de ressource que l'ont peux trouver dans l'onglet service web du Back-Office.

$opt['resource'] = 'customers';
$xml = $webService->get($opt);

L'appel à la méthode nous renverra un objet SimpleXML contenant l'ensemble des identifiants des clients.

Maintenant nous devons accéder aux balises qui nous interessent dans le fichier XML :

<?xml>
<prestashop>
  <customers>
    <customer>
      ID du client
    </customer>
...Autres balises client
  </customers>
</prestashop>

Structure

En récupérant le retour de "$webService->get", nous sommes à la racine du document.
Afin d'accéder aux champs des clients qui sont enfants ("children" en anglais) de la balise customers, il nous suffit en SimpleXML de récupérer l'ensemble des champs dans un tableau associatif comme ceci :

$resources = $xml->customers->children();

A partir de là nous pouvons accéder aux identifiants des clients facilement, exemple avec un parcours des identifiants :

foreach ($resources as $resource)
  echo $resource->attributes().'<br />';

Grâce à ces éléments, vous allez créer un tableau (HTML) contenant tous les ID des clients avant de passer au chapitre suivant.
Vous pouvez vous aider du Back Office dans l'onglet "Clients" afin de retrouver les ID de tous les clients.

Si vous rencontrez des difficultés, n'hésitez pas à regarder le code du fichier 0-CustomersList.php, c'est le résultat que vous devez obtenir.