Author:蒋照平(武影)
本文作者将以亲历者讲述TOP(淘宝网开放平台),为大家揭开开放API的价值。
淘宝作为电子商务市场的超级航母,在电子商务基础服务领域,经过多年的沉淀和革新,围绕电子商务生态链的持续整合,形成了以营销、支付、物流和售后为核心的基础服务体系。
淘宝是一个电子商务的江湖,从整合核心的基础服务为起点,随着大淘宝战略的扬帆起航, TOP(淘宝开放平台)已经正式发布API族涵盖了用户、商品、产品、类目、交易、评价、物流、店铺、淘宝客、淘江湖、分销等不同专业领域的开放接口。
TOP(淘宝开放平台)以应用为服务主体,提供相应的API访问权限和流量控制策略。因而,对于开发者而言,需要根据应用定位,选择恰当的应用角色。目前淘宝开放平台应用角色,包括公开查询应用、买家应用、卖家应用、商家应用、高级应用、社区应用、媒体应用、淘宝客应用以及专业应用等, 点击了解每一类角色赋予的业务含义。
作为开发者,在面对如此丰富的API族面前,首先要赋予自己开发的应用一个明确定位,在应用方向的选择上作者建议:
l 围绕交易集市可以关注独立网店、社区植入商品、购物门户、比价购物等应用;
l 围绕电子商务企业系统集成可以关注进销存管理、分销渠道管理等应用;
l 围绕社区互动营销可以关注团购、限时竞拍、好友推荐等应用;
l 围绕店铺工具类可以关注店铺流量统计、销售分析、营销促销、批量工具等应用;
成功的应用,既要具备市场敏锐性的嗅觉,同时因站在开放API的肩膀上,需要了解开放API的基本体系架构。
下面作者以一个完整的正向交易流程为基础,希望能抛砖引玉,给有兴趣围绕电子商务构建应用的开发者提供快速上手。
提示:此图为ARIS 业务流程建模EPC图,绿色框表示一个活动, 紫色菱形框表示事件通知,黄色椭圆形表示企业组织单元或角色,圆形表示AND条件。
在上述业务流程图中,作者想特别强调一下“社区网站”这个角色以及“电子商务企业进销存/供应链等系统”。
为什么要强调“社区网站”?我们可以看到,在淘宝开放平台之上,交易集市不仅仅限于淘宝网站本身,而是可以让无数的购物门户、比价购物、社区SNS、独立网店等等延伸并拓展电子商务的销售通路,套用一句世界是平的,数量众多的交易集市就是拉平电子商务的那根线。
电子商务,是交易的一种延伸,因此站在电子商务企业的角度,业务流程集成是一种必然趋势,因此上图中“电子商务企业进销存/供应链等系统” 需要从系统集成和数据交换服务于业务流程集成。
开发者肯定会关心一个问题,上述业务流程,是否可以通过TOP(淘宝开放平台)完整实现?
答案是肯定的,上述业务流程结合了下文谈到的开放API 3种类型:REST API、PAGE API(页面级API)和NOTIFY API(异步消息API)。
上图已经划分了REST API的应用场合,如上架商品,开发者可以通过taobao.item.update或taobao.item.update.listing 此商品类API实现商品的上架等功能。
上图已经划分了PAGE API(页面级API)的应用场合,如付款、确认收货等涉及到资金流动的交易环节,通过页面级API,既能保证支付网关对支付客户端的安全性验证要求,同时确保用户在支付过程中密码、口令等机密数据不被第三方窃取、篡改,能有效的解决资金支付的安全性。
上图已经划分了NOTIFY API(异步消息API)的应用场合,如商品状态变更、买家已付款(订单的状态)等消息通知,可以通过NOTIFY API(异步消息API)直接订阅一系列主题(如商品、订单、评价、物流等)的变更消息。从上图可以看出,NOTIFY API是一种非常重要的触发流程机制,一个大卖家,一天可能有几千乃至几万笔订单,为了及时获取增量订单信息,NOTIFY API会作为必然的解决方案。
NOTIFY API HTTP请求与响应数据结构
HTTP请求数据包:
POST /fast HTTP/1.1 Content-Length: 577 Content-Type: application/x-www-form-urlencoded Host: localhost:8080 Connection: Keep-Alive
notifys=%7B%22notifys%22%3A%5B%7B%22created%22%3A%222009-07-21+14%3A31%3A28%22%2C%22obj_status%22%3A%22update%22%2C%22obj_content%22%3A%7B%22modified%22%3A%222009-07-21+14%3A31%3A28%22%2C%22buyer_nick%22%3A%22tbtest2%22%2C%22seller_nick%22%3A%22tbtest1%22%7D%2C%22obj_type%22%3A%22trade%22%2C%22obj_created%22%3A%222009-07-21+14%3A31%3A28%22%2C%22nick%22%3A%22tbtest1%22%2C%22id%22%3A%226f8dbc67-ec4e-4205-a8c0-9c0f01681a1d%22%2C%22obj_id%22%3A%2211562755%22%7D%5D%7D×tamp=2009-07-21+14%3A31%3A28&method=taobao.notify.item&sign=7D53142238AD8EF68AD7A3D55207A6F6&format=json&v=1.0 |
HTTP请求参数列表:
参数名称 |
参数值示例 |
参数描述 |
v |
1.0 |
版本号 |
format |
json/xml |
消息内容格式 |
sign |
7D53142238AD8EF68AD7A3D55207A6F6 |
签名 |
method |
taobao.notify.item |
方法名 |
timestamp |
2009-07-21 14:31:28 |
时间戳 |
notifys |
JSON或者XML数据 |
消息内容(包含一个或多个notify) |
HTTP响应数据包:
HTTP/1.1 200 OK Content-Length: 4 Server: Jetty(6.1.5)
true |
NOTIFY API消息示例数据
NOTIFY的JSON返回格式示例:
{ "notifys":[{ "id":"532d73fb-e458-471f-bdf6-f7e14017d5c8", "nick":"tbtest1", "created":"2009-07-21 14:56:04", "obj_id":"11562755", "obj_type":"trade", "obj_status":"update", "obj_created":"2009-07-21 14:56:04", "obj_content":{ "modified":"2009-07-21 14:56:04", "buyer_nick":"tbtest2", "seller_nick":"tbtest1" } }] } |
1 楼 HeroXuan 2009-11-27 17:17