Unterscheidung zwischen Rechnungs- und Lieferadresse bei Bestellung

Wenn ich die Bestellungen mit POST api/v1/search/order/ auslese, gibt es im Objekt einer Bestellung den Link zu den dazugehörigen Adressen ($order->relationships->addresses->links->related), welcher so aussehen könnte: http://shop.example/api/v1/order/f02d7d9075684f539045e158eb482fe1/addresses.

Wenn die Liefer- von der Rechnungsadresse abweicht, erhält man darüber zwei Adressen, ansonsten eine. Nun habe ich das Problem, dass ich keine Kennzeichnung finde, welche davon die Rechnungs- und welche die Lieferadresse sein soll. Anhand der jeweiligen Objekte lässt es sich einfach nicht erkennen. Einmal war die Rechnungsadresse die erste, ein anderes Mal war es die Lieferadresse.

Ich muss doch wissen, mit welcher Adresse ich gerade umgehe. Gibt es dafür eine Lösung?

Nachfolgend noch ein visueller Vergleich der Adressen. Links ist die Lieferadresse (Eingaben fangen mit “del” für “delivery” an). Hier sieht man, dass es kein Attribut gibt, was darauf hinweist, ob es sich um die Liefer- oder Rechnungsadresse handelt:

Ich hatte das selbe Problem und habe es für mich so gelöst:

Um herauszufinden welche Adressse die Rechnungsadresse ist hole ich mir aus den Attributen der zugehörigen Order die billingAddressId und gleiche das mit den IDs der Orderadressen ab. Die andere Adresse muss dann die Lieferadresse sein.

1 „Gefällt mir“

Ich danke dir!