Hallo, wenn ich mit der hier aufgeführten API-Klasse auf meinen Shop zugreife kann ich problemlos einzelne Bestellungen lesen und auch ändern. Nur löschen geht nicht. Der Aufruf $api = new ApiClient(API\_URL, API\_USER, API\_KEY); $res = $api-\>get('orders/144'); var\_dump($res); $res = $api-\>put('orders/144',array('customerComment' =\> 'Kommentar')); var\_dump($res); $res = $api-\>delete('orders/144'); var\_dump($res);
liefert: array(2) { ["data"]=\> array(42) { ["id"]=\> int(144) ["number"]=\> .... } ["success"]=\> bool(true) } array(2) { ["success"]=\> bool(true) ["data"]=\> array(2) { ["id"]=\> int(144) ["location"]=\> string(43) "https://xxxxxx/api/orders/144" } } array(2) { ["success"]=\> bool(false) ["message"]=\> string(18) "Resource not found" }
Der API-User hat für Order die Rechte create, update, read und delete. Jemand eine Idee was den Fehler verursachen könnte? Gruß Mario
Gerade im Postfach noch die entsprechende Fehlermeldung gefunden: exception 'Enlight\_Controller\_Exception' with message 'Action "Api\_Orders\_deleteAction" not found failure' in /var/www/shopware/engine/Library/Enlight/Controller/Action.php:388 Stack trace: #0 /var/www/shopware/engine/Library/Enlight/Controller/Action.php(159): Enlight\_Controller\_Action-\>\_\_call('deleteAction', Array) #1 /var/www/shopware/engine/Library/Enlight/Controller/Action.php(159): Shopware\_Proxies\_ShopwareControllersApiOrdersProxy-\>deleteAction() #2 /var/www/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(524): Enlight\_Controller\_Action-\>dispatch('deleteAction')
{ "uri": "/api/orders/144?", "method": "DELETE", "query": { "module": "api", "controller": "orders", "action": "144" }, "post": [] }
Da ich noch immer auf der Suche nach einer Lösung war, bin ich auf http://wiki.shopware.com/REST-API-Resso … 0_919.html gestoßen. Nach der Matrix ist es aktuell nicht möglich Bestellungen per API zu löschen. @Shopware: Ist die Matrix für Version 5 noch aktuell?
Hi, die Matrix sollte weiterhin aktuell sein, wir übertragen die gerade aber auch in die neuen Devdocs, da wird das nochmal gecheckt. Anlegen und Löschen von Bestellungen sind über die API in der Tat nicht vorgesehen, ich habe den Core-Jungs aber letzte Woche auch nochmal ein Ticket dafür angelegt, ich brauche das auch gerade Daniel
[quote=“Daniel Nögel”] Anlegen und Löschen von Bestellungen sind über die API in der Tat nicht vorgesehen, ich habe den Core-Jungs aber letzte Woche auch nochmal ein Ticket dafür angelegt, ich brauche das auch gerade [/quote] Hi, ist in einer der kommenden Versionen mit einer entsprechenden Erweiterung der API zu rechnen? Jo
Hi, kann ich verbindlich nicht beantworten, meines Wissens ist das aber gerade keiner Version zugewiesen. Wenn du das Löschen aber unbedingt benötigst, ist es entwicklungsmäßig relativ einfach, eine neue Ressource hinzuzufügen, die sich um das Löschen kümmert. Weniger trivial sind vermutlich die Auswirkungen auf Nummernkreise, mögliche externe Zahlungssysteme etc. Aber das reine “Löschen aus der DB” sollte gut zu machen sein, wenn es für dich eine Option ist, das via Plugin zu bauen. Besten Gruß, Daniel