亚马逊MWS:新的2013年ListOrders API出现错误

时间:2017-04-04 15:14:06

标签: php amazon-web-services amazon-mws

我正在升级我的亚马逊订单下载脚本: $ serviceUrl =" https://mws-eu.amazonservices.com/Orders/2011-01-01" 至 $ serviceUrl =" https://mws-eu.amazonservices.com/Orders/2013-09-01"

某些参数已从数组更改为字符串。

使用ListOrdersSample.php我试图只下载Unshipped和PartiallyShipped订单,但我在格式化变量时遇到了困难。

在便笺簿中我看到:

OrderStatus.Status.1 =未发货 OrderStatus.Status.2 = PartiallyShipped

我试过了:

//$orderStatuses='OrderStatus.Status.1=Unshipped,OrderStatus.Status.2=PartiallyShipped';
// $orderStatuses='Unshipped:PartiallyShipped';
// $orderStatuses='Unshipped&PartiallyShipped';
// $orderStatuses= (array("Unshipped", "PartiallyShipped"));
$orderStatuses='Unshipped';
$request->setOrderStatus($orderStatuses);

所有版本的分隔符似乎都失败并出现类似错误:

  

Caught Exception:检测到1个验证错误:值   ' [未发货&安培; PartiallyShipped]'在' orderStatus'没能满足   约束:成员必须满足约束:[成员必须满足枚举   值集:[Unfulfillable,PartiallyShipped,PendingAvailability,   已发货,待处理,发票未确认,已取消,未发货]]

唯一可以使用的是未注释的未发送的,然后我收到了错误:

  

捕获异常:应使用Unshipped和PartiallyShipped   在OrderStatus过滤时一起使用。你不能使用一个而不是   另一个。

我在尝试列出多个marketplaceids时遇到了类似的问题。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

我终于开始工作了。如果有人感兴趣,多项目字符串的格式为:

$marketplaceIdList=(array('A1F83G8C2ARO7P','A13V1IB3VIYZZH','A1PA6795UKMFR9','APJ6JRA9NG5V4','A1RKKUPIHCS9HS','ATVPDKIKX0DER')); 
$request->setMarketplaceId($marketplaceIdList);

$orderStatuses=(array('Unshipped','PartiallyShipped'));  
$request->setOrderStatus($orderStatuses);

invokeListOrders($service, $request);