# Shopware Kunde via REST API anlegen

**URL:** <https://forum.shopware.com/t/shopware-kunde-via-rest-api-anlegen/66808>\
**Category:** Programmierung\
**Created:** [8. Mai 2020 um 11:54 UTC](https://forum.shopware.com/t/shopware-kunde-via-rest-api-anlegen/66808 "2020-05-08T11:54:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![RandomPhpDeveloper](https://avatars.discourse-cdn.com/v4/letter/r/f475e1/32.png) [@RandomPhpDeveloper](https://forum.shopware.com/u/RandomPhpDeveloper)\
**Post date:** [8. Mai 2020 um 11:54 UTC](https://forum.shopware.com/t/shopware-kunde-via-rest-api-anlegen/66808/1 "2020-05-08T11:54:24Z")

</div>

Beim Versuch einen Kunden über die REST API anzulegen, bekomme ich folgenden Fehler:

```
Server error: `POST http://<>/sales-channel-api/v1/customer` resulted in a `500 Internal Server Error` response: {"errors":[{"code":"0","status":"500","title":"Internal Server Error","detail":"Call to a member function set() on null" (truncated...)

```

Selber Fehler wurde auch hier bereits kommuniziert:  
[https://github.com/shopware/platform/issues/61](https://github.com/shopware/platform/issues/61)&nbsp;

Ich vermute das es an dem Format der übermittelten Daten im POST request liegen könnte.  
Die notwendigen Felder zum Kunden anlegen sind wohl vorhanden; laut&nbsp;[https://docs.shopware.com/en/shopware-platform-dev-en/sales-channel-api/sales-channel-customer-api?category=shopware-platform-dev-en/sales-channel-api](https://docs.shopware.com/en/shopware-platform-dev-en/sales-channel-api/sales-channel-customer-api?category=shopware-platform-dev-en/sales-channel-api)

Die Kunden-Daten werden in folgendem Format (JSON) an die API geschickt:

```
{
  "salutationId":"c5bcc829391a4282b7b5ae9381e3169d",
  "firstName":"Max",
  "lastName":"Mustermann",
  "email":"test@test.de",
  "billingAddress": {
    "street":"Musterweg 1",
    "zipcode":"44444",
    "city":"Musterstadt",
    "countryId":"5530bc8a03bd47a086ade379d1260bac"
  }
}

```

GET requests funktionieren über den entsprechenden API endpoint problemlos; z.B.&nbsp;_sales-channel-api/v1/country._  
Daher die Vermutung, dass die Daten falsch übermittelt werden.

---

<div class="post-metadata">

**Author:** ![oliverriske](https://avatars.discourse-cdn.com/v4/letter/o/ebca7d/32.png) [@oliverriske](https://forum.shopware.com/u/oliverriske)\
**Post date:** [11. Mai 2020 um 18:58 UTC](https://forum.shopware.com/t/shopware-kunde-via-rest-api-anlegen/66808/2 "2020-05-11T18:58:15Z")

</div>

Adressen:

&nbsp;&nbsp;&nbsp;$uuid&nbsp;=&nbsp;md5($customer[„customer\_id“]."~".$customer[„contact\_id“]."~".$addr[„address\_id“],&nbsp;false);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$address&nbsp;=&nbsp;[

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„city“&nbsp;=\>&nbsp;(string)$addr[‚city‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„countryId“&nbsp;=\>&nbsp;(string)$countryId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„firstName“&nbsp;=\>&nbsp;(string)$addr[‚firstname‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„lastName“&nbsp;=\>&nbsp;(string)$addr[‚lastname‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„salutationId“&nbsp;=\>&nbsp;$salutationId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„street“&nbsp;=\>&nbsp;(string)$addr[‚street‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„city“&nbsp;=\>&nbsp;(string)$addr[‚city‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„zipcode“&nbsp;=\>&nbsp;(string)$addr[‚postcode‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„company“&nbsp;=\>&nbsp;(string)$addr[‚company‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„id“&nbsp;=\>&nbsp;(string)$uuid,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„languageId“&nbsp;=\>&nbsp;$languageId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„active“&nbsp;=\>&nbsp;true,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„customerId“&nbsp;=\>&nbsp;$uuidCustomer

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];

if&nbsp;($customer[‚default\_billing‘]&nbsp;!=&nbsp;null&nbsp;&&&nbsp;$customer[‚default\_billing‘]&nbsp;==&nbsp;$addr[„address\_id“])&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$defaultBillingAddressId&nbsp;==&nbsp;$uuid;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($customer[‚default\_shipping‘]&nbsp;!=&nbsp;null&nbsp;&&&nbsp;$customer[‚default\_shipping‘]&nbsp;==&nbsp;$addr[„address\_id“])&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$defaultShippingAddressId&nbsp;==&nbsp;$uuid;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$addresses&nbsp;=&nbsp;$address;

Kunden:

$data&nbsp;=&nbsp;[

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„id“&nbsp;=\>&nbsp;(string)$uuidCustomer,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„groupId“&nbsp;=\>&nbsp;$groupId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„addresses“&nbsp;=\>&nbsp;$addresses,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„customerNumber“&nbsp;=\>&nbsp;(string)$customerNumber,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„defaultBillingAddressId“&nbsp;=\>&nbsp;(string)$defaultBillingAddressId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„defaultPaymentMethodId“&nbsp;=\>&nbsp;$paymentMethodId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„defaultShippingAddressId“&nbsp;=\>&nbsp;(string)$defaultShippingAddressId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„email“&nbsp;=\>&nbsp;(string)$customer[‚email‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„firstName“&nbsp;=\>&nbsp;(string)$customer[‚firstname‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„lastName“&nbsp;=\>&nbsp;(string)$customer[‚lastname‘],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„salesChannelId“&nbsp;=\>&nbsp;(string)$channelId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„salutationId“&nbsp;=\>&nbsp;(string)$salutationId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„languageId“&nbsp;=\>&nbsp;$languageId,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;„active“&nbsp;=\>&nbsp;true

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];

&nbsp;

Leider kann ich nicht den gesamten Code posten, weil das Feld zu klein ist, aber vielleicht hilfts.

---

<div class="post-metadata">

**Author:** ![Anel](https://avatars.discourse-cdn.com/v4/letter/a/f475e1/32.png) [@Anel](https://forum.shopware.com/u/Anel)\
**Post date:** [19. Mai 2020 um 12:05 UTC](https://forum.shopware.com/t/shopware-kunde-via-rest-api-anlegen/66808/3 "2020-05-19T12:05:39Z")

</div>

Sieh dir am besten die CustomerGenerator.php in den Demodaten an, anhand dessen habe ich es gemacht.

Das einzige was mir fehlt ist das aussenden einer Mail, das geht bei mir über den Mailservice nicht.
