Hallo zusammen,
ich arbeite gerade an einem Plugin, welches unmittelbar nach dem Bestellabschluss ein externes Modul initiert, dass per API die entsprechende Bestellug in Shopware abfragt und weiterverarbeitet.(Der API-Auftruf erfolgt also unmittelbar nach dem Checkout)
Im Plugin registriere ich mich dazu auf sOrder::sSaveOrder::after. Das funktioniert soweit auch wunderbar.
Beim unmittelbaren Aufruf der Bestellung per API durch das externe Modul (/api/orders/{orderid}) fehlen dann jedoch die Billing und Shipping informationen im API-Result der Order. (Wird die Bestellung seperat später per API aufgerufen sind die notwendigen Infos da)
Es scheint als wären diese Informationen zum Zeitpunkt von sOrder::sSaveOrder::after noch nicht in der Datenbank abgespeichert, so dass die API diese nicht liefern kann.
Gibt es ein noch späteres Event welches ich stattdessen nutzen muss oder liegt in dem Konstrukt noch ein Detailfehler vor?
@simkli schrieb:
Nutze am besten das Shopware_Modules_Order_SaveOrder_ProcessDetails-Event.
Siehe auch folgenden Thread: https://forum.shopware.com/discussion/47619/bestellte-artikel-an-externe-api-uebermitteln
Viele Grüße
Ich nehme alles zurück und behaupte das Gegenteil! Danke für den Hinweis, der ist zwar nicht die Lösung, hat mcih aber auf die Problemursache gebracht.
Ich Hatte bereits vorher das Event Shopware_Modules_Order_SaveOrder_ProcessDetails verwendet. Und bei verwendung dieses Events tritt das Fehlverhalten auf!
Ich hatte beim „umschwenken“ auf sOrder::sSaveOrder::after einfach vergesen mein Plugin neu zu installieren 
Also kurze Überblick :
Wird Shopware_Modules_Order_SaveOrder_ProcessDetails verwendet und unmittelbar API zum Orderabruf verwendet, fehlen die Versan/Zalungsadressen.
Wird sOrder::sSaveOrder::after verwendet und unmittelbar API zum Orderabruf verwendet, sind die Daten alle da.
Ein speichern der Adressen wird ja auch erst NACH dem ProcessDetails-Event ausgelöst, was das Verhalten erklärt:
Mein Problem ist damit also gelöst. Danke für den „Denkanstoß“ auch wenndie Lösung eine andere war 