`
zzc1684
  • 浏览: 1228871 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

淘宝店铺订单同步及获取解决方案

阅读更多

项目背景

 

最近做一个电子商务平台的投标工作,写技术标过程中,配到客户一些和淘宝集成的接口,其中有一个需求就是需要将目前ERP系统中的定的那和淘宝店铺中订单进行同步,具体需求如下描述:
1、零售、批销、代销、机构订单都存储在客户的ERP系统当中;
2、淘宝商城的订单存储在淘宝中,ERP系统中不存在;
3、目前投标的电子商务平台中商品订单付款成功后需要将订单转入到ERP系统处理。
针对以上需求,我们对淘宝的开放平台接口做了分析,其中淘宝已经提供类似场景的解决方案,具体的方案将在下面做具体的介绍。

 

淘宝解决方案背景说明

 

订单是卖家的核心数据,卖家的很多日常工作都是围绕着订单展开,应用的基本功能就是要保 证订单实时、完整的展示在卖家面前。由于API请求依赖于网络,存在着网络不稳定和同步时间长的问题,所以应用必须把淘宝的订单数据同步到本地。如何才能 快速、完整的把订单同步到本地是本方案将要讨论的问题。

 

 

 

名词解释

 

在线订单:卖家三个月内已卖出的订单。
增量订单:相对已经同步到本地的订单,凡是在淘宝上发生了变更的订单就是增量订单。
主动通知:一种通过HTTP长连接实时向客户端(应用)推送数据(交易)变更的渠道。
异步API:把业务请求与业务处理分开执行、把业务逻辑与海量计算转移到淘宝、并且结果可异步下载的API。

 

API介绍

 

taobao.trades.sold.get
获取三个月内已卖出的在线订单,适用于用户初始化的时候使用,ISV不应该用此接口来获取增量订单。
不建议使用或尽量少用此接口。
taobao.trades.sold.increment.get
获取增量订单,适用于用户初始化后,增量同步发生变更的订单,ISV不应该用此接口来获取三个月内的订单。
taobao.topats.trades.sold.get
异步获取三个月内已卖出的在线订单,具有简单、高效、准确的特点,并且支持超大卖家,适用于用户初始化的时候使用,强烈建议采用此接口代替taobao.trades.sold.get接口,以提升效率、降低开发成本。
taobao.trade.fullinfo.get – 获取单笔订单详情。
taobao.topats.trades.fullinfo.get – 批量获取最多100笔订单详情。

 

实施方案

 

订单同步主要分为初始化和增量获取两个步骤:
1. 初始化是把3个月内的在线订单全部同步回来,这个需要较长的时间;
2. 增量获取则是把淘宝发生了变更的订单同步回来,这个一般需要较短的时间。
下面的方案都会围绕着如何初始化和增量获取来讲。
方案一
同步流程
淘宝订单同步解决方案一同步流程
核心步骤
淘宝订单同步解决方案一核心步骤
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) 由于获取三个月内的订单接口是用创建时间过滤的,而创建时间是不可变的,所以从前往后翻页也不会导致漏单,因而可以省掉第一步的count(*),而直接 采用入参use_has_next=true的方式分页获取,直到返回结果中has_next=false时终止翻页。
c) 如果接口返回的字段无法满足应用的需要,则强烈建议只获取fields=tid这一个字段,然后再通过taobao.trade.fullinfo.get获取订单详情。
d) 由于卖家三个月订单量比较大,建议把三个月的订单切分成按天获取,减少单次请求对淘宝数据库的记录扫描量,以提升效率。
2、taobao.trades.sold.increment.get获取增量订单
a) 采用入参use_has_next=true的分页方式可以避免每次API请求时对淘宝数据库产生的count(*),从而显著提升速度和稳定性。
b) 由于获取增量订单接口是用修改时间过滤的,而修改时间是可变的,所以需要从后往前翻页才能避免漏单。从后往前翻页必须要知道最后一页,所以必须在首次 API请求时采用use_has_next=false方式统计订单总数,计算出总页数,然后再设置use_has_next=true终止订单统计,从 后往前翻页。
c) 如果接口返回的字段无法满足应用的需要,则强烈建议只获取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类型的错误,应用需要记录日志以便日后排查,同时不要重试。

 

示例代码

 

JAVA示例代码:点击下载
.NET示例代码:点击下载

 

 

文章作者: iitshare
本文地址:http://www.iitshare.com/taobao-shop-orders-synchronization.html

分享到:
评论

相关推荐

    淘宝API接口详解

    为了帮助开发者更好地理解这些接口,本文将详细介绍淘宝提供的几个关键订单管理接口,并分析常见的丢单原因及其解决方案。 #### 二、订单同步接口 淘宝提供了三种主要的订单同步接口: 1. **`taobao.trades.sold....

    淘宝客程序-淘宝客单页店铺

    总的来说,“淘宝客程序-淘宝客单页店铺”是一个为淘宝客打造的轻量级解决方案,旨在帮助他们在有限的资源下高效地进行商品推广。通过理解和熟练运用这类程序,淘宝客可以更有效地利用网络资源,提升自身的盈利能力...

    ShopBuilder网店系统 v4.1

    ShopBuilder的解决方案打造品牌实力,建立美观的个性化商城,展示品牌实力,塑造品牌形象把客户留在自己的地盘集市平台上的生意永远只会埋没在一堆搜索结果里,只有自己商城的结果才属于自己多渠道获取客户把淘宝、...

    Shopbuilder 最新全网营销电子商务软件

    竞争激烈的淘宝店铺已经没有机会获取流量,淘外机会却越来越多 ShopBuilder的核心亮点 多套品牌商城模版,快速搭建单用户商城 多平台,多店铺数据同步更新 打通淘宝、天猫、拍拍、QQ商城四大平台,多渠道汇集会员...

    淘宝sdk高级模板绿白风格功能完整

    总的来说,"淘宝SDK高级模板绿白风格功能完整"是一个全面的解决方案,可以帮助开发者快速构建与淘宝平台深度集成的应用,提高开发效率,同时提供良好的用户体验。对于想要深入理解和实践淘宝API的开发者来说,这是一...

    淘宝助手4.6

    此时,一款专为淘宝卖家量身定制的辅助软件——淘宝助手4.6应运而生,它为卖家提供了一套完整的解决方案,帮助他们在繁忙的电商环境中更加轻松地运营店铺。 淘宝助手4.6的首要功能是商品上传,它极大地简化了商品...

    淘客TOP版API最新TOP版api

    4. 支持多场景应用:无论是网站、APP还是小程序,淘客TOP版API都能提供相应的解决方案,适应不同推广场景的需求。 三、使用淘客TOP版API的注意事项 1. 开发者需要注册并申请成为淘宝联盟会员,获取API的使用权限。...

    淘宝交易助手免安装版亲测可用

    综上所述,淘宝交易助手免安装版以其独特的优势,为淘宝卖家提供了一套全面的解决方案。它不仅简化了繁琐的后台操作,还通过直观的用户界面,帮助卖家轻松掌握各种功能,从而提升店铺运营效率,增强在淘宝平台上的...

    ASP.NET淘宝店主交易管理系统的设计与实现(源代码+论文)【ASP】.zip

    它集成了订单处理、库存控制、客户管理和数据分析等多种功能,采用ASP.NET技术和.NET Framework提供的各种服务,为淘宝店主提供了一站式的店铺管理解决方案。通过深入理解和实践这个系统的源代码,开发者不仅可以...

    淘宝建站程序

    淘宝建站程序是一种专为创建在线商店而设计的软件解决方案,它允许用户在淘宝平台上搭建自己的店铺,实现商品展示、销售、订单管理等一系列电子商务功能。此类程序通常包含多个组件,如前端展示模板、后台管理系统、...

    多用户商城系统方案白皮书.docx

    **多用户商城系统方案...领客科技提供的B2B2C商城系统,旨在打造全渠道覆盖消费者的多商户平台,提供定制化的解决方案,支持平台自营及第三方商家入驻,提供源码服务,特别适合中高端企业的多用户商城系统建设需求。

    ShopBuilder网上直销商城

    竞争激烈的淘宝店铺已经没有机会获取流量,淘外机会却越来越多 ShopBuilder的核心亮点 多套品牌商城模版,快速搭建商城 多平台,多店铺数据同步更新 打通淘宝、天猫、拍拍、QQ商城四大平台,多渠道汇集会员...

    ShopBuilder网上直销商城 v5.6.1.zip

    竞争激烈的淘宝店铺已经没有机会获取流量,淘外机会却越来越多   ShopBuilder的核心亮点 多套品牌商城模版,快速搭建商城 多平台,多店铺数据同步更新 打通淘宝、天猫、拍拍、QQ商城四大平台,多渠道汇集会员...

    ESK数据交换平台常见业务功能介绍V1.0.doc

    2. **多仓多店支持**:相比于市面上大多数第三方解决方案,ESK数据交换平台更易于扩展,能够更好地支持多仓库、多店铺的业务模式。 #### 淘宝工具、拍拍工具使用 对于软件开发者而言,ESK数据交换平台还提供了一套...

    ECSHOP整合淘点金采集

    在文件名为"ECSHOP整合淘点金采集.wps"的文档中,可能会详细介绍以上步骤的具体操作方法,包括代码示例、配置参数以及可能出现的问题和解决方案。通过阅读这份文档,你可以更深入地了解如何在ECSHOP中实现淘点金的...

    适合各种进销存系统 (智慧记免费)

    1. **淘宝同步**:这意味着该系统能够与淘宝平台进行数据对接,实时获取或更新店铺的销售信息,如订单状态、库存变化等,确保线上线下库存的一致性,避免超卖或缺货的情况。 2. **汽车商店**:进销存系统的应用不仅...

    微信速分销会员分销系统

    - **在线客服接入**:提供QQ、TQ、旺旺等多种在线客服解决方案即时解答疑问。 - **开微店申请**:会员可以申请开设个人微店,由后台审核决定是否通过。 - **上货功能**:从总店选择商品上架到个人微店,丰富商品种类...

    小票打印程序

    在使用小票打印程序前,用户应仔细阅读“使用说明.txt”和“使用前必读.txt”文件,了解软件的安装步骤、系统配置要求、操作指南以及可能遇到的问题及解决方案。例如,可能需要检查电脑是否已经安装了兼容的打印机...

    好店吧淘客源码

    这为想要从事淘客业务的个人或团队提供了一个省时省力的解决方案,同时也降低了进入电商推广领域的门槛。在使用过程中,用户可以根据自身需求对源码进行二次开发和定制,以满足更加个性化的功能需求。

    方维购物分销系统v2.21

    方维购物分销系统v2.21是一款专为大型网购商城设计的高效、全面的分销解决方案,结合了淘宝数据采集功能,旨在提升商家的运营效率和销售业绩。该系统的核心目标是通过分销模式,帮助商家扩大销售渠道,同时利用数据...

Global site tag (gtag.js) - Google Analytics