Hallo,
wir versuchen zur Zeit einen alten Shop nach Shopware umzuziehen und hatten dafür ein Transfer-Skript geschrieben.
Die Datenholung funktioniert soweit auch schon und liefert alle relevanten Kundeninformationen zurück.
Beim Versenden der Kundendaten an die Api mittels $client->post(„customers“, $array) kommt allerdings immer nur die Meldung „last_json_error: Syntaxerror“ zurück…
Hier einmal der Aufbau des Arrays
$array = array( 'groupKey' =\> "EK", 'encoderName' =\> "md5", 'hashPassword' =\> md5($anz\_customers["passwort"]), 'active' =\> true, 'email' =\> mask\_file\_variables($anz\_customers["email\_ra"]), 'salutation' =\> mask\_file\_variables($anz\_customers["anrede\_ra"]), 'firstname' =\> mask\_file\_variables($anz\_customers["vorname\_ra"]), 'lastname' =\> mask\_file\_variables($anz\_customers["name\_ra"]), 'newsletter' =\> 1, 'billing' =\> array ( 'number' =\> mask\_file\_variables($anz\_customers["kundennummer"]), 'country' =\> mask\_file\_variables($anz\_customers["land\_ra"]), 'company' =\> mask\_file\_variables($anz\_customers["firma\_ra"]), 'salutation' =\> mask\_file\_variables($anz\_customers["anrede\_ra"]), 'firstname' =\> mask\_file\_variables($anz\_customers["vorname\_ra"]), 'lastname' =\> mask\_file\_variables($anz\_customers["name\_ra"]), 'street' =\> mask\_file\_variables($anz\_customers["strasse\_ra"]), 'zipCode' =\> mask\_file\_variables($anz\_customers["plz\_ra"]), 'city' =\> mask\_file\_variables($anz\_customers["ort\_ra"]), 'phone' =\> mask\_file\_variables($anz\_customers["telefon\_ra"]), 'fax' =\> mask\_file\_variables($anz\_customers["fax\_ra"]) ), 'shipping' =\> array ( 'company' =\> mask\_file\_variables($anz\_customers["firma\_la"]), 'salutation' =\> mask\_file\_variables($anz\_customers["anrede\_la"]), 'firstname' =\> mask\_file\_variables($anz\_customers["vorname\_la"]), 'lastname' =\> mask\_file\_variables($anz\_customers["name\_la"]), 'street' =\> mask\_file\_variables($anz\_customers["strasse\_la"]), 'zipCode' =\> mask\_file\_variables($anz\_customers["plz\_la"]), 'city' =\> mask\_file\_variables($anz\_customers["ort\_la"]), 'country' =\> mask\_file\_variables($anz\_customers["land\_la"]) ) );
Die Funktion mask_file_variables ist selbstgeschrieben und maskiert lediglich Anführungszeichen sowie HTML-Tags neben einer Überführung des Wertes in utf8.
Ich hatte schon testweise versucht die „number“, was ja anscheinend der lokalen Kundennummer entspricht, aus dem Bereich „billing“ zu nehmen und in den Hauptstrang zu verschieben.
Auch das Auslassen des „groupKey“ und Newsletters sowie Angabe der Telefonnummer mit und ohne Maskierung des Slash ("/" -> „/“) haben nichts gebracht…
Laut des wirklich sehr kleinen Beispiels eines „Minimalkunden“ in der Api-Beschreibung sollten alle Felder vorhanden und an der richtigen Stelle stehen, aber irgendwie will es nicht funktionieren…?
Hat jemand noch eine Idee, woran es hängen könnte ?