Warenkorb über CURL befüllen / Session-ID

Hey,

 

ich würde gerne in SW Artikel aus einem externen Tool übernehmen und diese über CURL im Hintergrund in den Warenkorb legen. Einen entsprechenden Artikel in Shopware haben wir angelegt er dann über ein Modul zum individuellen Artikel wird - alles kein Problem.

Nur lässt mich Shopware nicht wirklich über CURL die Artikel in den Warenkorb legen - ich vermute, dass das an der Session-ID liegen könnte.

Hat jemand so etwas schonmal realisiert und kann sagen welche Parameter ich mit übergeben muss?

Danke im Voraus!

 

Hallo,

naja Du brauchst irgendwoher eine Referenz auf die SessionID vom Shop. Es ist auch nicht genauer beschrieben, wie das externe Tool angestoßen wird. Fontend seitig könntest Du z. B. die SessionID an das externe Tool mit übergeben und dort dieselbe verwenden. Danach kannst Du Shopware wieder per cURL, oder besser per REST API ansprechen.

Ich habe mal nachgeschaut, einen entsprechenden Endpoint gibt es nicht, den kannst Du Dir aber selber bauen.

Außerdem wenn es ein registrierter Benutzer ist, dann wirds noch leichter: Hier geht Shopware nach der userID in der Tabelle s_order_basket, nicht mehr nach SessionID. Die SessionID in s_order_basket wird nur dafür benötigt, dass auch bei nicht registrierten Benutzern beim nächsten Besuch der Seite der Warenkorb noch gefüllt ist.

 

 

MFG

 

derwunner

Hast Du das schon gefunden? http://www.shopwaredemo.de/shopware.php?sViewport=checkout&sAction=addArticle&sAdd=SW10009.12&sQuantity=5

@NextMike schrieb:

Hast Du das schon gefunden? http://www.shopwaredemo.de/shopware.php?sViewport=checkout&sAction=addArticle&sAdd=SW10009.12&sQuantity=5

Und wo soll hier die Verbindung zum Kundenkonto sein? 

Danke für die Antworten! :slight_smile: In welcher Variablen kann ich denn die User-ID oder Session-ID übergeben - ich seh den Wald vor Bäumen nicht!

@derwunner schrieb:

@NextMike schrieb:

Hast Du das schon gefunden? http://www.shopwaredemo.de/shopware.php?sViewport=checkout&sAction=addArticle&sAdd=SW10009.12&sQuantity=5

Und wo soll hier die Verbindung zum Kundenkonto sein? 

und wo steht, dass er das haben möchte? 

@NextMike schrieb:

Hast Du das schon gefunden? http://www.shopwaredemo.de/shopware.php?sViewport=checkout&sAction=addArticle&sAdd=SW10009.12&sQuantity=5

Der Link macht ggf. Sinn wenn ein AutoLogin benutzt wird. Dann wäre man sofort eingeloggt und könnte sofort bestellen - also ohne Anmeldung. Das geht aber nicht mit CURL. Da müsste man ein Plugin erstellen, was ähnlich diesem Aufruf ist, aber mit zusätzlichen Parametern des Users. 

PS: In diversen Tests hat sich gezeigt das Shopware die alten Warenkörbe nicht immer wiederherstellt. Bei jeden normalen Login bekommt der User eine neue SessionID. Bei ganz vielen Usern wurde alte Warenkorb nicht angezeigt, weil in der DB eine andere SessionID hinterlegt ist und beim Login nicht gewechselt hat.

Sinn für was? ich kann über diesen Link den Artikel in den WK legen und dann kaufen.

Die Artikel über den Link in den Warenkorb zu legen funktioniert gut, hatte es schonmal jemand dass wenn man einen 2. Artikel über den Link in den Warenkorb legt der 1. Artikel wieder verschwunden ist? Muss hier dann beim 2. Call noch die Session-ID / Token übergeben werden wenn ich die in den Warenkorb-Funktion über CURL aufrufe und nachher der User über den Browser?