[英]Amazon.com MWS Integration
我目前正在開發一個非常基本的網站,目前只顯示來自亞馬遜市場的訂單信息。
我需要知道如何從這個 API 安裝和訪問信息。 我覺得我什么都試過了。 亞馬遜沒有提供足夠的信息來實現這一目標。 它們聽起來好像只需要 5 或 6 個簡單的步驟,您就可以訪問您的信息; 這不是真的。
MWS有詳細的教程嗎? 我需要盡可能多的信息。 如果您能幫助我,也許會概述實現它所需的步驟,那將不勝感激!!!! 我正在為此拔頭發。 再次感謝
幫助您入門的粗略文件。 這是取自幾頁,包括來自@Vaidas 的這一頁。 我還沒有鏈接,抱歉。 我唯一的貢獻就是把它放在一個地方。
亞馬遜提供的 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>');
?>
請注意,擁有curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
是curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
行,至少在我的情況下。 除了 MWS 頁面之外,CURL 對任何頁面都可以正常工作(它只是給了我一個帶有 -1 信息的空白頁面,我花了一天的大部分時間才弄清楚我需要那一行。它在 MWS 論壇的某個地方.
為了更好地衡量,這里有一個指向 MWS ScratchPad的鏈接。
一旦我更好地處理了與 MWS 的合作,也許我會做一個教程。 或者更擅長 HTML 並且需要更多功能的人可以做到。
如果您仍然不知道如何執行此操作,請按照以下步驟操作
ReportType
RequestReport
將返回訂單數據(第 51 頁左右,查看報告 api 參考)希望這對您和其他用戶有所幫助。
亞馬遜在https://developer.amazonservices.com/ 上提供了一些很棒的示例代碼。 我已經成功地將他們的代碼用於我的 PHP 應用程序。
我同意。 弄清楚 MWS API 是一場噩夢。
對@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?";
同樣,根據上面的內容更改 url 的開頭。
這可能會在瀏覽器中為您提供直接的文本輸出(查看 xml 的源代碼)。 對於 XML 可見輸出(更容易檢查),請執行以下操作:
將 XML 內容類型行添加到文件頂部:
header('Content-type: application/xml');
然后注釋掉:
echo($link);
和
print_r('<p>' . $info . '</p>');
如果您遵循正確的步驟,實施 MWS 很容易: 1-根據您的首選語言從https://developer.amazonservices.com/下載代碼庫。 2-在示例文件夾下的 config.php 文件中設置您的賣家 mws 憑據,以便在運行示例文件夾下的特定文件時可以使用相同的憑據,例如:RequestReportSample.php,並為特定賣家域設置報告類型和端點 URL。 3- 然后您可以從暫存器檢查提交的請求狀態。 4- 您可以使用 GetReportSample 文件來獲取訂單報告數據,並根據需要使用相同的數據。
您也可以按照參考http://prashantpandeytech.blogspot.com/2015/03/mws-amazon-marketplace-web-service-api.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.