Jump to content
  • 0

Artikel per Webservice anlegen (php)


dd0815

Question

Hallo zusammen,

ich versuche einen Artikel via Webservice anzulegen (Prestashop-Version 1.7.2.2) und folge dabei dem Tutorial (http://doc.prestashop.com/display/PS16/Chapter+6+-+Data+creation+-+Creating+a+remote+online+form)

Artikelabfragen, das Ändern des Preises sowie das Löschen eines Artikels über den Webservice funktionieren.

Das Holen das Schemas funktioniert noch:

					$opt = array('url' => WEBSHOP_URL.'api/products?schema=blank');
					$xmlProdNew = $webService->get($opt);
					$resources = $xmlProdNew->children()->children();

Beim Versuch des Anlegens:

					$opt = array('resource' => 'products', 'postXml' => $xmlProdNew->asXML() );
					$xmlProdNew = $webService->add($opt);

bekomme ich den Fehler:

This call to PrestaShop Web Services failed and returned an HTTP status of 400. That means: Bad Request (oder auch mal 500: Internal Server Error - so ganz verstehe ich nicht, wann welcher der beiden Fehler kommt).

Nun steht im Tutorial: "Remember that some fields are mandatory, so do not forget to fill them out." Nur steht leider nicht da welche nun notwendig sind - wißt Ihr das vielleicht?

Auch habe ich mehrfach gefunden, dass mit unset(); irgendwelche xml-Einträge entfernt werden (z.B. beim Preise aktualisieren)

					// List of nodes that can't modify > beim Versuch diese zu ändern gibts Fehlermeldungen
					unset($xmlprod->children()->children()->manufacturer_name);
					unset($xmlprod->children()->children()->position_in_category);
					unset($xmlprod->children()->children()->quantity);
					unset($xmlprod->children()->children()->type);

Muss ich irgendwelche xml-Knoten beim Anlegen aus dem blanken Schema auch wieder löschen?

Auch habe ich in der defines.inc.php erweiterte Fehlermeldungen aktiviert (bzw. den Shop in den Debug-Modus geschalten):

define('_PS_MODE_DEV_', true);
@ini_set('display_errors', 'on');

Nur werden dadurch keine weiteren Details ausgegeben, und auch im Backend finde ich keine weiteren Debug-Informationen. Wißt Ihr wo diese zu finden sind?

Zur Zeit stochere ich etwas ratlos im Code herum und komme nicht vorwärts, vielleicht könnt Ihr mir mit Tipps oder Links weiterhelfen...

Viele Grüße,
dd0815

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

3 answers to this question

Recommended Posts

  • 0

Hallo NSN,

ja, es war mir bewußt, dass es ein Tutorial für die 1.6er Version ist. In der Anleitung für 1.7 (http://doc.prestashop.com/display/PS17/Webservice) ist nichts zur Anwendung des Webservices zu finden...

Dafür hat es hiermit funktioniert (auch wenn es nicht das Format ist, mit dem ich den Rest gemacht habe): http://www.w3scripting.com/php/using-prestashop-1-7-web-service/

Trotzdem würde ich gern wissen, warum das andere fehlgeschlagen ist, vielleicht kann mir doch noch jemand sagen, wo ich detaillierte Diagnose-Informationen  finden kann?

Viele Grüße,
dd0815

Link to comment
Share on other sites

  • 0

Hallo dd0815,

auch wenn dein letzter Post schon eine Weile her ist:

Die genauen Informationen, welche Felder verpflichtend sind findest du unter

https://www.SHOPURL.de/api/products?schema=synopsis

Leider fehlen da auch Informationen. Wenn ich es richtig im Kopf habe ist das Feld "low_stock_alert" noch Pflicht, kann aber einfach mit 0 übertragen werden.

Falls du Fragen zum Webservice hast, kannst du mir auch gerne so schreiben. Wir betreiben unseren Shop zu 90% über den Webservice.

Viele Grüße,

Laurens

 

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...