资源描述
二、通信接口
2.1 公共数据部分
采用短链接的http协议进行通讯,提交方式为post和get两种方式,返回的数据类型为JSON
2.1.1 公共头部
所有接口请求均包含以下头信息(Http Request Header)
参数名称
类型
是否必须
参数值示例
说明
appkey
String
Y
123456
软件身份key
udid
String
Y
udid or imei
手机客户端的唯一标识
os
String
Y
Iphone os
操作系统名称
osversion
String
Y
5.0
操作系统版本
appversion
String
Y
1.0.0
APP版本
sourceid
String
Y
Yek_test
推广ID
ver
String
Y
0.9
通讯协议版本
userid
String
N
12345
用户ID
usersession
String
N
Cbaq4fxvb
登陆后得到的用户唯一性标识
unique
String
N
xvbvsfsgdsg
激活后得到的设备唯一性标识
所有通信均无加解密信息,参数解释:
appkey 身份标识,服务器端进行识别
udid 客户端硬件标识
os ios& android& WM7
osversion 5.0
appversion app发布版本
sourceid
ver
userid 登录完之后传客户端
usersession 登录标识
unique app自动激活后服务器返回标识
2.2.2 一些规范
a 错误码返回格式:
{
"response": "error",
"error": {
"text": "用户名不存在"
}
}
b type类型:
type
description
1
限时抢购
2
促销快报
3
新品上架
4
热门单品
5
推荐品牌
c 排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
d 商品列表
有很多种商品列表页,逻辑大同小异,但为了定位和区分统计,采用不同URL请求
e 请求类型:
一般情况下
抓取数据的请求,皆为GET
和服务器有交互的请求,皆为POST
2.2.3 请求host
初定请求host为
2.2 首页
发送方式
发送URL
备注
GET
/home
参数名称
描述
样例
无
服务器返回数据
描述
样例
模块
home_banner 轮转大图,点击进入专题商品列表页
home_classlist 多功能列表,按顺序限时
{
"response": "home"
"home_banner": //轮转大图 320*125
[
{
"id": 123, //专题id
"title": "活动1", //专题标题
"pic": "http://localhost/1.png" //专题图片URL
},
{
"id": 124,
"title": "活动2",
"pic": "http://localhost/1.png"
}
],
"home_classlist": [
{
"type": 1, //1为限时抢购
"id": 123, //限时抢购ID
"title": "限时抢购", //description
"pic": "http://localhost/1.png" //icon图片URL,点击进入/limitbuy
},
{
"type": 2, //2为促销快报
"title": "促销快报",
"pic": "http://localhost/2.png", //icon图片URL,点击进入/topic
},
{
"type": 3, //3为新品上架
"title": "新品上架",
"pic": "http://localhost/3.png", //icon图片URL,点击进入/newproduct
},
{
"type": 4, //4为热门单品
"title": "热门单品",
"pic": "http://localhost/4.png", //icon图片URL,点击进入/hotproduct
},
{
"type": 5, //5为新品上架
"title": "推荐品牌",
"pic": "http://localhost/5.png", //icon图片URL,点击进入/brand
}
],
}
2.3 搜索
2.3.1 搜索推荐
发送方式
发送URL
备注
GET
/search/recommend
参数名称
描述
样例
无
服务器返回数据
描述
样例
搜索页面调用获取推荐搜索词
搜索历史为本地的缓存
{
"response": "searchrecommend",
"search_keywords": [ //CMS定义推荐关键词,如无为空
"adidas",
"361",
"nike"
]
}
2.3.2 搜索商品列表
发送方式
发送URL
备注
GET
/search
参数名称
描述
样例
keyword
搜索关键字
keyword=奶粉
page
第几页
1
pageNum
每页多少个
10
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
服务器返回数据
描述
样例
搜索商品列表页
{
"response": "search",
"productlist": //搜索商品列表
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
}
],
"list_count":"1500" //商品总数
}
2.4 专题及品牌
2.4.1 促销快报
发送方式
发送URL
备注
GET
/topic
参数名称
描述
样例
page
第几页
1
pageNum
每页多少个
8
服务器返回数据
描述
样例
{
"response": "topic",
" topic ": [
{
"id": "专题活动ID",
"name": "专题活动名称",
"pic": "图片URL"
},
{
"id": "专题活动ID",
"name": "专题活动名称",
"pic": "图片URL"
}
]
}
2.4.2 推荐品牌
发送方式
发送URL
备注
GET
/brand
参数名称
描述
样例
无
服务器返回数据
描述
样例
CMS定制的推荐品牌
{
"response": "brand",
"brand": [
{
"key":"孕妈专区", //分区名称
"value":
[
{
"id": "1201" //品牌编号
"name": "ain", //品牌名称
"pic": "" //品牌图片URL
},
{
"id": "1201" //品牌编号
"name": "ain", //品牌名称
"pic": "" //品牌图片URL
}
]
},
{
"key":"营养食品",
"value":
[
{
"id": "1201" //品牌编号
"name": "ain", //品牌名称
"pic": "" //品牌图片URL
},
{
"id": "1201" //品牌编号
"name": "ain", //品牌名称
"pic": "" //品牌图片URL
}
]
}
]}
2.4.3 限时抢购
发送方式
发送URL
备注
GET
/limitbuy
参数名称
描述
样例
page
第几页
pageNum
每页个数
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
服务器返回数据
描述
样例
{
"response": "limitbuy",
"productlist":
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"price": "79", //会员价
"limitprice": "78", //限时特价
"lefttime": "3600" //剩余时间,单位为秒
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"price": "79", //会员价
"limitprice": "78", //限时特价
"lefttime": "3600" //剩余时间,单位为秒
}
] ,
"list_count":"1500" //商品总数
}
2.4.4 新品上架
发送方式
发送URL
备注
GET
/newproduct
参数名称
描述
样例
page
第几页
pageNum
每页个数
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
服务器返回数据
描述
样例
{
"response": "newproduct",
"productlist":
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", 1 //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
}
] ,
"list_count":"1500" //商品总数
}
2.4.5 热门单品
发送方式
发送URL
备注
GET
/hotproduct
参数名称
描述
样例
page
第几页
pageNum
每页个数
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
服务器返回数据
描述
样例
{
"response": "hotproduct",
"productlist":
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
}
] ,
"list_count":"1500" //商品总数
}
2.4.6 专题商品列表
发送方式
发送URL
备注
GET
/topic/plist
参数名称
描述
样例
page
第几页
1
pageNum
每页个数
10
id
专题ID
1234
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
服务器返回数据
描述
样例
{
"response": "topic_productlist",
"productlist":
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
}
] ,
"list_count":"1500" //商品总数
}
2.4.7 品牌商品列表
发送方式
发送URL
备注
GET
/brand/plist
参数名称
描述
样例
page
第几页
1
pageNum
每页个数
10
id
品牌ID
1234
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
服务器返回数据
描述
样例
{
"response": "brand_productlist",
"productlist":
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
}
] ,
"list_count":"1500" //商品总数
}
2.5 分类及详情
2.5.1 分类请求
发送方式
发送URL
备注
GET
/category
参数名称
描述
样例
version
版本号
1.0
服务器返回数据
描述
样例
一次性返回所有分类信息,服务器端根据传入版本号进行对比,如果没有更新,则version返回原版本号。当isleafnode为true时,表示是树状结构的叶子节点,可点击进入商品列表。
{"response":"category","category":[
{"id":"1","isleafnode":false,"name":"奶粉","parent_id":"0","pic":"","tag":"孕妇奶粉 幼儿奶粉"},
{"id":"11","isleafnode":false,"name":"孕妇奶粉","parent_id":"1","pic":""}
,
{"id":"111","isleafnode":false,"name":"三级分类111","parent_id":"11","pic":"" },
{"id":"12","isleafnode":false,"name":"1段","parent_id":"1","pic":"","tag":"二级分类描述2所有的分类在一个大集合中,如左侧红色字体的格式
"},
{"id":"121","isleafnode":false,"name":"三级分类121","parent_id":"12","pic":"","tag":"三级分类描述1"},
{"id":"13","isleafnode":false,"name":"2段","parent_id":"1","pic":"","tag":"二级分类描述3"} ],"version":"2"}
{
"response":"category",
"category":[
{
"id":"1",
"name":"奶粉",
"parent_id":"0",
"pic":"",
"tag":"孕妇奶粉 幼儿奶粉"
},
{
"id":"11",
"name":"孕妇奶粉",
"parent_id":"1",
"pic":"",
"tag":"二级分类描述1"
},
{
"id":"111",
"name":"三级分类111",
"parent_id":"11",
"pic":"",
"tag":"三级分类描述1"
},
{
"id":"12",
"name":"1段",
"parent_id":"1",
"pic":"",
"tag":"二级分类描述2"
},
{
"id":"121",
"name":"三级分类121",
"parent_id":"12",
"pic":"",
"tag":"三级分类描述1"
},
{
"id":"13",
"name":"2段",
"parent_id":"1",
"pic":"",
"tag":"二级分类描述3"
}
],
"version":"2"
}
{
"version": "10", //当前服务器最新版本
"response": "category",
"category": [ //所有分类
{
"id": 101, //分类ID
"name": "孕妈专区", //分类名称
"pic": "", //icon图片URL
"parant_id": 0, //父类ID
"isleafnode":false, //是否叶子节点
"tag":[ //一级分类下展示的标签
"妈妈内衣",
"祛纹纤体"
],
"sub_category": [
{
"id": 10101, //分类ID
"name": "孕产营养品\奶粉", //分类名称
"pic": "", //icon图片URL
"parant_id": 0, //父类ID
"isleafnode":true //是否叶子节点,叶子节点可点击进入分类列表页
}
]
},
{
"id": 102, //分类ID
"name": "婴幼食品", //分类名称
"pic": "", //icon图片URL
"parant_id": 0, //父类ID
"isleafnode":false, //是否叶子节点
"tag":[ //一级分类下展示的标签
"奶粉辅食",
"婴幼儿营养"
],
"sub_category": [
{
"id": 10201, //分类ID
"name": "孕产营养品\奶粉", //分类名称
"pic": "", //icon图片URL
"parant_id": 0, //父类ID
"isleafnode":true //是否叶子节点,叶子节点可点击进入分类列表页
}
]
}
]
}
2.5.2 商品列表
发送方式
发送URL
备注
GET
/productlist
参数名称
描述
样例
page
第几页
1
pageNum
每页个数
10
cId
分类ID
1010101
orderby
排序
sale_down(销量降序),price_up(价格升序),price_down(价格降序),comment_down(评价降序),shelves_down(上架降序)。目前只有价格有双向排序,其他都只有降序,其中默认为sale_down
filter
筛选
"c182d2" (两个条件) "c182d2t1" (三个条件)
服务器返回数据
描述
样例
{
"response": "category_productlist",
"productlist":
[
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
"comment_count":"23", //商品评论数加一个商品评论数属性
},
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"pic": "", //商品图片URL
"marketprice": "79", //市场价
"price": "78", //会员价
"comment_count":"23", //商品评论数
}
] ,
"list_count":"1500" //商品总数,
"list_filter":[ //筛选属性
{
"key":"颜色" //属性名称
"value":[ //属性值列表
{ "id":"t1", //标识
"name":"红色" //属性名称
},
{ "id":"t2",
"name":"绿色"
}
]
},
{
"key":"品牌"
"value":[
{ "id":"s1",
"name":"雅培"
},
{ "id":"s2",
"name":"雅士利"
}
]
}
]}
2.5.3 商品详情
发送方式
发送URL
备注
GET
/product
参数名称
描述
样例
pId
商品ID
1102539
服务器返回数据
描述
样例
a 一般情况下无子母码商品,如果有通过用户子母码属性交叉筛选能唯一确认ID。
b 商品详情内容较多,所以建议用户点击时单独请求处理
c 因子母码交叉属性都会引起商品价格不同,当用户确定属性之后需要实时请求服务器数据进行价格刷新
d 当颜色和尺码只有其一时,color_list或size_list信息为全。
{
"response": "product",
"product":
{
"id": "1102539", //商品ID
"name": "雅培金装", //商品名称
"marketPrice": "79", //市场价
"price": "78", //会员价
"limitPrice": "68", //限时抢购价
"leftTime": "3600" //剩余时间,单位为秒
"pic":[ //商品图片
"url",
"ur2"
],
"score": "4.5", //评分
"available": "yes/no", //是否可售
"buyLimit":"购买上限" //单品购买上限
"product_property": //子母码选择属性
{
"color_list":[ //其他颜色
{
"color":"红色",
"pId":"123121"
},
{
"color":"蓝色",
"pId":"123121"
}
],
"size_list":[ //尺码属性值列表
{
"size":"M", //尺码
"pId":"123121", //商品ID
"price":"45" //蓝色+M号价格 如果是特价则为特价
"marketPrice":"45" //蓝色+M号市场价格
"leftTime":"3600" // 限时抢购剩余时间
},
{
"size":"L"
"pId":"123121"
"price":"45" //蓝色+L号价格
"marketPrice":"45" //蓝色+L号市场价格
"leftTime":"3600" // 限时抢购剩余时间
}
],
},
"product_prom":[ //相关促销信息展示
"促销信息1",
"促销信息2",
],
"comment_count":"23", //商品评论数
"inventory_area":"可发送至", //配货说明
"bigPic":[ //商品大图
url1,
url2
],
}
2.5.4 商品属性变更
发送方式
发送URL
备注
GET
/product/zimuma
参数名称
描述
样例
pId
商品ID
1102539
color
颜色
白色
服务器返回数据
描述
样例
a 选择颜色的时候返回size_list
b 选择尺码只有价格变更
{
"response": "product_zimuma",
"product":{
"productId":"1102539",
"marketPrice": "79", //市场价
"price": "78", //会员价
"leftTime":"3600" // 限时抢购剩余时间
"size_list":[ //尺码属性值列表
{
"size":"M", //尺码
"pId":"123121", //商品ID
"price":"45" //蓝色+M号价格
"marketPrice":"45" //蓝色+L号市场价格
"leftTime":"3600" // 限时抢购剩余时间
},
{
"size":"L"
"pId":"123121",
"price":"45" //蓝色+M号价格
"marketPrice":"45" //蓝色+L号市场价格
"leftTime":"3600" // 限时抢购剩余时间
}
],
"pic":
展开阅读全文