Hallo Shopware Community,
ich versuche eine PHP Schnittstelle zu schreiben mit der Bestellungen per API in den Shop gepusht werden können.
Leider erhalte ich immer die Rückmeldung:
Could not decode json
json_last_error: No error occurred
Raw:
Bestellung wurde nicht angelegt!
No error ist halt nicht sehr hilfreich als Fehlermeldung.
Hier ein Auszug aus dem PHP Code, in dem ich den Fehler vermute:
$diebestellung = "[
'customerId' => $userid,
'paymentId' => 5,
'dispatchId' => 9,
'partnerId' => 11,
'shopId' => 1,
'invoiceAmount' => $gesamtbetrag,
'invoiceAmountNet' => $rechnungsbetrag_netto,
'invoiceShipping' => $versandkosten,
'invoiceShippingNet' => $versandkosten_netto,
'orderTime' => $bestellzeit,
'comment' => $bestellnummer,
'net' => 0,
'taxFree' => 0,
'languageIso' => '1',
'currency' => 'EUR',
'currencyFactor' => 1,
'remoteAddress' => '',
'details' => [";
$i = 0;
foreach ($artikelnummern as $dieartikelnummer){
$articledetailsID = "";
$prüfeartikel = "SELECT id FROM s_articles_details WHERE ordernumber = '$dieartikelnummer'";
foreach ($db->query($prüfeartikel)as $row){
$articledetailsID = $row['id'];
}
if ($articledetailsID != ""){
$diebestellung = $diebestellung."
[
'articleId' => $articledetailsID,
'taxId' => 1,
'taxRate' => 19,
'statusId' => 0,
'articleNumber' => $dieartikelnummer,
'price' => $artikelpreise[$i],
'quantity' => $anzahlartikel[$i],
'articleName' => $artikeltitel[$i],
'shipped' => 0,
'shippedGroup' => 0,
'mode' => 0,
'esdArticle' => 0,
]";
}
$i ++;
if ($i < $anzahlpositionen){
$diebestellung = $diebestellung.",";
}
}
$diebestellung = $diebestellung."
],
'documents' => [],
'billing' => [
'id' => 2,
'customerId' => $userid,
'countryId' => 2,
'stateId' => 2,
'company' => $rechnung_firma,
'salutation' => 'mr',
'firstName' => $rechnung_vorname,
'lastName' => $rechnung_nachname,
'street' => $rechnung_adresse1,
'additionalAddressLine1' => $rechnung_adresse2,
'additionalAddressLine2' => $rechnung_adresse3,
'zipCode' => $rechnung_plz,
'city' => $rechnung_ort,
],
'shipping' => [
'id' => 2,
'countryId' => 2,
'stateId' => 2,
'customerId' => $userid,
'company' => $versand_firma,
'firstname' => $versand_vorname,
'lastname' => $versand_nachname,
'salutation' => 'mr',
'street' => $versand_adresse1,
'additionalAddressLine1' => $versand_adresse2,
'additionalAddressLine2' => $versand_adresse3,
'zipcode' => $versand_plz,
'city' => $versand_ort
],
'paymentStatusId' => 17,
'orderStatusId' => 0
]";
echo "".$diebestellung."";
echo "";
//$diebestellung2 = json_encode($diebestellung);
//echo "";
$clientcb->post('orders,'.$diebestellung);
Auch die Verwendung von decode oder encode bringt nichts.
Ich hoffe jemand von Euch findet den Denkfehler von mir, damit ich dieses Projekt bald abschließen kann.
Gruß
Sebastian