我正在使用亚马逊 MWS 报告 API 通过"_GET_SELLER_FEEDBACK_DATA_"报告类型获取买家的反馈。
但不幸的是,它说"报告状态已取消"。使用暂存器请求此报告,它工作正常。
以下是我的代码:
$report_type = "_GET_SELLER_FEEDBACK_DATA_";
$config = array(
'ServiceURL' => "https://mws.amazonservices.co.uk",
'ProxyHost' => null,
'ProxyPort' => -1,
'MaxErrorRetry' => 3,
);
$service = new MarketplaceWebService_Client($AWS_ACCESS_KEY_ID, $AWS_SECRET_ACCESS_KEY, $config, $APPLICATION_NAME, $APPLICATION_VERSION);
$marketplaceIdArray = array("Id" => array($MARKETPLACE_ID));
//Sends Report Request
$request = new MarketplaceWebService_Model_RequestReportRequest();
$request->setMarketplaceIdList($marketplaceIdArray);
$request->setMerchant($MERCHANT_ID);
$request->setReportType($report_type);
$request->setReportOptions('ShowSalesChannel=true');
$request->setStartDate(new DateTime('-90 Days', new DateTimeZone('UTC')));
$report_request_id = invokeRequestReport($service, $request);
我更改了报告 API 类方法invokeReportRequest()
、invokeGetReportRequestList()
、invokeGetReportList()
和 invokeGetReport()
。
亚马逊接受您的报告请求,但随后拒绝实际生成报告请求。我不确定是否有办法从 MWS 中获取任何有意义的错误消息,但根据过去的经验,当您的请求在技术上有效但存在某种逻辑错误时,就会发生这种事情(例如,您提交一个 XML 文件,该文件根据 XSD 进行验证,但包含不属于您库存的商品的价格)
我还没有对此进行测试,但查看 API 文档(MWS 报告 API 参考第 46 页),似乎ShowSalesChannel
不是_GET_SELLER_FEEDBACK_DATA_
报告的有效ReportOption
(似乎只允许在订单报告中使用,并且获取卖家反馈不支持任何 ReportOption)。所以请尝试删除
$request->setReportOptions('ShowSalesChannel=true');
从你的代码中,看看会发生什么。