#php #amazon-web-services
#php #amazon-веб-сервисы
Вопрос:
Я пытаюсь получить количество товаров на складе для каждого продавца Amazon, используя ASIN, используя документацию
$param = array();
$param['AWSAccessKeyId'] = "ACCESS_KEY";
$param['Action'] = "ListInventorySupply";
$param['SellerId'] = "SELLER_ID";
$param['SignatureMethod'] = 'HmacSHA256';
$param['SignatureVersion'] = '2';
$param['Timestamp'] = gmdate("Y-m-dTH:i:sZ");
$param['Version'] = '2010-10-01';
$param['MarketplaceId'] = "ATVPDKIKX0DER";
$param['ResponseGroup'] = 'Basic';
$param['QueryStartDateTime'] = '2016-09-08T19:00:00Z';
$url = array();
foreach ($param as $key => $val) {
$key = str_replace("~", "~", rawurlencode($key));
$val = str_replace("~", "~", rawurlencode($val));
$url[] = "{$key}={$val}";
}
sort($url);
$arr = implode('amp;', $url);
$sign = 'GET' . "n";
$sign .= 'mws.amazonservices.com' . "n";
$sign .= '/FulfillmentInventory/2010-10-01' . "n";
$sign .= $arr;
$signature = hash_hmac("sha256", $sign, "SECRET_KEY", true);
$signature = urlencode(base64_encode($signature));
//I got this url correctly without errors
$link = "https://mws.amazonservices.com/FulfillmentInventory/2010-10-01?";
echo $link .= $arr . "amp;Signature=" . $signature;
Но в моем ответе я получил пустой список запасов, он показан ниже
<ListInventorySupplyResponse xmlns="http://mws.amazonaws.com/FulfillmentInventory/2010-10-01/">
<ListInventorySupplyResult>
<MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
<InventorySupplyList/>
</ListInventorySupplyResult>
<ResponseMetadata>
<RequestId>582d8e1f-2094-4c04-bad8-98e003f59b8d</RequestId>
</ResponseMetadata>
</ListInventorySupplyResponse>
Итак, я хочу знать, возможно ли получить количество запасов всех продавцов? и почему я получаю пустой результат? Заранее спасибо.