Guten Morgen zusammen,
Bislang (5.1.6) war es möglich die Kundendaten unter Angabe der CountrId zu importieren:
$clientArray = array( 'groupKey' =\> '110', 'paymentId' =\> 5, // Vorkasse 'shopId' =\> 1, 'active' =\> true, ... 'newsletter' =\> false, 'paymentPreset' =\> 5, // Vorkasse 'billing' =\> array( 'number' =\> $customer-\>ID, 'salutation' =\> 'mr', 'company' =\> $customer-\>get('billing\_company'), 'firstName' =\> $customer-\>get('first\_name'), 'lastName' =\> $customer-\>get('last\_name'), 'street' =\> $customer-\>get('billing\_address\_1').$customer-\>get('billing\_address\_2'), 'zipCode' =\> $customer-\>get('billing\_postcode'), 'city' =\> $customer-\>get('billing\_city'), **'countryId' =\> $countryId** ), );
Das führt mit 5.2RC aber zu folgender Exception:
A country is required.
Die API hat sich hier im Source deutlich geändert - nun wird ein Country Objekt erwartet. Allerdings funktioniert auch folgendes leider nicht:
$clientArray = array( 'groupKey' =\> '110', 'paymentId' =\> 5, // Vorkasse 'shopId' =\> 1, 'active' =\> true, ... 'paymentPreset' =\> 5, // Vorkasse 'billing' =\> array( 'number' =\> $customer-\>ID, 'salutation' =\> 'mr', 'company' =\> $customer-\>get('billing\_company'), 'firstName' =\> $customer-\>get('first\_name'), 'lastName' =\> $customer-\>get('last\_name'), 'street' =\> $customer-\>get('billing\_address\_1').$customer-\>get('billing\_address\_2'), 'zipCode' =\> $customer-\>get('billing\_postcode'), 'city' =\> $customer-\>get('billing\_city'), **'country' =\> array( 'id' =\> $countryId )** ), );
Aber das führt zu einer Exception, da ein Country Objekt erwartet allerdings NULL übergeben wird:
Fatal error: Uncaught TypeError: Argument 1 passed to Shopware\Models\Customer\Address::setCountry() must be an instance of Shopware\Models\Country\Country, null given
Jetzt bin ich mit meinem Latei leider am Ende - hat jemand einen Tipp für mich?
Danke & liebe Grüße,
Michael