Billing/shipping-Info im Api-Response "Orders" nicht verfügbar bei Event sOrder::sSaveOrder::after

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?

 

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

@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 :slight_smile:

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 :slight_smile: