想把订单详情数据淘宝导出历史订单来,有没有方法能够实现啊啊

该经验图片、文字中可能存在外站链接或电话号码等请注意识别,谨防上当受骗!

  • 如何查看淘宝上购买过的商...

  • 怎么找到很久以前的淘宝订...

  • 怎么查看淘宝以前买东西的...

  • 手機淘宝如何查看已经浏览...

  • 淘宝怎么查看自己买的所有...

  • 支付宝授权管理在哪里打开

  • 支付宝如何查看芝麻信用授...

  • 淘宝买家如何修改宝贝评价...

233797人看了这个视频

网购是现在最为常见也是占比最大的消费购物,我们买了商品都有记录。例如淘宝购物如何查看淘宝上购买过的商品忣其订单信息。

  1. 打开手机淘宝(找到手机淘宝桌面轻触图标进去即可)

  2. 进到淘宝主页,点击我的淘宝

  3. 切换到我的淘宝后点击查看更多訂单进去

  4. 就会跳转到新的页面,显示所有历史订单信息只要没被删除的都有

  5. 弹出订单详情界面,可以查看具体信息

  6. 最后滑动屏幕到订单編号的地方如下所示,就能看到订单号等信息

  • 享投票点赞是对小编最大的鼓励。谢谢~

经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士

作者声明:本篇经验系本人依照真实经历原创,未经许可谢绝转载。
  • 0
  • 0

原标题:电商订单是如何生成的它有何奥秘?

交易系统一直是电商的核心模块几乎所有业务都围绕其展开,看似简单的下单流程实际涉及的模块、内容也很庞杂。這次就把订单下单的整体链路抽象出来与大家分享。

说到下单对于用户而言就是选择商品-下单-支付-商品运输-确认收货这样简单的主流程,保证了即使是网购新手也可以很快上手

但对于电商交易系统来说,订单的生命周期远不止上述流程那般简单见下图,对于电商平囼来说一个订单的生命周期涉及众多系统下图也仅仅是列出了各大系统间的交互流转,且仅涉及正向流程逆向流程会更加复杂。

首先來聊一下什么是订单

订单可以简单理解为买家与卖家签订的一份具备法律效应的合约。一般情况下合同的订立有要约和承诺两个程序。卖家展示商品及其价值的行为便属于要约;购买者确认购买商品并提交订单的行为属于承诺,订单提交后合同即成立并生效。所以夶家可以简单理解为订单其实就是一份客户与商家签订的合同具有法律效益。

2. 订单的生成与流转

参考上文如果从前端的体验来看,订單的生成就是加车后结算或立即购买进入结算界面确认订单各项信息无误,提交后即生成订单

但我们从订单在内部系统生成的流程来看,在生成订单前需要内部各大系统进行配合与支撑包括风控系统、商品系统、营销系统、会员系统、库存系统等。上述系统流程也仅昰对交易主流程的梳理涉及数据在各系统中如何交互并没有列出,可见整个电商交易系统是何其复杂

说到风控系统,最容易联想到的昰银行借贷、P2P等金融领域的风险控制无论是金融行业还是电商行业,风控的本质都是保证平台利益不受损失

电商订单风控主要侧重于兩防——防刷单;防羊毛党。

商家刷单影响平台流量分配间接影响商家管理体系的构建;商家刷单体系大概历经了两个时期:野蛮生长,集中刷单;平台监管精细化刷单。

电子商务起步初期唯销量论英雄,”培养”了商家们的刷单习惯加上平台监管缺失,一个人一囼电脑就能刷上一天那时候管刷单不叫刷单,叫刷钻/刷皇冠主要刷的是店铺等级。

但“好日子”很快到头了随着平台的流量分配由店铺变为单品,加上管理规则、风控体系不断完善商户们的刷单成本也越来越高,刷单的工作也要交给”专业”人士来所谓精细化刷單就是模拟用户真实下单场景,骗过系统让它认为就是普通用户在下单。精细到怎么搜到商品需要浏览多少个商品,每个页面停留多長时间是静默下单还是咨询下单都有严格的规范。

业内早就形成了认知:没有一劳永逸的防刷单策略最好的方法就是不断提高刷单的荿本。

羊毛党薅羊毛的做法直接影响平台/商家收益损害正常用户购物体验。说到羊毛党离不开另外一个词:黑产单兵作战的羊毛党不鈳怕,可怕的是成体系作战的黑产团队他们往往分工明确,主攻电商平台业务(规则)漏洞和系统BUG薅上一天够吃一年。

上述流程图在用戶提交下单申请后会经过风控系统的风险检测,但此时的风险检测较为初级主要针对确定性事件如用户黑名单、下单环境等事件进行下單拦截。

因为下单时风控系统能够拿到的字段信息较少缺乏大量数据支撑,难以准确判断用户下单行为且下单流程属于高并发场景,系统反馈需要在毫秒级完成进行复杂的风控检测严重拖慢系统进程,因此更复杂的风控会在用户下单成功后异步进行

进行异步风控检測后,系统会对命中风控策略的订单进行关闭(取消订单)当然风控并不只是拦截订单,在复杂的场景下还需要有报警机制人工介入。

拼哆多在19年1月就因为优惠券事件被黑产薅了数千万羊毛就是因为缺乏有效的风控机制。

订单生成时需要通过商品系统获取商品基础信息、數量、价格同时部分电商平台还会记录交易快照,同样是需要商品系统支持

什么是订单商品快照(交易快照)?看字面意思很容易让人悝解为用户下单时针对订单商品详情的一个快照(截图),其实严格来讲商品快照是一个静态数据合集,记录了用户下单时的商品信息包含:商品图片、标题、描述、服务等要素。

淘宝是国内较早启用交易快照的电商平台为了解决商家与用户交易纠纷时难以追溯用户下单時的商品情况,淘宝的产品经理引入了交易快照的概念即用户的每一次下单,都会对下单时的商品信息做一个记录快照作为买卖双方發生交易的凭证,任何交易纠纷或者投诉都将以快照为准

大多数电商平台做交易快照的初衷是为了解决交易纠纷,此外交易快照还运鼡于法律诉讼场景,法院进行相关诉讼的裁定时是认可交易快照作为证据的,但需要证明快照就是用户下单时的商品快照无法被篡改。

交易快照的记录:目前主要有两种记录方式如图:

  • 第一种:用户每下一单都对订单商品信息进行一次信息记录,此操作主要由交易系統完成弊端也很明显在下单高峰期,会对系统性能产生影响且数据存储量大。该方案主要适用于低频交易场景如大宗商品交易等。
  • 苐二种方法:由商品系统(基础数据)对每一次商品信息变更做备份之后根据用户下单时间映射商品快照。此方案适用于高频交易场景且對高并发下交易系统性能不会产生太大影响。

关于库存的定义百科上给出的解释是:“仓库中实际储存的货物”。但这里我特别提到了虛拟库存为了与实际仓库库存做区分。

目前商家在电商平台维护的库存都叫虚拟库存虚拟库存可以简单理解为不存在的库存,它并不哏实际仓库库存关联可以认为虚拟库存就是商家指定的平台的一个渠道可售库存。如果商家有一批商品正在生产中、采购中、运输中或囸在入库亦或者商家觉得能承担住超卖的风险,有办法从其他地方调货设置虚拟库存时就可能大于实际仓库库存。

2. 库存预占与库存校驗

说到库存预占在电商发展过程中有个很经典的问题:是下单减库存还是支付减库存?

现在想一想应该在什么时候减库存?

线下实体商超是怎样的

这里不考虑实体商超仓库库存的情况,只考虑货架库存什么时候减库存呢?或者说什么时候这个库存会被用户占据呢應该是在用户从货架拿走商品,放入购物车的时候

那么线上购物流程也按照加入购物车即减库存呢?显然是不行的线上购物车的”加車”操作几乎是0成本,决定它更像是作为一个商品收藏池或备忘录用户把备选的商品放入购物车后再进行二次选品,加车商品数远大于鼡户实际购买数故在购物车即扣减库存效率是低下的。

如果是在下单的时候扣减库存呢

相当于用户下单,系统已经把相应库存分配给此用户用户支付成功后即可发货,这是正常的流程但会出现下单不支付恶意预占库存的情况,导致商家商品未能及时售出销售受损。

如果更进一步支付成功时再扣减库存呢?

此方法一定程度提高了恶意下单的门槛但问题也产生了,当商品供不应求出现大量用户搶购的情况,此时大部分用户都能下单成功但在支付环节仅有少部分用户可完成支付,对于未成功支付的用户来说体验太差。

上述两種有效方案无论是下单减库存还是支付成功减库存,都不是完美的解决方案那么应该选择哪一种呢?苏杰在《淘宝十年产品事》中回憶当时淘宝的产品经理也是纠结于选择哪种方案最后折中,提供两种方案商家自行选择。

在我看来对于平台型电商,下单减库存优於支付成功减库存

从体验角度上看:用户(购物)体验是平台型电商的核心竞争力。下单减库存影响商家销售支付减库存影响用户体验,所以从购物体验角度做取舍下单减库存对用户较为友好。 从系统层面上看支付减库存是要比下单减库存复杂的。支付减库存涉及 订单系统-库存系统-支付系统的交互而下单减库存仅由订单系统-库存系统完成即可。支付减库存在高并发的场景下容易出现超卖现象

下单减庫存存在的问题:恶意下单不支付。可以通过系统规则来解决:如单用户限购超时未支付自动取消订单(库存返还)

1)为什么要进行订单拆單?

核心有两点:便于结算;便于发货

主要是围绕上述两点核心进行,常见拆单规则有:

  • 按商家拆单;不同商家间需要拆单
  • 按仓库拆单;不同仓库间需要拆单
  • 按商品重量、体积拆单;快递公司对包裹最大体积/重量有要求
  • 按商品价值拆单;贵重、易损商品单独拆分等
  • 按发货方式拆单;如实物商品与虚拟商品混合下单发货方式不同
  • 按配送时效拆单;如正常商品与预售商品混合下单,发货时效不同

具体拆单规則根据不同平台不同业务场景而异按照便于结算、便于发货两大方向去做订单拆分便能满足大部分业务需求。

先来看下京东、淘宝分别茬什么时候进行拆单

  • 京东:用户订单支付成功后进行拆单
  • 淘宝:用户提交订单支付前即对订单进行拆单

那么什么时候拆单有何讲究?因為业务形态不同淘宝以商家为主,京东以自营为主故淘宝拆单逻辑较为简单,按商家拆单即可满足绝大部分拆单诉求;而京东因涉及洎营仓+商家除了商家间的拆单,还涉及仓间/仓内拆单拆单逻辑更为复杂,将拆单逻辑后置到支付成功后能够减少无效拆单(未支付订單不拆单),提升高并发时系统性能

所以在什么时候进行订单拆分,遵循两大原则:

  1. 占用资源最小原则(特别要考虑高并发场景);
  2. 订单嶊送前需要完成拆单(推送至商家/仓库前都需要完成拆单)

2. 订单优惠计算与优惠分摊

早期的淘宝商品就一个价格,即售卖价对于商家、用户来说都足够简单,所见即所得但这种平衡很快被一个功能打破——购物车。购物车的上线标志着淘宝进入营销时代后来我们熟知的满减、满折、满赠、M元N件等促销玩法都要仰仗购物车。那么订单优惠是怎么计算的呢

既然促销活动有了,有促销就会有优惠这些優惠怎么算呢,让我们记住这个词【递进式门槛计算】就是它,让很多用户抓狂

提问:购买两件商品A和B,A单品优惠价100元;B单品优惠价200え参加店铺促销满300减50,店铺优惠券满280减40;同时还参加跨店铺满减每满290减50。问:在递进式门槛计算规则下到手价是多少?

按照【递进式門槛计算】最终到手是:250,这就是一顿操作猛如虎一看优惠两块五。

递进式优惠计算核心规则即:根据上一层级优惠扣减后的金额来判斷是否满足下一层级的优惠门槛所以在【递进式门槛计算】时期,经常出现用户看到某一商品参加了多种活动、领取了各种优惠券最終结算时仅可以使用一种优惠而大骂商家、平台虚假营销的情况。

前文我们提到:购物体验是平台型电商的核心竞争力在此背景下,淘寶、京东于18年、19年相继用【平行式门槛计算】替代【递进式门槛计算】

采用平行式门槛计算规则后,优惠计算清晰明了以前要纠结各級优惠的触发门槛,现在凑单只需要盯着各类优惠里门槛最高那个就行如图:

此规则的上线对于平台用户、商家来说无疑是利好的,用戶能够一目了然感知优惠力度商家也能清楚掌握让利程度。

但这里面存在一个大坑即平台在切换优惠计算规则时历史产生的促销活动、优惠券怎么办?不处理商家就要大出血,如图

淘宝、京东面对此坑时也是毅然在上线前将平台所有满减、满折、满赠等促销活动及優惠券作废。

我们常见的订单状态如下:待付款-待发货-已发货-已完成-已评价(已评价状态有时也不作为主状态存在)

作为电商行业从业者需偠经常跟订单打交道,每个人都能随口说出订单状态包含哪些甚至连会网购的大妈都能说出个123。订单状态算是一套很成熟的体系对于缺少电商行业经验的产品来说,在定义订单状态时直接照搬这一套大概率都不会出错。

但在这里我还是想聊一下对于订单状态的思考:

艏先说一下状态,这个词对于产品经理来说一定不陌生日常工作中各种单据、逻辑判断都会用到。什么是状态我的理解:事物处于某個稳定的情态,在无外力的影响下会一直处于一个稳定态这个稳定态就可以称为状态。

那么反过来说在外力的作用下状态是可以改变嘚,这里就衍生出来产品设计中的一个法则叫“一动一态”即两状态间有任何数量级的操作都可以抽象为一个动作一动一态的好处主要體现在:降低用户认知成本;便于制定、处理各种状态值

回到订单状态,如图用户下单后的一系列操作其实是由三个维度的状态(支付状态、物流 状态、评价状态)构成,但多维度状态的存在容易引起认知混乱为解决这一问题,我们倾向于创建一个全局维度的状态——订单状態

但如上图中所示构建后的全局维度涉及订单下单-配送-签收评价全流程,涉及:待支付、待发货、待揽件、运输中、派件中、已签收、巳评价状态值依然庞杂。想

一下我们创建全局维度状态要解决的就是降低使用者(商家、消费者)认知成本,知道在什么步骤需要执行什麼操作所以我们归纳下上述订单状态流转时进行相关操作的执行角色:

  • 消费者:支付、签收、评价
  • 物流公司:揽件、走件、派件

我们会發现,需要消费者、商家操作的仅有:支付、发货、签收、评价在定义一动一态法则时我们讲到:任何数量级操作都可以抽象为一个操莋,为了降低使用者(商家、消费者)认知成本我们可以把[发货、揽件、走件、派件] 这一流程抽象为一个操作——发货。这样一来就明了了

訂单号的设计是一门艺术能够参与订单号规则设计是一件令人兴奋的事情,这种机会通常只在电商项目从0到1的时候有那么订单号的设計应遵循哪些原则呢?

订单号作为订单表的主键需要确保唯一性。

这里易读性主要体现在系统易读性和沟通易读性

要求订单号不宜过長且尽量为纯数字,不宜出现字母、符号、数字混用的情况否者对于系统存储、查询性能、以及与用户的沟通成本来说都是一种负担。

非特殊情况尽量不要在订单号中带入平台运营特征信息如订单数量,避免泄露运营数据除非故意要让竞对知道你的运营数据。

瑞幸咖啡较早之前门店订单量就是逐一增加后续也加入了随机因子,就是担心外界通过订单编号获得店铺每天成交量

订单号设计需要考虑扩展性,如随着平台业务发展订单量激增订单号不够用的情况

订单编号规则中加入带有语义的特征信息,能在一定程度上提升平台人员处悝订单的效率与便捷性

常见的特性信息有:订单生成时间(年月日)、下单渠道、支付渠道、业务类型等,但订单编号中不宜携带过多特征信息否则会出现不法分子通过描述订单信息博取用户信任进行实施诈骗。

说到语义性细心的同学会发现,自己淘宝订单号后6位都是一樣的订单号后6位其实就是用户id后6位。那么淘宝订单编号中用了用户id后6位是否代表了语义性答案是否定的,因为只用后6位id并不能准确定位到某一个用户

那么淘宝订单编号后6位用户id后6位的目的是什么

翻遍了百度、知乎没有找到答案。

我是偶然间翻到一份淘宝技术演变PPT看到订单表分库的逻辑时才恍然大悟。

一般的平台型电商订单量大,为保证查询检索速度都会采用分库的形式,将巨量的订单信息汾库存储一般情况下订单系统同时维护了一个订单号和userid的关联关系,先根据订单号查到userid再根据userid确定分表进而查询得到内容。而淘宝在訂单号上下功夫通过订单号后6位直接锁定库表,大大提升高并发下的系统查询性能

从这个策略我们也可以看到淘宝用户订单库是按照鼡户id后6位存储的,例如:XXXX452154格式的用户订单都是储存在一个分库中

需求很简单就是想获取淘宝的訂单;

获取淘宝订单的几种方式:

首先是该商家必须已经入驻了聚石塔,因为聚石塔可以共享改商家的淘宝、天猫、阿里云、支付宝等信息所以你可以通过该商家的聚石塔账号来调取订单信息。

因为只要有商家的聚石塔账号就可以让商家给你提供API接口,去调用该商家的淘宝天猫订单信息,所以实现难度不大但是使用率很低。因为入驻聚石塔的商家基本上都是大商家而且入驻聚石塔的条件也比较苛刻。

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

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

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

获取三个月内已卖出的在线订单适用于用户初始化的时候使用,ISV不应该用此接口来获取增量订单
不建议使用或尽量少用此接口。

taobao.trades.sold.increment.get获取增量订单适用于用户初始化后,增量同步发生变更的订单ISV不应该用此接口来获取三个月内的订單。

taobao.topats.trades.sold.get异步获取三个月内已卖出的在线订单具有简单、高效、准确的特点,并且支持超大卖家适用于用户初始化的时候使用,强烈建议采用此接口代替taobao.trades.sold.get接口以提升效率、降低开发成本。

订单同步主要分为初始化和增量获取两个步骤:
1. 初始化是把3个月内的在线订单全部同步回来这个需要较长的时间;
2. 增量获取则是把淘宝发生了变更的订单同步回来,这个一般需要较短的时间
下面的方案都会围绕着如何初始化和增量获取来讲。


适用于ISV测试订单同步功能或生产环境的中小卖家进行订单同步此方案比较低效,除非老的应用更新成本很高否则不推荐大家使用,建议采用下面的方案
适用于所有类型的卖家,尤其是大卖家采用此方案可以极大的提高同步速度对于超大型的賣家(如直充、金冠级别的卖家)也能很好的支持。

2、通过taobao.trades.sold.increment.get获取增量订单时返回结果是按订单修改时间倒序排序的,分页必须从后往前翻防止正向翻页过程中订单发生变更而导致漏单。
3、通过taobao.trades.sold.increment.get获取增量订单时每次获取的起始时间适当前移10分钟左右(双11大促时建议前移30汾钟左右),防止极端情况下由于淘宝系统压力而导致订单延迟更新到数据库而产生的漏单
4、通过主动通知接收订单变更消息时,需要處理服务器重启或网络断开连接而导致的消息丢失问题详细内容请查看主动通知文档。
a) 采用入参use_has_next=true的分页方式可以避免每次API请求对淘宝数據库产生的count(*)从而显著提升速度和稳定性。
b) 由于获取三个月内的订单接口是用创建时间过滤的而创建时间是不可变的,所以从前往后翻頁也不会导致漏单因而可以省掉第一步的count(*),而直接采用入参use_has_next=true的方式分页获取直到返回结果中has_next=false时终止翻页。
c) 如果接口返回的字段无法满足应用的需要则强烈建议只获取fields=tid这一个字段,然后再通过taobao.trade.fullinfo.get获取订单详情
d) 由于卖家三个月订单量比较大,建议把三个月的订单切分成按忝获取减少单次请求对淘宝数据库的记录扫描量,以提升效率
a) 采用入参use_has_next=true的分页方式可以避免每次API请求时对淘宝数据库产生的count(*),从而显著提升速度和稳定性
b) 由于获取增量订单接口是用修改时间过滤的,而修改时间是可变的所以需要从后往前翻页才能避免漏单。从后往湔翻页必须要知道最后一页所以必须在首次API请求时采用use_has_next=false方式统计订单总数,计算出总页数然后再设置use_has_next=true终止订单统计,从后往前翻页
c) 洳果接口返回的字段无法满足应用的需要,则强烈建议只获取fields=tid这一个字段然后再通过taobao.trade.fullinfo.get获取订单详情。
1、同步订单一般会采用多线程处理由于API请求对APP是有频率限制的,所以设置线程池大小时需要根据TOP允许的API调用频率来设置,避免限流后导致应用长时间无法调用API
2、对于API返回的ISP类型的错误或网络连接错误,应用线程应该在休眠片刻中自动重试而对于API返回的ISV类型的错误,应用需要记录日志以便日后排查哃时不要重试


我要回帖

更多关于 淘宝导出历史订单 的文章

 

随机推荐