我正在使用ListOrders api从亚马逊商店获取订单https://sellercentral.amazon.co.uk
我已将时区设置为欧洲/伦敦
但listorders api中缺少一些订单,这些订单的货币(欧元)不同,可能来自不同的国家(西班牙)。
所有货币为英镑的订单都按api列出。我还试着把时区改为欧洲/马德里,但这些订单仍然没有列出。原因是什么?请帮忙。
感谢
我刚刚将此方法添加到我的Amazon Orders API类中,它返回了我100个订单,还给了我一个NextToken来访问下100个或剩余的订单。您只需要设置CreatedAfter date和MarketPlaceID,所有其他字段都不是必填字段。
public function getOrderList()
{
$this->config['ServiceURL'] = "https://mws-eu.amazonservices.com/Orders/2013-09-01";
$this->serviceURL = "https://mws-eu.amazonservices.com/Orders/2013-09-01";
$service = new MarketplaceWebServiceOrders_Client($this->aws_access_key, $this->aws_secret_access_key, $this->application_name, $this->application_version, $this->config);
$request = new 'MarketplaceWebServiceOrders_Model_ListOrdersRequest();
$request->setSellerId($this->seller_id);
$request->setMarketplaceId($this->marketplace_id);
$request->setCreatedAfter(date('Y-m-d'TH:i:s'Z', strtotime('-49 hours')));
//new DateTime('-7 Days', new DateTimeZone('UTC'))
try
{
$response = $service->ListOrders($request);
echo ("Service Response'n");
echo ("============================================================================='n");
$dom = new DOMDocument();
$dom->loadXML($response->toXML());
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
echo $dom->saveXML();
echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "'n");
}
catch(MarketplaceWebServiceOrders_Exception $ex)
{
echo("Caught Exception: " . $ex->getMessage() . "'n");
echo("Response Status Code: " . $ex->getStatusCode() . "'n");
echo("Error Code: " . $ex->getErrorCode() . "'n");
echo("Error Type: " . $ex->getErrorType() . "'n");
echo("Request ID: " . $ex->getRequestId() . "'n");
echo("XML: " . $ex->getXML() . "'n");
echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "'n");
}
}