Jump to content

Fonctionnement des webservices


Recommended Posts

Bonjour à tous,

 

je suis actuellement en train de travailler sur les webservices de Prestashop. J'ai suivi le tutoriel présent dans la documentation mais je suis confronté à un problème. 

 

Le premier intervient lorsque je GET le xml d'un produit, puis que je l'EDIT directement, je reçois une réponse "bad request". D'après un post que j'ai trouvé, ce serait à cause de champs qui ne sont normalement pas présents dans la ressource. Comment pourrais-je faire alors pour contourner ce problème? Voici mon code actuel:

$webService = new PrestaShopWebservice('http://prestashop.dev/', '***********', false);
$xml = $webService->get(array('resource' => 'products','id' => 1));
$opt = array('resource' => 'products','id' => $id);
$opt['putXml'] = $xml->asXML();
$xml = $webService->edit($opt);

À noter que j'arrive correctement à afficher l'article, et à éditer des "resources" Customer.

 

Je vous remercie pour l'aide que vous pourrez m'apporter et vous souhaite une excellente journée.

 

PS: La version de PS est la 1.6.1.1

Edited by El_Matella (see edit history)
Link to comment
Share on other sites

J'ai résolu mon problème, en supprimant certains champs du XML, voici le code pour ceux qui chercheraient:

$webService = new PrestaShopWebservice('http://prestashop.dev/', '***********', false);
$xml = $webService->get(array('resource' => 'products','id' => 1));
{
        $dom=dom_import_simplexml($node);
        $dom->parentNode->removeChild($dom);
}
foreach($xml->product->quantity as $node)
{
    $dom=dom_import_simplexml($node);
    $dom->parentNode->removeChild($node);
}
foreach($xml->product->id_default_image as $node)
{
    $dom=dom_import_simplexml($node);
    $dom->parentNode->removeChild($dom);
}
$opt = array('resource' => 'products','id' => $id);
$opt['putXml'] = $xml->asXML();
$xml = $webService->edit($opt);
foreach($xml->product->manufacturer_name as $node)

Je rencontre maintenant un autre problème, comment éditer les descriptions et les noms des produits, en prenant en considération le fait qu'un produit peut avoir plusieurs langues et qu'il faut donc bien mettre à jour la table 'ps_product_lang'.

 

Si quelqu'un a une idée, je suis plus que preneur! Bonne journée à tous :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...