我目前正在开发一个非常基本的网站,此时只会显示来自亚马逊市场的订单信息。
我需要知道如何安装和访问此API的信息。我觉得我已经尝试了一切。亚马逊没有提供足够的信息来实现这一目标。它们听起来好像需要5到6个简单的步骤,您可以访问您的信息;事实并非如此。
是否有关于MWS的详细教程?我需要尽可能多的信息。如果你可以帮助我,可能会概述实现这一目标所需的步骤,非常感谢!!!!我把头发拉过来。再次感谢
答案 0 :(得分:12)
一个粗略的文件,可以帮助您入门。这取自几个页面,包括来自@Vaidas的this one。我还没有链接,抱歉。我唯一的贡献是把它放在一个地方。
亚马逊提供的PHP代码都没有为我提供开箱即用的功能。我假设您有使用cURL或等效环境的XAMPP。这段代码应该开箱即用,让您开始了解需要发生的事情。只需插入您的凭据即可。
<?php
$param = array();
$param['AWSAccessKeyId'] = 'YourAccessKeyID';
$param['Action'] = 'GetLowestOfferListingsForASIN';
$param['SellerId'] = 'YourSellerID';
$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'] = 'YourMarketplaceID';
$param['ItemCondition'] = 'new';
$param['ASINList.ASIN.1'] = 'B00C5XBAOA';
$secret = 'YourSecretKey';
$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 = 'GET' . "\n";
$sign .= 'mws.amazonservices.com' . "\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.com/Products/2011-10-01?";
$link .= $arr . "&Signature=" . $signature;
echo($link); //for debugging - you can paste this into a browser and see if it loads.
$ch = curl_init($link);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/xml'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
echo('<p>' . $response . '</p>');
print_r('<p>' . $info . '</p>');
?>
请注意,拥有它是VITAL
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
线,至少在我的情况下。除了MWS页面之外,CURL在任何页面都运行良好(它只是给了我一个空白页面,信息中包含-1s,我花了大半天时间才弄清楚我需要那条线。它在MWS论坛的某个地方
为了更好的衡量,这里是link to MWS ScratchPad。
一旦我更好地处理MWS,我可能会做一个教程。或者那些更擅长HTML并且需要更多功能的人可以做到这一点。
答案 1 :(得分:10)
如果您仍然没有弄清楚如何执行此操作,请按照以下步骤操作
RequestReport
,其中一些ReportType
将返回订单数据(第51页左右,查看报告api参考)希望这可以帮助您和其他用户。
答案 2 :(得分:5)
亚马逊在https://developer.amazonservices.com/提供了一些很棒的示例代码。我已经成功地将他们的代码用于我的PHP应用程序。
我同意。弄明白MWS API是一场噩梦。
答案 3 :(得分:0)
@ Josiah使其适用于其他市场的方法发生了一些变化:
行:
$sign .= 'mws.amazonservices.com' . "\n";
更改为:您正确的MWS端点。在此列出http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html - 它将与您的市场ID相匹配,可能是这样的:
$sign .= 'mws-eu.amazonservices.com' . "\n";
和英国网站的英国市场ID。
行:
$link = "https://mws.amazonservices.com/Products/2011-10-01?";
再次,根据上面的内容更改网址的开头。
这可能会在浏览器中为您提供直接文本输出(xml的查看源代码)。对于XML可见输出(更容易检查),请执行以下操作:
将XML内容类型行添加到文件顶部:
header('Content-type: application/xml');
然后评论出来:
echo($link);
和
print_r('<p>' . $info . '</p>');
答案 4 :(得分:0)
如果您按照正确的步骤实施MWS很容易: 1 - 根据您的首选语言从https://developer.amazonservices.com/下载代码库。 2 - 在示例文件夹下的config.php文件中设置卖家mws凭据,以便在运行示例文件夹下的特定文件时使用相同的文件,例如:RequestReportSample.php,并为特定卖家域设置报告类型和端点URL。 3-然后,您可以从暂存器检查提交的请求状态。 4-您可以使用GetReportSample文件获取订单报告数据,并根据需要使用相同的数据。
您也可以按照参考http://prashantpandeytech.blogspot.in/2015/03/mws-amazon-marketplace-web-service-api.html
进行操作