API - WEBAREAL
Zdravím,
máme za úkol vložit nějaké produkty do e-shopu a hodlám to udělat pomocí API. Samotný script si nejspíš dokážu upravit, ale nejde mi ani vzorový kód od webarealu. viz:
Chyby mi to háže:
Notice: Trying to get property 'token' of non-object in D:\xampp\htdocs\stopkovefrezy\api-add-products.php on line 32
Notice: Trying to get property 'token' of non-object in D:\xampp\htdocs\stopkovefrezy\api-add-products.php on line 46
Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\stopkovefrezy\api-add-products.php on line 60
Evidentně je token prázdný. Kde je chyba? Dokáže mi to někdo vysvětlit? Zde je dokumentace k API. https://webareal.docs.apiary.io/#reference/0/order-list/get-order-list
Pokud čti správně, tento script by měl získat objednávky, ne?
$apiServer = 'webareal.cz';
$apiKey = 'vygenerovany_api_klic';
$username = 'mail_k_administraci';
$password = 'heslo';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://$apiServer/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n \"username\": \"$username\",\n \"password\": \"$password\"\n}",
CURLOPT_HTTPHEADER => array(
"X-Wa-api-token: $apiKey",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$jsonResponse = json_decode($response);
$token = $jsonResponse->token;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://$apiServer/orders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $jsonResponse->token",
"X-Wa-api-token: $apiKey"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$orders = json_decode($response);
foreach ($orders as $order) {
var_dump($order);
}
}
}
Předem děkuji za odpověď! ;)