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'] . "
"; echo "SKU: " . $product['sku'] . "
"; echo "EAN: " . $product['ean'] . "

"; } } 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; }