java - 如何获取 Amazon MWS Reports Java 客户端库以下载特定文档版本

标签 java amazon-mws

我有一些处理亚马逊结算报告(XML 格式)的代码。到目前为止,用户需要从亚马逊卖家中心下载 XML 文件并将其加载到应用程序中进行处理。

我添加了一些代码,这些代码将通过 Amazon Java 客户端库使用 MWS Reports API 来搜索可用的结算报告,并允许用户选择他们想要的报告、获取并处理它。除了未处理退款外,一切正常。

在比较通过不同方法检索的 XML 时,我发现下载的文件是比 API 更新的格式。

<DocumentVersion>'4.01'</DocumentVersion>

对比:

<DocumentVersion>'3.01'</DocumentVersion>

在旧版本中 <Refund>元素名为 <Adjustment>但 XML 在其他方面是相同的。

当我试图找到这个问题的答案时,我发现了 2014 年 8 月 11 日发布的 MWS 论坛帖子:

https://sellercentral.amazon.com/forums/ann.jspa?annID=186

这宣布了结算报告的更改,并“说明”客户端库没有更改。

Reports API Java 客户端的最新版本于 2014 年 9 月 30 日发布(即发布后),但这是我正在使用的版本,因此似乎没有使用新的文档版本。

有人可以建议我如何告诉客户端库使用哪个版本吗?

附注另一个问题是缺少最新报告......

最佳答案

还有一个我之前错过的公告:

https://sellercentral.amazon.com/forums/ann.jspa?annID=240

这是真正的问题,它解释了为什么自 5 月底以来的报告缺失。

重要的部分是:

The enumeration value for the XML Settlement Report is changing from _GET_PAYMENT_SETTLEMENT_DATA_ to _GET_V2_SETTLEMENT_REPORT_DATA_XML_.

因此,在设置报告列表请求时,您需要更改报告类型,如下所示:

    GetReportListRequest req = new GetReportListRequest();

    ArrayList<String> typeArrayList = new ArrayList<String>();
    typeArrayList.add("_GET_V2_SETTLEMENT_REPORT_DATA_XML_");

    TypeList typeList = new TypeList();
    typeList.setType(typeArrayList);

    req.setReportTypeList(typeList);

完成此操作后,可以找到较新的报告,并找到用于调整和退款的 XML。

关于java - 如何获取 Amazon MWS Reports Java 客户端库以下载特定文档版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31464952/

相关文章:

java - 如何为 Gradle 项目生成类路径?

node.js - 亚马逊MWS有REST版本API吗?

javascript - 递归列出 JSON 中的所有对象属性路径

java - java转义分析也适用于只有一个元素的数组吗?

java - 设置十六进制格式

java - 如何启动 Web 服务器并在完成后将浏览器指向它?

java - 捕获 InputMismatchException 不会返回消息

javascript - 亚马逊 MWS - 最大订单数量

c# - 亚马逊 MWS C# 产品 GetCompetitivePricingForSKU 抛出异常