Webservice Prestashop utils

dans Prestashop

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');
Posté il y a par keepcodeclear.
Uncaught Exception

Uncaught Exception

Module 'mysqli' already loaded

Origin

on line 0

Trace

#0 [internal function]: System\Error::shutdown()
#1 {main}