我正在尝试将购物车功能添加到https://github.com/Exeu/Amazon-ECS-PHP-Library
的AmazonECS类该项目的主要类别是https://github.com/Exeu/Amazon-ECS-PHP-Library/blob/master/lib/AmazonECS.class.php
它目前支持ItemLookup和ItemSearch,但它没有CartCreate,CartClear,CartAdd,CartGet,CartModify。
可以在此页面上找到有关这些API调用的Amazon文档 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 :(得分: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);
答案 1 :(得分:0)
我可能错了,但我不认为你的Item.1.ID应该是另一个数组的一部分。试试这个:
$params = $this->buildRequestParams('CartCreate', array(
'Item.1.ASIN' => $asin,
'Item.1.Quantity' => 1,
'AssociateTag' => $associateTag,
));