簡體   English   中英

亞馬遜 MWS 集成

[英]Amazon.com MWS Integration

我目前正在開發一個非常基本的網站,目前只顯示來自亞馬遜市場的訂單信息。

  • 我擁有所有 MWS 安全憑證。
  • 我已經下載並查看了 PHP 客戶端庫,但很困惑。
  • 我對 PHP 有點陌生,但我覺得我可以處理這個項目。

我需要知道如何從這個 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 並且需要更多功能的人可以做到。

如果您仍然不知道如何執行此操作,請按照以下步驟操作

希望這對您和其他用戶有所幫助。

亞馬遜在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM