Cet article recense des informations utiles pour utiliser le webservice de Prestashop.
En premier lieu il faut récupérer la classe fournie par Prestashop à l'adresse suivante https://github.com/PrestaShop/PrestaShop-webservice-lib/blob/master/PSWebServiceLibrary.php.
Récupérer une entité (ex. récupérer un client par son e-mail)
$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);
//__ Récupération de l'utilisateur par son e-mail
$opt = array('resource' => 'customers?filter[email]=' . urlencode( $user_email ) );
$xml = $webservice->get($opt);
$resources = $xml->children()->children();
//__ User trouvé sur PS
if( count( $resources ) > 0 ) {
//__ Récupération de l'id PS du client
$customer_id = $resources->attributes();
}
Créer une entité (adresse d'un client par exemple)
$xml = $webservice->get(array('resource' => 'addresses?schema=blank')); //__ On récupère le schéma XML vide
$resources = $xml->children()->children();
$resources->id_country = 8;//__ France
$resources->alias = 'Adresse principale';
$resources->lastname = 'Dupont';
[...]
//__ Ajout de l'adresse via le WS
$opt = array('resource' => 'addresses');
$opt['postXml'] = $xml -> asXML();
$xml = $webservice->add($opt);
Afficher le détail d'un élément SimpleXML
$element->asXML('php://output');
Accéder à l'attribut xlink:href d'un élément SimpleXML
$element->attributes('http://www.w3.org/1999/xlink');