Rest API Fehlermeldung

Leider habe ich bei der Rest API Batch PUT ein Problem mit meinem JSON. Hier ist mein JSON in der Miniversion:

[{„articles“:[{„name“:„t“,„highlight“:false,„mainDetail“:{„number“:„t“,„active“:true,„inStock“:9,„ean“:„222“,„releaseDate“:„2016-01-01T00:00:00+0200“,„shippingTime“:„1-3“,„prices“:[{„customerGroupKey“:„EK“,„price“:4}]},„attribute“:{„attr1“:„10“},„tax“:{„tax“:19},„supplier“:{„name“:„t“},„images“:[{„path“:„t7.jpg“}],„categories“:{„38“:{„id“:38}}}]},{„articles“:[{„name“:„t2“,„highlight“:false,„mainDetail“:{„number“:„t2“,„active“:true,„inStock“:11,„ean“:„52“,„releaseDate“:„2015-02-14T00:00:00+0200“,„shippingTime“:„1-3“,„prices“:[{„customerGroupKey“:„EK“,„price“:4.99}]},„attribute“:{„attr1“:„15“},„tax“:{„tax“:19},„supplier“:{„name“:„t2“},„images“:[{„path“:„t2.jpg“}],„categories“:{„39“:{„id“:39}}}]},{„articles“:[{„name“:„t3“,„highlight“:false,„mainDetail“:{„number“:„t3“,„active“:true,„inStock“:43,„ean“:„55“,„releaseDate“:„2016-01-01T00:00:00+0200“,„shippingTime“:„1-3“,„prices“:[{„customerGroupKey“:„EK“,„price“:10}]},„attribute“:{„attr1“:„15“},„tax“:{„tax“:19},„supplier“:{„name“:„t3“},„images“:[{„path“:„t3.jpg“}],„categories“:{„38“:{„id“:38}}}]}]

 

 

Und hier der Response:

{„success“:true,„data“:[{„success“:false,„message“:„Object(Shopware\Models\Article\Article).name:\n    This value should not be blank. (code c1051bb4-d103-4f74-8988-acbcafc7fdc3)\nObject(Shopware\Models\Article\Article).tax:\n    This value should not be blank. (code c1051bb4-d103-4f74-8988-acbcafc7fdc3)\nObject(Shopware\Models\Article\Article).mainDetail.number:\n    This value should not be blank. (code c1051bb4-d103-4f74-8988-acbcafc7fdc3)“,„trace“:"#0 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Shopware/Components/Api/Resource/Resource.php(527): Shopware\Components\Api\Resource\Article->create(Array)\n#1 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Shopware/Controllers/Api/Rest.php(78): Shopware\Components\Api\Resource\Resource->batch(Array)\n#2 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Api_Rest->batchAction()\n#3 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch(‚batchAction‘)\n#4 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))\n#5 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Shopware/Kernel.php(177): Enlight_Controller_Front->dispatch()\n#6 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)\n#7 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)\n#8 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)\n#9 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)\n#10 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)\n#11 /var/www/vhosts/fabianwildschuetz.www78.hostkraft.de/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache

usw.

Ist mein JSON falsch?

danke für Hilfe!

Viele Grüße

Habe seit dem letzten Update das selbe Problem bei PUT über die API.

 

Siehe https://forum.shopware.com/discussion/23764/kategorie-erstellen-ueber-restapi-nicht-moeglich#latest

das $_POST ist leer. Der Content ist aber in php://input vorhanden… ich bin auch schon auf der Suche warum dies so ist…
Verschiedene Einstellungen geändert und gedreht… immer das selbe. Es läuft nicht. Bei einer frischen Shopware installation klappt es komischerweise…

Hast du mal ein normales Put versucht? Vielleicht hat die Api ja generelle Probleme und es hängt gar nicht mit dem Batch zusammen.
Mir kommt es allerdings schon seltsam vor, dass er behauptet die Felder/Values seien leer, ggf. kommen die nicht richtig an oder an der Struktur ist doch irgendetwas nicht richtig.

Wenn ich @kadis‍ richtig verstehe, dann funktioniert der gleiche Code bei einem anderen Stand?
Ich habe mal irgendwo gelesen, dass man unter Umständen in der htaccess einige Anpassungen tätigen muss, wenn die API dadurch blockiert wird…
Das war auch hier in irgend einem Forumspost, aber wo genau weiß ich auch nicht mehr, müsstet ihr mal die Suche nutzen, wäre aber zumindest ein Ansatz.

Hallo leider habe ich genau das gleiche Problem.

Ein normales Put funktioniert. Nur im Batch leider nicht.

gibt es hierzu etwas neues?

Hallo, bei mir schaut die response bei einem Batch der Artikeln genauso aus. Hier mein request: (Auch bei mir - normales Put funktioniert)

{“articles”:[{“name”:“Produkt xy”,“active”:true,“tax”:“20”,“supplier”:“Ocean”,“attribute”:{“attr4”:1,“attr5”:0,“attr6”:0,“attr7”:0},“categories”:[{“id”:84133},{“path”:“Deutsch|Produkt xy”}],“images”:[{“mediaId”:18253}],"__options_images":{“replace”:true},“similar”:[{“name”:“Produkt xy”,“id”:14466}],“mainDetail”:{“ean”:“123456789”,“supplierNumber”:“77365”,“weight”:32,“shippingFree”:false,“highlight”:false,“shippingTime”:“4-5”,“number”:“4260”,“active”:true,“prices”:[{“customerGroupKey”:“EK”,“price”:5,“pseudoPrice”:0},{“customerGroupKey”:“H”,“price”:6.6}]},“id”:14468},{“name”:“Produkt xy”,“active”:true,“tax”:“20”,“supplier”:“Ocean”,“description”:“asdf”,“metaTitle”:“Produkt xy”,“keywords”:“Produkt xy “,“descriptionLong”:“asddfhgdhdfsdg”,“attribute”:{“attr4”:1,“attr5”:0,“attr6”:0,“attr7”:0},“categories”:[{“id”:84133},{“path”:“Deutsch|Produkt xy”}],“similar”:[{“name”:“Produkt xy”,“id”:14468}],“mainDetail”:{“ean”:“123456789”,“supplierNumber”:“74552”,“weight”:40,“shippingFree”:false,“highlight”:false,“shippingTime”:“4-5”,“number”:“4261”,“active”:true,“prices”:[{“customerGroupKey”:“EK”,“price”:734,“pseudoPrice”:0},{“customerGroupKey”:“H”,“price”:880.8}]}},{“name”:“Produkt xy”,“active”:true,“tax”:“20”,“supplier”:“Ocean”,“description”:“sdfasdf”,“metaTitle”:“Produkt xy”,“keywords”:“Produkt xy”,“descriptionLong”:“asdfdfhdfgjhgjdf”,“attribute”:{“attr4”:1,“attr5”:0,“attr6”:0,“attr7”:0},“categories”:[{“id”:84133},{“path”:“Deutsch|Produkt xy”}],“images”:[{“mediaId”:18254},{“mediaId”:18255}],”__options_images”:{“replace”:true},“mainDetail”:{“ean”:“123456789”,“supplierNumber”:“75040”,“weight”:60,“shippingFree”:false,“highlight”:false,“shippingTime”:“4-5”,“number”:“4263”,“active”:true,“prices”:[{“customerGroupKey”:“EK”,“price”:929,“pseudoPrice”:0},{“customerGroupKey”:“H”,“price”:1114.8}]}},{“name”:“product xy2”,“active”:true,“tax”:“20”,“supplier”:“Ocean”,“description”:“asdg”,“metaTitle”:“product xy2”,“keywords”:“product xy2”,“descriptionLong”:“sdfhfdgjhj”,“attribute”:{“attr4”:1,“attr5”:0,“attr6”:0,“attr7”:0},“categories”:[{“id”:84133},{“path”:“Deutsch|Produkt xy”}],“images”:[{“mediaId”:18256,“options”:[[{“name”:“wert0”}]]},{“mediaId”:18257,“options”:[[{“name”:“wert1”}]]},{“mediaId”:18258,“options”:[[{“name”:“wert2”}]]}],"__options_images":{“replace”:true},“configuratorSet”:{“name”:“4264-Set”,“groups”:[{“name”:“test”,“options”:[{“name”:“wert0”},{“name”:“wert1”},{“name”:“wert2”},{“name”:“wert3”},{“name”:“wert4”},{“name”:“wert5”},{“name”:“wert6”},{“name”:“wert7”}]}]},“variants”:[{“isMain”:true,“active”:true,“number”:“4264”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert0”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:275,“pseudoPrice”:0},{“customerGroupKey”:“H”,“price”:330}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:10},{“active”:true,“number”:“4264.1”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert1”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:309.9,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:12},{“active”:true,“number”:“4264.2”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert2”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:349,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:14},{“active”:true,“number”:“4264.3”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert3”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:389.9,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:15},{“active”:true,“number”:“4264.4”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert4”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:275,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:10},{“active”:true,“number”:“4264.5”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert5”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:309.9,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:12},{“active”:true,“number”:“4264.6”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert6”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:349,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:14},{“active”:true,“number”:“4264.7”,“ean”:“123456789”,“configuratorOptions”:[{“option”:“wert7”,“group”:“test”}],“prices”:[{“customerGroupKey”:“EK”,“price”:389.9,“pseudoPrice”:0}],“purchasePrice”:0,“shippingTime”:“4-5”,“weight”:15}],“mainDetail”:{“ean”:“123456789”,“supplierNumber”:“77570”,“weight”:10,“shippingFree”:false,“highlight”:false,“purchasePrice”:0,“shippingTime”:“4-5”,“number”:“4264”}}]}

 

Ist vielleicht mein JSON nicht korrekt? In der Dokumentation find ich leider keine ausreichenden Beispiele…  

Bin über jede Hilfe und über jeden Tip froh! :slight_smile: Danke schon mal im Vorraus! :) 

LG

 

Hi ich habe jetzt eine Lösung gefunden. Bei mir Lag es am {„articles“:[

Wichtig beim Update darf im Array Price keine ID vorkommen und Auch im Array Tax darf keine ID vorhanden sein.

 

Das JSON Array muss wie folgt beginnen:

 [
      {
      „id“: 41,
      „mainDetailId“: 410,
      „supplierId“: 12,      
      „priceGroupId“: null,
      „filterGroupId“: null,
      „configuratorSetId“: null,…