技术文档
详述
为保证你能够获取所有的Transaction,我们建议你注意以下方面:
1.确保在Mod Time过滤器中使用重叠的时间窗口。
ModTimeFrom应该是你后一次调用的时间减去2分钟。
ModTimeTo应该是现在的时间。
这能确保你不错过任何一个时间段。
2.使用Pagination
你可以在每一页上请求多200个transaction。 如果transaction的数量超过了你在EntriesPerPage上指定的数目,你需要反复的进行调用。
持续增加PageNumber直到获取的响应中HasMoreEntries字段为false。
3.每15分钟调用一次,特别是当你的卖家交易量很大时。这样可以确保不使用太多分页。
4.确保在检索你的transaction的同时不对它们进行任何更新。
下面是一个很简单的场景,来说明你的应用程序会如何“丢失”一个transaction:
起始 |
假设:
1. 用户请求每页3个transaction,并且所有transaction都是针对同一件商品的,我们可以跳过ItemID illustration
2. 用户请求一个修改于2010-07-01T23:40:00.000Z 和 2010-07-01T23:50:00.000Z之间的transaction。
这是设计中transaction被返回的场景:
Page Number |
TransactionID |
LastModifiedTime |
1 |
1010 |
2010-07-01T23:50:00.000Z |
1009 |
2010-07-01T23:49:00.000Z |
|
1008 |
2010-07-01T23:48:00.000Z |
|
2 |
1007 |
2010-07-01T23:47:00.000Z |
1006 |
2010-07-01T23:46:00.000Z |
|
1005 |
2010-07-01T23:45:00.000Z |
|
3 |
1004 |
2010-07-01T23:44:00.000Z |
1003 |
2010-07-01T23:43:00.000Z |
|
1002 |
2010-07-01T23:42:00.000Z |
Transaction如何被影响 |
在用户检索页面2的过程中,他们使用CompleteSale修改TransactionID 1008来设置货物追踪号。后的修改时间变成了当前时间,比如2010-07-01T23:51:00.000Z
因为交易1008的后修改时间改变了,它被排除在了用户的时间范围之外,并因此被排出列表。新的场景如下所示:
Page Number |
TransactionID |
LastModifiedTime |
1 |
1010 |
2010-07-01T23:50:00.000Z |
1009 |
2010-07-01T23:49:00.000Z |
|
1008 1007 |
2010-07-01T23:48:00.000Z 2010-07-01T23:47:00.000Z |
|
2 |
1007 1006 |
2010-07-01T23:47:00.000Z 2010-07-01T23:46:00.000Z |
1006 1005 |
2010-07-01T23:46:00.000Z 2010-07-01T23:45:00.000Z |
|
1005 1004 |
2010-07-01T23:45:00.000Z 2010-07-01T23:44:00.000Z |
|
3 |
1004 1003 |
2010-07-01T23:44:00.000Z 2010-07-01T23:43:00.000Z |
1003 1002 |
2010-07-01T23:43:00.000Z 2010-07-01T23:42:00.000Z |
|
1002 |
2010-07-01T23:42:00.000Z |
因为用户已经检索过页面2,他们会转到页面3
附加信息
文档:
http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetSellerTransactions.html
http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetOrders.html
答案对您有帮助吗?
是,对我很有帮助 | |
否,没解决我的问题 |