2013-03-05 76 views
3

我想在https://github.com/Exeu/Amazon-ECS-PHP-Library亞馬遜API添加購物車功能

主要類項目的添加購物車功能,可用的AmazonECS類是https://github.com/Exeu/Amazon-ECS-PHP-Library/blob/master/lib/AmazonECS.class.php

它目前支持ItemLookup和ItemSearch,但它並沒有CartCreate,CartClear,CartAdd,CartGet,CartModify。

亞馬遜的這些API調用文檔,可以在此頁面 http://docs.aws.amazon.com/AWSECommerceService/2011-08-01/DG/CartCreate.html

這裏是我試過的東西還沒有一個工作中找到。

/** 
* execute CartCreate request 
* 
* @param string $asin, $associateTag 
* 
* @return array|object return type depends on setting 
* 
* @see returnType() 
*/ 
public function cartCreate($asin, $associateTag) 
{ 
$params = $this->buildRequestParams('CartCreate', array(
    array('Item.1.ASIN' => $asin, 'Item.1.Quantity' => 1), 
    'AssociateTag' => $associateTag, 
)); 

return $this->returnData($this->performSoapRequest("CartCreate", $params)); 
} 

有沒有人知道我在做什麼錯?我從該電話獲得的錯誤消息是

string(79) "Your request is missing required parameters. Required parameters include Items." 
+0

我們可以檢查這些物品是否可以運送到澳大利亞? – Umair 2017-09-28 12:00:37

回答

2

對於任何人仍然在尋找答案,我爲你解決這個問題。以下是我的購物車功能:

public function CartCreate($OfferListingId) 
    { 
    $params = $this->buildRequestParams('CartCreate', array(
     'Items' => array(
      'Item' => array(
       //You can also use 'ASIN' here 
       'OfferListingId' => $OfferListingId, 
       'Quantity' => 1, 
    ) 
    ) 
    )); 

    return $this->returnData(
     $this->performSoapRequest("CartCreate", $params) 
    ); 
    } 

您發送的參數應構建爲關聯數組。

此外,如果您遇到無法將具有ASIN的項目添加到購物車的錯誤,請記得將國家代碼添加到請求中,因爲默認值爲美國,例如,在我的情況下,我英國需要的物品。這就是我的要求:

$cart = $this->ecs->country('UK')->ResponseGroup('Cart')->CartCreate($OfferListingId); 
+0

我們可以檢查這些物品是否可以運送到澳大利亞嗎? – Umair 2017-09-28 12:00:34

0

我可能是錯的,但我不認爲你的Item.1.ID應該是另一個數組的一部分。試試這個:

$params = $this->buildRequestParams('CartCreate', array(
    'Item.1.ASIN' => $asin, 
    'Item.1.Quantity' => 1, 
    'AssociateTag' => $associateTag, 
));