Hallo,
ich rufe die Bestellungen des Shops über folgende Route ab: /api/search/order
Das funktioniert soweit. Ich möchte die Ergebnisse aber filtern bzw. auf bestimmte Felder begrenzen oder nur offenen Bestellungen abrufen.
Ich habe folgendes probiert, allerdings werden weder die Filter noch die includes angewendet. Es wird immer alles ausgegeben bzw. abgerufen:
function get_orders() {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $this->shopurl."/api/search/order",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filter' => [
[
'type' => 'range',
'field' => 'createdAt',
'parameters' => [
'gte' => '2023-09-22T12:00:00.333+00:00'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Authorization: Bearer ".$this->token
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return $response;
}
ODER:
function get_orders() {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $this->shopurl."/api/search/order",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includes' => [
'order' => [
'id',
'createdAt',
'orderNumber'
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Authorization: Bearer ".$this->token
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return $response;
}