Hier nochmal der Codeausschnitt, wie ich gerne eine Bestellung anlegen möchte:
$client->post ( 'orders', array (
"customerId" => $customerId,
"paymentId" => $status,
"dispatchId" => 10,
"partnerId" => "",
"shopId" => 1,
"invoiceAmount" => sprintf ( "%01.2f", ($amount) ),
"invoiceAmountNet" => sprintf ( "%01.2f", ($amountNet) ),
"invoiceShipping" => $invoice,
"invoiceShippingNet" => sprintf ( "%01.2f", ($invoiceNet) ),
"orderTime" => date ( "Y-m-d H:i:s" ),
"net" => 0,
"taxFree" => 0,
"languageIso" => "1",
"currency" => "EUR",
"currencyFactor" => 1,
"remoteAddress" => "11.11.11.11",
"details" => $articles,
"documents" => array (),
"comment" => $comment,
"customerComment" => "Bestellung von Marktplatz xyz",
"billing" => array (
"id" => '',
"customerId" => $customerId,
"countryId" => 2,
"stateId" => 3,
"company" => $company,
"salutation" => "mr",
"firstName" => $firstname,
"lastName" => $lastname,
"street" => $street,
"zipCode" => $zipcode,
"city" => $city
),
"shipping" => array (
"id" => 2,
"countryId" => 2,
"stateId" => 3,
"customerId" => 1,
"company" => $company,
"salutation" => "mr",
"firstName" => $firstname,
"lastName" => $lastname,
"street" => $street,
"zipCode" => $zipcode,
"city" => $city
),
"paymentStatusId" => 17,
"orderStatusId" => 0
) );
An die $customerId komme ich noch ran:
$params = [
'filter' => [
[
'property' => 'email',
'value' => $mail
]
]
];
$data = $client->get('customers',$params);
Ich muss aber zwingend auch die dispatchId und paymentStatusId setzen können. Der Kunde hat hier die Auswahl der Zahlungsarten und Versandarten als Name. Die Ids stehen nicht zur Verfügung. Diese müsste ich irgendwie abfragen.
Für einen Ansatz wäre ich dankbar.
Grüße
Mathias