淘宝风格的API设计 (命名风格)
淘宝风格的API设计 (命名风格):
命令风格:
1、对象=>方法
1、对象=>方法
2、对象=>属性=>方法
3、对象=>子对象=>方法
4、对象=>子对象=>子对象属性=>方法
方法 = CURD:add, get, update, delete [ list, list.get ]
对象风格:
对象、属性、方法一般都是单个英文单词
严格区分单数复数形式,单数表示对象,复数表示对象集合
下面为淘宝部分API命名(括号内名称是本人感觉更好的命名):
/* 一个想法: 如果每个API,能够反转对象和方法,该多美妙?比如: */ taobao.user.get => user::get(); taobao.users.list.get => user::getList(); taobao.item.add => item::add(); taobao.item.delete => item::delete(); taobao.item.get => item::get(); taobao.item.img.delete => item::deleteImg(); taobao.item.img.upload => item::uploadImg(); taobao.item.sku.delete => item::deleteSku(); taobao.item.sku.get => item::getSku(); taobao.item.sku.price.update => item::updateSkuPrice(); taobao.item.sku.update => item::updateSku(); alipay.user.account.freeze.get => user::getAccountFreeze(); alipay.user.trade.search => user::searchTrade(); // 更优的是: user::getTrade(); //用户 taobao.user.get 获取单个用户信息 taobao.users.get 获取多个用户信息 (taobao.users.list.get) //类目 taobao.itemcats.authorize.get 查询商家被授权品牌列表和类目列表 taobao.itemcats.get 获取后台供卖家发布商品的标准商品类目 taobao.itemcats.increment.get 增量获取后台类目数据 taobao.itemprops.get 获取标准商品类目属性 (taobao.itemcats.props.get) taobao.itempropvalues.get 获取标准类目属性值 (taobao.itemcats.propvalues.get) taobao.shopcats.list.get 获取前台展示的店铺类目 taobao.topats.itemcats.get 全量获取后台类目数据 (taobao.itemcats.topats.get) //商品 taobao.aftersale.get 查询用户售后服务模板 taobao.item.add 添加一个商品 taobao.item.delete 删除单条商品 taobao.item.get 得到单个商品信息 taobao.item.img.delete 删除商品图片 taobao.item.img.upload 添加商品图片 taobao.item.joint.img 商品关联子图 (taobao.item.img.joint) taobao.item.joint.propimg 商品关联属性图 (taobao.item.propimg.joint) taobao.item.price.update 更新商品价格 taobao.item.propimg.delete 删除属性图片 taobao.item.propimg.upload 添加或修改属性图片 taobao.item.quantity.update 宝贝/SKU库存修改 taobao.item.recommend.add 橱窗推荐一个商品 taobao.item.recommend.delete 取消橱窗推荐一个商品 taobao.item.sku.add 添加SKU taobao.item.sku.delete 删除SKU taobao.item.sku.get 获取SKU taobao.item.sku.price.update 更新商品SKU的价格 taobao.item.sku.update 更新SKU信息 taobao.item.skus.get 根据商品ID列表获取SKU信息 taobao.item.templates.get 获取用户宝贝详情页模板名称 taobao.item.update 更新商品信息 taobao.item.update.delisting 商品下架 (taobao.item.delisting) //selected taobao.item.update.listing 一口价商品上架 (taobao.item.listing) //selected taobao.items.custom.get 根据外部ID取商品 taobao.items.inventory.get 得到当前会话用户库存中的商品列表 taobao.items.list.get 批量获取商品信息 taobao.items.onsale.get 获取当前会话用户出售中的商品列表 taobao.product.add 上传一个产品,不包括产品非主图和属性图片 taobao.product.get 获取一个产品的信息 taobao.product.img.delete 删除产品非主图 taobao.product.img.upload 上传单张产品非主图,如果需要传多张,可调多次 taobao.product.propimg.delete 删除产品属性图 taobao.product.propimg.upload 上传单张产品属性图片,如果需要传多张,可调多次 taobao.product.update 修改一个产品,可以修改主图,不能修改子图片 taobao.products.get 获取产品列表 taobao.products.search 搜索产品信息 taobao.skus.custom.get 根据外部ID取商品SKU taobao.skus.quantity.update SKU库存修改 taobao.ump.promotion.get 商品优惠详情查询 //交易 taobao.topats.trades.fullinfo.get 异步批量获取交易订单详情 taobao.topats.trades.sold.get 异步获取三个月内已卖出的交易详情(支持超大卖家) taobao.trade.amount.get 交易订单帐务查询 taobao.trade.close 卖家关闭一笔交易 taobao.trade.confirmfee.get 获取交易确认收货费用 taobao.trade.fullinfo.get 获取单笔交易的详细信息 taobao.trade.get 获取单笔交易的部分信息(性能高) taobao.trade.memo.add 对一笔交易添加备注 taobao.trade.memo.update 修改一笔交易备注 taobao.trade.ordersku.update 更新交易订单的销售属性 taobao.trade.postage.update 修改订单邮费价格 taobao.trade.receivetime.delay 延长交易收货时间 taobao.trade.shippingaddress.update 更改交易的收货地址 taobao.trade.snapshot.get 交易快照查询 taobao.trades.sold.get 搜索当前会话用户作为卖家已卖出的交易数据 taobao.trades.sold.increment.get 搜索当前会话用户作为卖家已卖出的增量交易数据 //评价 taobao.traderate.add 新增单个评价 taobao.traderate.explain.add 商城评价解释接口 taobao.traderate.list.add 针对父子订单新增批量评价 taobao.traderates.get 搜索评价信息 //物流 taobao.areas.get 查询地址区域 taobao.delivery.template.add 新增运费模板 taobao.delivery.template.delete 删除运费模板 taobao.delivery.template.get 获取用户指定运费模板信息 taobao.delivery.template.update 修改运费模板 taobao.delivery.templates.get 获取用户下所有模板 taobao.logistics.address.add 卖家地址库新增接口 taobao.logistics.address.modify 卖家地址库修改 taobao.logistics.address.remove 删除卖家地址库 taobao.logistics.address.search 查询卖家地址库 taobao.logistics.companies.get 查询物流公司信息 taobao.logistics.dummy.send 无需物流(虚拟)发货处理 taobao.logistics.offline.send 自己联系物流(线下物流)发货 taobao.logistics.online.cancel 取消物流订单接口 taobao.logistics.online.confirm 确认发货通知接口 taobao.logistics.online.send 在线订单发货处理(支持货到付款) taobao.logistics.orders.detail.get 批量查询物流订单,返回详细信息 taobao.logistics.orders.get 批量查询物流订单 taobao.logistics.orderstore.push 物流订单仓内信息推送接口 taobao.logistics.ordertrace.push 物流订单流转信息推送接口 taobao.logistics.partners.get 查询支持起始地到目的地范围的物流公司 taobao.logistics.trace.search 物流流转信息查询 taobao.topats.delivery.send 异步批量物流发货 //店铺API taobao.sellercats.list.add 添加卖家自定义类目 taobao.sellercats.list.get 获取前台展示的店铺内卖家自定义商品类目 taobao.sellercats.list.update 更新卖家自定义类目 taobao.shop.get 获取卖家店铺的基本信息 taobao.shop.remainshowcase.get 获取卖家店铺剩余橱窗数量 taobao.shop.update 更新店铺基本信息 //支付宝 alipay.ebpp.bill.add 创建账单 alipay.ebpp.bill.get 查询账单 alipay.ebpp.bill.pay 支付账单 alipay.topats.user.accountreport.get 查询用户支付宝账务明细 alipay.user.account.freeze.get 查询支付宝账户冻结金额 alipay.user.account.get 查询支付宝账户余额 alipay.user.contract.get 查询支付宝用户订购信息 alipay.user.trade.search 查询支付宝账户消费明细

浙公网安备 33010602011771号