囧囧街
囧囧街各大品牌产品测评,给您一个有价值的参考!
文章25989浏览5047752本站已运行11315

获取淘宝订单详情接口应用

工程项目大背景:

前段时间做两个电商互联网平台的招标组织工作,写控制技术标操作过程中,配到顾客一些和淘宝软件系统的USB,之中有两个市场需求是须要将现阶段ERP控制系统中的定的那和淘宝店面中订货进行并行,具体内容市场需求如下表所示叙述:

1、零售业、配运、网上买卖、政府机构订货都储存有顾客的ERP控制系统之中;

2、淘宝京东的订货储存有淘宝中,ERP控制系统中不存有;

3、现阶段招标的电商互联网平台中货品订货退款获得成功后须要将订货转至到ERP控制系统处置。

特别针对以内市场需求,我们对淘宝的开放互联网平台USB做了预测,之中淘宝早已提供更多类似于情景的软件系统,具体内容的计划将在上面做具体内容的如是说。

更多API初始化展现以及以获取Key和secret请点选

淘宝软件系统大背景表明

订货是商家的核心理念统计数据,商家的许多日常生活组织工作都是紧紧围绕着订货进行,应用领域的基本要素是要确保订货动态、完备的展现在商家眼前。由于API允诺倚赖互联网,存有着互联网不平衡和并行时间长的难题,因此应用领域要把淘宝的订货统计数据并行到邻近地区。怎样就可以加速、完备的把订货并行到邻近地区是本计划即将探讨的难题。

圣吉龙县

新浪网订货:商家四个月内已买进的订货。

存量订货:相较早已并行到邻近地区的订货,但凡在淘宝上出现了更改的订货是存量订货。京东线报群

积极主动通告:一类通过HTTP长相连动态向顾客端(应用领域)发送统计数据(买卖)更改的平台。

异步API:把业务允诺与业务处置分开执行、把业务逻辑与海量计算转移到淘宝、并且结果可异步下载的API。

API如是说

taobao.trades.sold.get

以获取四个月内已买进的新浪网订货,适用于用户初始化的时候使用,ISV不应该用此USB来以获取存量订货。

不建议使用或尽量少用此USB。

taobao.trades.sold.increment.get

以获取存量订货,适用于用户初始化后,存量并行出现更改的订货,ISV不应该用此USB来以获取四个月内的订货。

taobao.topats.trades.sold.get

异步以获取四个月内已买进的新浪网订货,具有简单、高效、准确的特点,并且支持超大商家,适用于用户初始化的时候使用,强烈建议采用此USB代替taobao.trades.sold.getUSB,以提升效率、降低开发成本。

taobao.trade.fullinfo.get – 以获取单笔订货详细情况。

taobao.topats.trades.fullinfo.get – 批量以获取最多100笔订货详细情况。

实施计划

订货并行主要分为初始化和存量以获取两个步骤:京东线报群

初始化是把3个月内的新浪网订货全部并行回来,这个须要较长的时间;

存量以获取则是把淘宝出现了更改的订货并行回来,这个一般须要较短的时间。

上面的计划都会紧紧围绕着怎样初始化和存量以获取来讲。

计划一

并行流程:

淘宝订货并行软件系统一并行流程

核心理念步骤:

淘宝订货并行软件系统一核心理念步骤

1、四个月统计数据:通过taobao.trades.sold.get以获取3个月内到现在创建的订货ID,再通过taobao.trade.fullinfo.get以获取订货详细情况

2、存量统计数据:通过taobao.trades.sold.increment.get以获取从现在开始的存量订货ID,再通过taobao.trade.fullinfo.get以获取订货详细情况

适用范围:

适用于ISV测试订货并行功能或生产环境的中小商家进行订货并行。此计划比较低效,除非老的应用领域更新成本很高,否则不推荐大家使用,建议采用上面的计划。

计划二

并行流程:

淘宝订货并行软件系统二并行流程

核心理念步骤:

淘宝订货并行软件系统二核心理念步骤

1、四个月统计数据:通过taobao.topats.trades.sold.get异步以获取3个月内到昨天23:59:59创建的订货详细情况京东线报群

2、存量统计数据:通过taobao.trades.sold.increment.get以获取从今天00:00:00开始的存量订货ID,再通过taobao.trade.fullinfo.get以获取订货详细情况。

适用范围:

适用于所有类型的商家,尤其是大商家采用此计划可以极大的提高并行速度,对于超大型的商家(如直充、金冠级别的商家)也能很好的支持。

计划三

并行流程:

淘宝订货并行软件系统三并行流程

核心理念步骤:

淘宝订货并行软件系统三核心理念步骤

1、四个月统计数据:

a) 首先,通过taobao.topats.trades.sold.get异步以获取3个月内到昨天23:59:59创建的订货详细情况

b) 然后,通过taobao.trades.sold.increment.get以获取从今天00:00:00到现在的存量订货ID,再通过taobao.trade.fullinfo.get以获取订货详细情况

2、存量统计数据:通过积极主动通告顾客端动态监听订货更改消息,再通过taobao.trade.fullinfo.get以获取订货详细情况

适用范围:

适用于所有类型的商家,是所有计划中相较复杂,但效率最高的计划,推荐所有ISV采用。

经验分享

漏单难题:

1、通过taobao.trades.sold.get和taobao.trades.sold.increment.get以获取订货时,买卖类型type入参默认只查询部分类型的订货,要查询所有类型的订货,要显式提供更多所有买卖类型作为type入参。京东线报群

2、通过taobao.trades.sold.increment.get以获取存量订货时,返回结果是按订货修改时间倒序排序的,分页要从后往前翻,防止正向翻页操作过程中订货出现更改而导致漏单。

3、通过taobao.trades.sold.increment.get以获取存量订货时,每次以获取的起始时间适当前移10分钟左右(双11大促时建议前移30分钟左右),防止极端情况下由于淘宝控制系统压力而导致订货延迟更新到统计数据库而产生的漏单。

4、通过积极主动通告接收订货更改消息时,须要处置服务器重启或互联网断开相连而导致的消息丢失难题,详细内容请查看积极主动通告文档。

性能难题:

1、taobao.trades.sold.get以获取四个月已商家的订货

a) 采用入参use_has_next=true的分页方式可以避免每次API允诺对淘宝统计数据库产生的count(),从而显著提升速度和平衡性。

b) 由于以获取四个月内的订货USB是用创建时间过滤的,而创建时间是不可变的,因此从前往后翻页也不会导致漏单,因而可以省掉第一步的count(),而直接采用入参use_has_next=true的方式分页以获取,直到返回结果中has_next=false时终止翻页。京东线报群

c) 如果USB返回的字段无法满足应用领域的须要,则强烈建议只以获取fields=tid这两个字段,然后再通过taobao.trade.fullinfo.get以获取订货详细情况。

d) 由于商家四个月订货量比较大,建议把四个月的订货切分成按天以获取,减少单次允诺对淘宝统计数据库的记录扫描量,以提升效率。

2、taobao.trades.sold.increment.get以获取存量订货

a) 采用入参use_has_next=true的分页方式可以避免每次API允诺时对淘宝统计数据库产生的count(*),从而显著提升速度和平衡性。

b) 由于以获取存量订货USB是用修改时间过滤的,而修改时间是可变的,因此须要从后往前翻页就可以避免漏单。从后往前翻页要要知道最后一页,因此要在首次API允诺时采用use_has_next=false方式统计订货总数,计算出总页数,然后再设置use_has_next=true终止订货统计,从后往前翻页。京东线报群

c) 如果USB返回的字段无法满足应用领域的须要,则强烈建议只以获取fields=tid这两个字段,然后再通过taobao.trade.fullinfo.get以获取订货详细情况。

3、使用taobao.trades.sold.get/taobao.trades.sold.increment.get只以获取tid字段时,建议设置page_size为最大值,减少API允诺次数,提升效率。以获取多个字段时可根据自身的互联网情况设置page_size,建议设置为50左右。

异常处置:

1、并行订货一般会采用多线程处置,由于API允诺对APP是有频率限制的,因此设置线程池大小时,须要根据TOP允许的API初始化频率来设置,避免限流后导致应用领域长时间无法初始化API。

2、对于API返回的ISP类型的错误或互联网相连错误,应用领域线程应该在休眠片刻中自动重试。而对于API返回的ISV类型的错误,应用领域须要记录日志以便日后排查,同时不要重试。

sunder1987
上一篇:
下一篇:

相关推荐

隐藏边栏