# Update der Rechnungs und Lieferaddresse von Kunden über REST API

**URL:** <https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390>\
**Category:** Programmierung\
**Created:** [12. November 2018 um 14:37 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390 "2018-11-12T14:37:34Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [12. November 2018 um 14:37 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/1 "2018-11-12T14:37:34Z")

</div>

Moin,

Wir nutzen Shopware 5.4.0 und haben gestern ein interessanten Bug gefunden.  
Leider wissen wir nicht ob wir da irgendwas falsch machen oder Shopware dort seine Grenzen zieht.

Der Fall ist das wir über die API ein Kunden updaten wollen und ihm seine standard und lieferaddresse setzten wollen.

Derzeit hat der Kunde Addresse A als Liefer und Addrese A als Rechnungsaddresse, ziel ist es das der Kunde Addresse B als Liefer und Addresse A als Rechnungsaddresse hat.

Anbei der Payload&nbsp;den wir über die Shopware API /customer Ressource hochladen, welche uns auch ein Success = 1 zurück gibt.

```
Array
(
    [number] => x
    [firstname] => y
    [lastname] => z
    [salutation] => mr
    [active] => 1
    [email] => x@y.de
    [groupKey] => 282
    [paymentPreset] => 7
    [attribute] => Array
        (
            [uuid] => 856687be-5ca5-4513-a467-9c8adc0c96c6
        )

    [billing] => Array
        (
            [firstname] => y
            [lastname] => z
            [salutation] => mr
            [street] => ABC
            [city] => Test
            [zipcode] => 12345
            [country] => 2
            [company] => X Y Z
            [additionalAddressLine1] => 
            [additionalAddressLine2] => 
            [attribute] => Array
                (
                    [text1] => 83ca9158-c951-4c69-b7f4-2655c6a6174e
                )

        )

    [shipping] => Array
        (
            [firstname] => B
            [lastname] => C
            [salutation] => mr
            [street] => XYZ
            [city] => TEST
            [zipcode] => 98765
            [country] => 2
            [company] => A B C
            [additionalAddressLine1] => 
            [additionalAddressLine2] => 
            [attribute] => Array
                (
                    [text1] => 7f9276a7-b854-4c2b-9c43-173bee774f12
                )

        )

)

```

Liegt das Problem am Array oder ist es einfach nicht möglich?

Interessant ist, wenn der Kunde Zwei verschiede Liefer und Rechnungsaddressen hat dann würde der Payload anbei funktionieren.

Mit freundlichen Grüßen  
Steffen

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [12. November 2018 um 14:53 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/2 "2018-11-12T14:53:36Z")

</div>

Benutzt mal anstatt shipping „defaultShippingAddress“ und billing „defaultBillingAddress“

---

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [12. November 2018 um 15:00 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/3 "2018-11-12T15:00:02Z")

</div>

Moin und vielen Dank für die schnelle Antwort

&nbsp;

```
Array
(
    [number] => x
    [firstname] => y
    [lastname] => z
    [salutation] => mr
    [active] => 1
    [email] => x@y.de
    [groupKey] => 282
    [paymentPreset] => 7
    [attribute] => Array
        (
            [uuid] => 856687be-5ca5-4513-a467-9c8adc0c96c6
        )

    [defaultBillingAddress] => Array
        (
            [firstname] => y
            [lastname] => z
            [salutation] => mr
            [street] => ABC
            [city] => Test
            [zipcode] => 12345
            [country] => 2
            [company] => X Y Z
            [additionalAddressLine1] => 
            [additionalAddressLine2] => 
            [attribute] => Array
                (
                    [text1] => 83ca9158-c951-4c69-b7f4-2655c6a6174e
                )

        )

    [defaultShippingAddress] => Array
        (
            [firstname] => B
            [lastname] => C
            [salutation] => mr
            [street] => XYZ
            [city] => TEST
            [zipcode] => 98765
            [country] => 2
            [company] => A B C
            [additionalAddressLine1] => 
            [additionalAddressLine2] => 
            [attribute] => Array
                (
                    [text1] => 7f9276a7-b854-4c2b-9c43-173bee774f12
                )

        )

)

```

Führt leider zu dem selben ergebniss

---

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [13. November 2018 um 07:18 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/4 "2018-11-13T07:18:32Z")

</div>

Ich würde das Thema gerne nochmal pushen. Ich kann mir nicht vorstellen das Shopware diese Funktion nicht implementiert hat.

---

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [13. November 2018 um 10:20 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/5 "2018-11-13T10:20:41Z")

</div>

Ich habe das soeben auch auf unserer Testumgebung geprüft, welche auf 5.4.6&nbsp;läuft. Dort konnte ich das selbe Verhalten feststellen.

---

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [15. November 2018 um 07:24 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/6 "2018-11-15T07:24:15Z")

</div>

Dieses Problem besteht weiterhin. Wir haben jetzt auch die Test Umgebung auf die neuste Version geupdatet 5.5.3, welche immernoch das selbe Verhalten aufweißt.  
Ist der Weg die Shipping und Billing addresse über den Kunden zu setzten der Falsche?

---

<div class="post-metadata">

**Author:** ![karlharris](https://avatars.discourse-cdn.com/v4/letter/k/58956e/32.png) [@karlharris](https://forum.shopware.com/u/karlharris)\
**Post date:** [17. November 2018 um 07:41 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/7 "2018-11-17T07:41:32Z")

</div>

Guten Morgen&nbsp;@sHamann‍,

vielleicht gibst du nicht alle Pflichtfelder mit?

Und im Result ([https://developers.shopware.com/developers-guide/rest-api/examples/customer/#result-0](https://developers.shopware.com/developers-guide/rest-api/examples/customer/#result-0)) heißt es „countryId“ statt „country“, vielleicht scheitert es daran?

Oder vielleicht musst du auch erst die Adresse als solche anlegen ([https://developers.shopware.com/developers-guide/rest-api/api-resource-address/#post-(create)-and-put-(update)](https://developers.shopware.com/developers-guide/rest-api/api-resource-address/#post-(create)-and-put-(update))) und beim Kunden nur die ID mitgeben?

---

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [17. November 2018 um 10:30 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/8 "2018-11-17T10:30:14Z")

</div>

> [@karlharris schrieb:](https://forum.shopware.com/profile/28126/karlharris "karlharris")
> 
> Guten Morgen&nbsp;@sHamann‍,
> 
> vielleicht gibst du nicht alle Pflichtfelder mit?
> 
> Und im Result ([https://developers.shopware.com/developers-guide/rest-api/examples/customer/#result-0](https://developers.shopware.com/developers-guide/rest-api/examples/customer/#result-0)) heißt es „countryId“ statt „country“, vielleicht scheitert es daran?
> 
> Oder vielleicht musst du auch erst die Adresse als solche anlegen ([https://developers.shopware.com/developers-guide/rest-api/api-resource-address/#post-(create)-and-put-(update)](https://developers.shopware.com/developers-guide/rest-api/api-resource-address/#post-(create)-and-put-(update))) und beim Kunden nur die ID mitgeben?

Den Fall das ich nicht alle Pflichtfelder mit gebe können wir denke ich ausschliessen da die Shopware API dann in bisherigen Fällen expliziet sagt das ein Feld fehlt.  
Habe selbigen Import mit&nbsp;„countryId“ laufen lassen was leider auch nicht geklappt hat.

Der dritte Ansatz war sehr interessant, bin dem mal nachgegangen, hab dafür einfach Standard mäßig eine Address ID übergeben, ist der folgende Aufbau richtig?

```
    [defaultBillingAddress] => Array
        (
            [id] => 1234
        )

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![karlharris](https://avatars.discourse-cdn.com/v4/letter/k/58956e/32.png) [@karlharris](https://forum.shopware.com/u/karlharris)\
**Post date:** [17. November 2018 um 10:33 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/9 "2018-11-17T10:33:39Z")

</div>

Ich hätte es jetzt eher so probiert (habe grad keine Testinstanz zur Hand^^):

```
[defaultBillingAddress] => 1234

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![sHamann](https://avatars.discourse-cdn.com/v4/letter/s/e79b87/32.png) [@sHamann](https://forum.shopware.com/u/sHamann)\
**Post date:** [17. November 2018 um 10:47 UTC](https://forum.shopware.com/t/update-der-rechnungs-und-lieferaddresse-von-kunden-uber-rest-api/56390/10 "2018-11-17T10:47:22Z")

</div>

> [@karlharris schrieb:](https://forum.shopware.com/profile/28126/karlharris "karlharris")
> 
> Ich hätte es jetzt eher so probiert (habe grad keine Testinstanz zur Hand^^):
> 
> [defaultBillingAddress] =\> 1234
> 
> &nbsp;

hab beide Varianten versucht, beides selbes ergebniss wie vorher. Wieder wirft mir die Shopware API aber kein Fehler zurück.&nbsp;
