Noushervan
Noushervan

Reputation: 11

How to check the stock of amazon product using its Amazon Product Advertising API in php?

Does anyone know that how to check the stock of amazon product from Amazon Product Advertising API??

Plz dont share links of API docs.. just tell me the way..

i have used the follwing code to display the results for some specific product. Guide me that how can i see the stock of searched product?

<?php 

define('AWS_ACCESS_KEY_ID', 'my-access-key'); 

define('AWS_SECRET_ACCESS_KEY', 'my-secret-key'); 

define('AMAZON_ASSOC_TAG', 'my-associate-tag'); 


function amazon_get_signed_url($searchTerm) 

{ 

$base_url = "http://ecs.amazonaws.com/onca/xml"; 

$params = array( 'AWSAccessKeyId' => AWS_ACCESS_KEY_ID, 'AssociateTag' => AMAZON_ASSOC_TAG, 'Version' => "2010-11-01", 'Operation' => "ItemLookup", 'Service' => "AWSECommerceService",  'ResponseGroup' => "ItemAttributes", 'ItemId'=> $searchTerm);

if(empty($params['AssociateTag'])) 
{ 
 unset($params['AssociateTag']); 
} 

// Add the Timestamp 

$params['Timestamp'] = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time()); 

// Sort the URL parameters 
$url_parts = array(); 
foreach(array_keys($params) as $key) 
$url_parts[] = $key . "=" . str_replace('%7E', '~', rawurlencode($params[$key])); 
sort($url_parts); 
// Construct the string to sign 
$url_string = implode("&", $url_parts); 
$string_to_sign = "GET\necs.amazonaws.com\n/onca/xml\n" . $url_string; 
// Sign the request 
$signature = hash_hmac("sha256", $string_to_sign, AWS_SECRET_ACCESS_KEY, TRUE);
 // Base64 encode the signature and make it URL safe 
 $signature = urlencode(base64_encode($signature)); 
 $url = $base_url . '?' . $url_string . "&Signature=" . $signature; 
 return ($url); 
}

$getthis = 'B004XIE6WI'; /*---- Product ASIN-----*/
$show = amazon_get_signed_url($getthis);

$ch = curl_init($show); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
$c = curl_exec($ch); 
$xml = simplexml_load_string($c);
$json = json_encode($xml); 
$array = json_decode($json,TRUE);

echo "<pre>";
print_r($array);
echo "</pre>";

?>

Upvotes: 1

Views: 1745

Answers (1)

Gagandeep Singh
Gagandeep Singh

Reputation: 153

do include Offers and OfferFull response groups in your signed request ..

Upvotes: 1

Related Questions