注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 解决方案中心

API优化方案

更新时间:2015/09/18 访问次数:18913

 

1、背景介绍

应用调用的API次数过多,不单会消耗应用服务器资源,同时会为后续的维护带来不便,为了提升服务商对TOP数据接口有效使用,推动服务商在服务市场良性的发展,帮助商家和服务商建立更为合理的运营机制,从2014年4月1日起,淘宝开放平台将正式启动API收费,详情点击查看规则;

本文档主要介绍如何更有效率的减少API调用,降低服务商应用系统运营成本。

2、应用宝典

应用优化宝典须具备2个基础条件:

(1)    已入驻聚石塔的商家或服务商:应用服务部署在ECS,数据库部署在RDS数据库;

(2)    开通“订单同步服务”,并开启订单/商品/分销/退款的数据推送;

数据分析:

ERP

说明:提取了2家服务商(管易&百胜)和2家自研商家(好孩子&裂帛)API调用量,日均调用1.9亿次

回写类API:46439687次,占总调用量:24%;

数据推送类API:128285206次,占总调用量:66%;

CRM:

说明:提取了4家ISV(网聚宝、多卖、维客、客道)API调用量,日均调用2.3亿次

回写类API:46439687次,占总调用量:24%;

数据推送类API:128285206次,占总调用量:66%;

 

3、宝典场景

3.1店铺商品查询

3.1.1场景说明

商家为了及时获取店铺前端商品库存是否与本地实际库存一致,使用商品类查询API按商品ID或商家编码获取店铺商品信息,通过检查商品是否下架、可销库存是否大于实际库存, 重新计算店铺销售库存,将仓库实际库存按比率同步到淘宝店铺前台。

3.1.2案例介绍

         某母婴类品牌商在淘宝和天猫开了5个店铺,可销售商品2916个,为了及时将线下仓库实际库存同步到店铺前台,每隔20分钟定时通过接口查询各店铺商品剩余库存,按比率重新为各店铺商品分配库存。

3.1.3案例分析

n  计算店铺库存:需调用接口查询店铺商品可销库存和预扣库存,多个店铺同一款商品必须调用多次TOP接口请求,如:

5个店铺,单店2916个商品,每20分钟获取一次商品信息,日均调用量如下:

5*2916*3*24=1049760

3.1.4优化方案

 

使用聚石塔数据同步服务将授权店铺商品信息实时推送到RDS数据库,商家只需要将程序中定时下载商品信息改造成连接RDS获取商品数据即可;

3.1.5优化效果

        

某母婴类品牌商日均调用API约161万次,采用RDS数据推送,应用API总调用量下降了64%;

 

 

 

 

3.2 订单同步

3.2.1场景说明

       订单是商家的核心数据,商家的很多日常工作都是围绕着订单展开,为了及时将店铺订单信息同步到商家业务系统,商家通常采用定时任务增量或者全量方式获取店铺已卖出订单列表

3.2.2案例介绍

某ERP软件服务商为了及时将店铺订单信息同步到商家业务系统,每隔1分钟采用增量接口获取已卖出订单列表,通过订单列表中的订单ID获取订单详情同步到商家业务系统数据库。

3.2.3案例分析

n  单个店铺每1分钟同步一次订单数据,必须多次请求TOP接口获取数据,网络不稳定等原因容易导致订单下载漏单;

 

3.2.4优化方案

使用聚石塔数据同步服务将授权店铺订单信息实时推送到RDS数据库,商家只需要将使用API下载订单改造成连接RDS数据库即可获取数据;

 

3.2.5优化效果

 

某ERP软件服务商日均调用API约9772万次,采用RDS订单数据推送,应用API总调用量下降了46.1%;

 

3.3 退款退货同步

3.3.1场景说明

       退款退货业务分为集市退款和天猫退款退货,当店铺产生退款退货后,为了避免退款订单重复下载,需根据商家不同的店铺类型使用集市退款或天猫退款退货API及时获取卖家收到的退款订单,截停准备发货的退款订单,降低商家退换货物流成本。

3.3.2优化方案

 

?  优化前:使用API同步:

某服务商采用API轮循方式每隔2分钟根据不同的店铺类型获取卖家收到的退款单列表,日均产生219万次API调用。

(1)获取淘宝退款单:使用taobao.refunds.receive.get查询卖家收到的退款列表,通过退款单ID调用taobao.refund.get单笔退款详情保存到商家业务库;

(2)获取天猫退款单:使用tmall.eai.order.refund.mget批量获取退款单,根据退款单拦截订单处理流程,批量同意或拒绝退款;

(3)获取天猫退货单:使用tmall.eai.order.refund.good.return.mget批量退货单查询,根据退货单ID调用tmall.eai.order.refund.good.return.get获取退货详情,生成仓库接收单;

 

?  优化后:采用RDS数据同步(推荐使用):

使用聚石塔数据同步服务将授权店铺退款信息实时推送到RDS数据库,无须调用API接口,直接连接RDS数据库即可获取订单退款退货数据;

 

3.3.3优化效果

某ERP软件服务商日均调用API约7600万次,采用RDS退款退货数据推送,应用API总调用量下降了2.85%;

 

 

 

3.4 订单催付

3.4.1场景说明

n  获取卖家店铺订单列表,通过订单中买家的收货人信息,补全CRM应用店铺会员基本信息:例如手机,邮箱,收货地址。

n  卖家可以设置一套规则,例如:商品在拍下半小时内没有付款的进行短信摧付,当前时间与拍下时间差达到卖家在系统里设置的催付时间,系统在发送催付短信前须调用API去确认订单最新状态(不能出现买家已经付款再次发送催付短信)

3.4.2优化方案

 

?  优化前:使用API同步:

某CRM应用服务商采用API轮循方式获取订单数据补全店铺会员基本信息,日均产生3800多万次API调用。

(1)同步订单列表:每隔15分钟定时调用taobao.trades.sold.get获取已卖出的订单列表,通过订单ID调用taobao.trade.fullinfo.get获取订单详情补全店铺会员基本信息;

(2)未付款订单催付:根据商家设置催付规则,在发送催付提醒前,调用taobao.trade.get检查该订单是否未付款;

?  优化后:采用RDS数据同步(推荐使用):

使用聚石塔数据同步服务将授权店铺订单信息实时推送到RDS数据库,无须调用API接口,在发送短信催付前直接从RDS检查该订单付款状态。

 

3.4.3优化效果

 

某CRM应用服务商日均调用API约5786万次,采用RDS数据推送,应用API总调用量下降了66.1%;

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部