Files
shopPRO/apilo-bck
2024-10-23 13:44:50 +02:00

130 lines
5.1 KiB
Plaintext

static public function apilo_product_search()
{
global $mdb, $settings, $config;
$sku = $mdb -> get( 'pp_shop_products', 'sku', [ 'id' => \S::get( 'product_id' ) ] );
$ean = $mdb -> get( 'pp_shop_products', 'ean', [ 'id' => \S::get( 'product_id' ) ] );
if ( !$sku and !$ean )
{
echo json_encode( [ 'status' => 'error', 'msg' => 'Podany produkt nie posiada kodu SKU ani EAN.' ] );
exit;
}
$url = "https://projectpro.apilo.com/rest/api/warehouse/product/";
$params = [];
if ($sku) {
$params['sku'] = $sku;
}
// if ($ean) {
// $params['ean'] = $ean;
// }
$url .= '?' . http_build_query($params);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer " . $config['apilo']['access-token'],
"Accept: application/json"
]);
$response = curl_exec($ch);
$responseData = json_decode($response, true);
if (curl_errno($ch)) {
echo 'Błąd cURL: ' . curl_error($ch);
} else {
if ($responseData && isset($responseData['products'])) {
foreach ($responseData['products'] as $product) {
echo "Nazwa produktu: " . $product['name'] . "<br>";
echo "SKU: " . $product['sku'] . "<br>";
echo "EAN: " . $product['ean'] . "<br><hr>";
}
} else {
echo "Brak wyników dla podanego SKU lub EAN.";
}
}
curl_close($ch);
exit;
// $refreshUrl = "https://projectpro.apilo.com/rest/auth/token/?grant_type=refresh_token&refresh_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJwcm9qZWN0cHJvLmFwaWxvLmNvbSIsImV4cCI6MTcwNDA2NDE3MywianRpIjoiZTJjZDI4MWItZmU3NS01YTIyLWI4MGYtM2MyNTI3MmViZjVjIiwidHlwZSI6InJlZnJlc2hfdG9rZW4iLCJjbGllbnRfaWQiOjIsInBsYXRmb3JtX2lkIjoyLCJpYXQiOjE2OTg3OTM3NzN9.QUXHq9_9ERSrTqtbx50ZE_h_uN32ai112k-JqmSD9TZg4RsJxyzA13PeIulAWVa2ZeEJolvB-X2XyU7Ok__dhRYtNEUs-2HQgoa9sX1LAUlnUyABkY5hXOMpRNztrZ_BJMl_Ttj4GkwEOGlP8Ze0JNXaqmio0d1Bbbc6DtYfzHtkqgzl_mImIBtIXmBpypP3nVgz9GtKq9eOxfczQsWsUv5OBmCBDSF3O6yJA9r7jLOgSo1_MOH1MYai6xd_23FFlTcOvQUUwmnI6EMe3ytIpfuegEPuhXMPY8FCa0tWGhuBx2jtPBzQRQdJW7dzk3rEQX495lhE3cwK_T0PPjDBJ6HaYUoA5sTiF-9S1JfysS5D-Jd7z-m2KNVW8FPz1Zz200U2k2wfAs64NT9NeDPVkEcBJ5GFmOFvCGw4ywosWuQVQx0YxfzF65becLKxddPRS1MC9_-NxxL4ergClbPA2_e2Qwkg2EXWhil6cAwGy2G7C80t2NGN5aP1UL_uH2FQZ8VBdW_R5KvAXZDJsWSJqvn7pinLqTollMoMipbyQA02jaUvIk7senIF-h3f4DHbj90I97dekyzUUcbppKVhBfF6ZsfeFUojbT-GUapjakOwz3uL2dNEXOENUQMn3bsnQmkQABsGQrhQZjnPc-mdEm0PJJz0rK8QdZ2cQHYgo4g";
// $ch = curl_init($refreshUrl);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_HTTPHEADER, [
// "Authorization: Basic " . base64_encode($config['apilo']['client-id'] . ":" . $config['apilo']['client-secret']),
// "Accept: application/json"
// ]);
// $refreshResponse = curl_exec($ch);
// if (curl_errno($ch)) {
// echo 'Błąd cURL: ' . curl_error($ch);
// } else {
// $newTokens = json_decode($refreshResponse, true);
// echo "Nowy access token: " . $newTokens['accessToken'];
// // Zapisz nowy access token i refresh token w sesji lub bazie danych
// // $_SESSION['accessToken'] = $newTokens['accessToken'];
// // $_SESSION['refreshToken'] = $newTokens['refreshToken'];
// }
// curl_close($ch);
// exit;
// $url = "https://projectpro.apilo.com/rest/auth/token/?grant_type=authorization_code&code=" . $config['apilo']['authorization-code'];
// $ch = curl_init( $url );
// curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
// curl_setopt( $ch, CURLOPT_HTTPHEADER, [
// "Authorization: Basic " . base64_encode( $config['apilo']['client-id'] . ":" . $config['apilo']['client-secret'] ),
// "Accept: application/json"
// ] );
// $response = curl_exec($ch);
// if( curl_errno( $ch ) ) {
// echo 'Błąd cURL: ' . curl_error( $ch );
// } else {
// echo $response;
// }
// curl_close( $ch );
// $data = json_decode($response, true);
// $currentDateTime = new DateTime();
// $tokenExpiryDateTime = DateTime::createFromFormat( DateTime::ATOM, $data['accessTokenExpireAt']);
// // Sprawdzamy czy accessToken wygasł
// if ( $tokenExpiryDateTime <= $currentDateTime) {
// // Token wygasł, odświeżamy go używając refreshToken
// // $refreshUrl = "https://projectpro.apilo.com/rest/auth/token/?grant_type=refresh_token&refresh_token=" . $data['refreshToken'];
// // curl_setopt( $ch, CURLOPT_URL, $refreshUrl );
// // curl_setopt( $ch, CURLOPT_HTTPHEADER, [
// // "Authorization: Basic " . base64_encode( $config['apilo']['client-id'] . ":" . $config['apilo']['client-secret'] ),
// // "Accept: application/json"
// // ] );
// // $refreshResponse = curl_exec($ch);
// // if (curl_errno($ch)) {
// // echo 'Błąd cURL podczas odświeżania: ' . curl_error($ch);
// // exit;
// // }
// // $refreshedData = json_decode($refreshResponse, true);
// echo "Odświeżony token: " . $refreshedData['accessToken'];
// } else {
// echo "Token jest ważny.";
// }
// curl_close($ch);
exit;
}