Friday, October 26, 2018

get product price By SKU Amazon.

<?php

$amazonSellerId         = 'A1YXXXXXXXXYLJ';
$amazonMWSAuthToken     = '3653-XXXX-0245';
$amazonAWSAccessKeyId   = 'XXXXXXXXXX';
$amazonSecretKey        = 'XXXXXXXXXXXXXXXXX';
$amazonMarketPlaceId    = 'A21TJRUUN4KGV';
$sku='KNT311209';

$param = array();
$param['AWSAccessKeyId']     = $amazonAWSAccessKeyId;
$param['Action']             = 'GetMyPriceForSKU';
$param['SellerId']           = $amazonSellerId;
$param['MWSAuthToken']       = $amazonMWSAuthToken;
$param['SellerSKUList.SellerSKU.1']  = $sku;
$param['SignatureMethod']    = 'HmacSHA256';
$param['SignatureVersion']   = '2';
$param['Timestamp']          = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time());
$param['Version']            = '2011-10-01';
$param['MarketplaceId'] = $amazonMarketPlaceId;
$secret = $amazonSecretKey;
$url = array();
foreach ($param as $key => $val) {
    $key = str_replace("%7E", "~", rawurlencode($key));
    $val = str_replace("%7E", "~", rawurlencode($val));
    $url[] = "{$key}={$val}";
}

sort($url);
$arr   = implode('&', $url);
$sign  = 'POST' . "\n";
$sign .= 'mws.amazonservices.in' . "\n";
$sign .= '/Products/2011-10-01' . "\n";
$sign .= $arr;
$signature      = hash_hmac("sha256", $sign, $secret, true);
$signature      = urlencode(base64_encode($signature));


$link  = "https://mws.amazonservices.in/Products/2011-10-01?";
$link .= $arr . "&Signature=" . $signature;

$httpHeader     =   array();
$httpHeader[]   =   'Transfer-Encoding: chunked';
$httpHeader[]   =   'Content-Type: application/xml';
//$httpHeader[]   =   'Content-MD5: ' . base64_encode(md5($amazon_feed, true));
//$httpHeader[]   =   'x-amazon-user-agent: MyScriptName/1.0';
$httpHeader[]   =   'Expect:';
$httpHeader[]   =   'Accept:';  

$ch = curl_init($link);
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $amazon_feed);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
$errors=curl_error($ch);
curl_close($ch);

print_r($response); //xml response

No comments:

Post a Comment