我正在使用eBay的Java SDK作为我当前的项目,我们需要通过eBay API完成各种任务。很多API调用工作正常。但是,即使呼叫响应未指示任何错误,GetSellingManagerSoldListings请求也根本不返回已售出的历史记录。下面是请求XML(我正在使用eBayAuthToken的生产令牌)
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<ebl:RequesterCredentials xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ebl="urn:ebay:apis:eBLBaseComponents" SOAP-ENV:mustUnderstand="0">
<ebl:eBayAuthToken>MY_AUTH_TOKEN</ebl:eBayAuthToken>
</ebl:RequesterCredentials>
</S:Header>
<S:Body>
<GetSellingManagerSoldListingsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<Version>967</Version>
<Archived>true</Archived>
<Pagination>
<EntriesPerPage>200</EntriesPerPage>
<PageNumber>1</PageNumber>
</Pagination>
<SaleDateRange>
<TimeFrom>2016-08-14T00:00:00.124+08:00</TimeFrom>
<TimeTo>2016-08-29T11:50:07.125+08:00</TimeTo>
</SaleDateRange>
</GetSellingManagerSoldListingsRequest>
</S:Body>
</S:Envelope>
,响应XML是:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<GetSellingManagerSoldListingsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2016-08-29T03:50:12.672Z</Timestamp>
<Ack>Success</Ack>
<Version>967</Version>
<Build>E967_CORE_APISELLING_17965876_R1</Build>
</GetSellingManagerSoldListingsResponse>
</soapenv:Body>
</soapenv:Envelope>
我在这里做错了吗?为什么响应中没有SalesRecord?
我尝试添加搜索,通过放置商品ID
将请求限制为只有一个商品<Search>
<SearchType>ItemID</SearchType>
<SearchValue>MY_ITEM_ID</SearchValue>
</Search>
但是没有,仍然没有SalesRecord
另外,我想知道是否有其他的通话方法可以检索易趣的销售历史。
答案 0 :(得分:0)
好的,我终于明白了问题的来源......事实证明我将Archived设置为True,而且我只获得了过去15天的销售历史记录。我的问题的解决方案是根本不设置存档选项。
从eBay Trading API文档中可以看出
请求列出超过90天的记录。记录是 在创建之后的90到120天之间存档,之后存档 只能使用此标记检索。
我不知道如何将Archived设置为true会导致API调用不返回我需要的信息,即使在我的测试用例中我只获得了不到90天的销售历史记录,但至少我发现了问题现在,终于可以继续下一步了!