Um Daten von /customer zu bekommen, muss ein echtes Kundenkonto mit Login & Passwort existieren. Das kann man über /account/register anlegen, in das Konto einloggen mit /customer/login und über /checkout/guest-order die Bestellung ausführen. Nach dem einloggen kannst du dann auch Kontodaten mit /customer abfragen.
Welche Daten willst du eigentlich abfragen, die du nicht eh schon beim Anlegen der Gast-Bestellung hast?
Um Daten von /customer zu bekommen, muss ein echtes Kundenkonto mit Login & Passwort existieren. Das kann man über /account/register anlegen
Die Registrierung für registrierte Kunden habe ich schon angelegt. Dort hatte ich gesehen, dass es ein „Gast“-Parameter gibt.
Daher dachte ich, dass ich einen Gast über Guest => True anlegen und die Daten über /customer bekomme.
Welche Daten willst du eigentlich abfragen, die du nicht eh schon beim Anlegen der Gast-Bestellung hast?
Im Moment ist es so:
Produkt wird in den Warenkorb gelegt
Klick auf Checkout leitet auf Login-Seite
Login-Seite: Hier kann entschieden werden, ob Login/Registrierung/Gastbestellung
Bei Auswahl „Gastbestellung“ werden direkt Daten eingetragen, wie oben beschrieben über /customer mit Guest=>True angelegt
Im Checkout gibt es nun die Funktion, die Lieferadresse noch einmal anzupassen. Daher hatte ich die Hoffnung, dass ich das so machen kann, wie bei einem registriertem Kunden (Adresse hinzufügen/updaten usw.)
Über die Store-API kann ich ebenfalls keine Adressen eines Gast-Accounts auslesen/anlegen. Ein Blick in den Quellcode zeigt mir auch warum:
Hier steht: @LoginRequired()
Möglich wäre hier ja auch: @LoginRequired(allowGuest=true)
Gibt es sonst eine andere Möglichkeit, die Adressen auszulesen bzw. zu ändern? Das Shopware-Frontend macht das übrigens nicht über die Store-API, sondern mit einer Storefront Route /widgets/account/address-book, die ja nur HTML zurück liefert. Diese hat übrigens die Annotation @LoginRequired(allowGuest=true).