本项目前后端接口规范和接口文档。
本项目没有采用Swagger技术,开发者可以自行集成。
注意:
- 以下API部分基于nideshop开源项目的API设计;
- 以下API是参考API,可能不是很合理,欢迎开发者交流。
- 接口文档处于开发中,如果发现接口描述和接口实际不对应,欢迎PR或者报告。
这里没有采用RESTful风格的接口,而是定义具体语义的接口。
目前只使用GET和POST来表示请求内容和更新内容两种语义。
GET API_URL?params
例如
GET /home/index
或者
GET /goods/list?page=1&limit=10
POST API_URL
{
body
}
例如
POST /cart/clear
或者
POST /goods/star
{
id: 1
}
当GET请求后端获取数组数据时,需要传递分页参数。
例如
GET /goods/list?page=1&limit=10&sort=add_time&order=desc
本项目的通用分页请求参数统一传递四个:
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
此外,这里四个参数是可选的,后端应该设置默认参数,因此即使前端不设置, 后端也会自动返回合适的对象数组响应数据。
注意:
这里的参数是需要后端支持的,在一些场景下,例如数组对象是组装而成, 有可能sort和order不支持。
讨论:
有些请求后端是所有数据,这里page和limit可能设置是无意义的。但是 仍然建议加上两个参数,例如page=1, limit=1000。
也就是说,请求后端数组数据时,同一传递四个分页参数,可能是比较良好的做法。
Content-Type: application/json;charset=UTF-8
{
body
}
而body是存在一定格式的json内容:
{
errno: xxx,
errmsg: xxx,,
data: {}
}
{
errno: xxx,
errmsg: xxx
}
{
errno: 0,
errmsg: "成功",,
}
{
errno: 0,
errmsg: "成功",,
data: {}
}
{
errno: 0,
errmsg: "成功",,
data: {
list: [],
total: XX
}
}
list是对象数组,total是总的数量。
前后端采用token来验证访问权限。
前端访问商场登录API/wx/auth/login或者管理后台登录API/admin/auth/login
POST /wx/auth/login
{
"username": "user123",
"password': "user123'
}
成功以后,会接收后端想要的一个token,
{
"errno": 0,
"data": {
"userInfo": {
"nickName": "user123",
"avatarUrl": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNTU3MzI2ODUwLCJ1c2VySWQiOjEsImlhdCI6MTU1NzMxOTY1MH0.XP0TuhupV_ttQsCr1KTaPZVlTbVzVOcnq_K0kXdbri0"
},
"errmsg": "成功"
}
请求受保护API则,则采用自定义头部携带此token
GET http://localhost:8080/wx/address/list
X-Litemall-Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNTU3MzM2ODU0LCJ1c2VySWQiOjIsImlhdCI6MTU1NzMyOTY1NH0.JY1-cqOnmi-CVjFohZMqK2iAdAH4O6CKj0Cqd5tMF3M
访问受保护商场API采用自定义X-Litemall-Token头部
访问受保护管理后台API则是自定义X-Litemall-Admin-Token头部。
API应该存在版本控制,以保证兼容性。
由于仍处于开发中,因此目前未引入版本控制。
这里定义一个API的格式:
应用场景
xxx
接口链接
xxx
请求参数
xxx
响应内容
xxx
错误码
xxx
接下来会分别从用户层面和管理员层面构建商场API服务和管理后台API服务。
商场API服务涉及
管理后台API服务涉及:
本节以GET、POST两种方式以及是否需要登录举例说明如何测试和使用本项目API。
开发者可以使用各种API测试命令或者工具,这里以Postman作为工具。
如果一个API是GET方法,那么请求参数需要在访问链接后面:
例如测试2.4.2节商品详情API
如果需要登录才能访问数据,则需要先向后端请求登录,得到token,然后请求时携带token。
例如测试2.8.1节收货地址列表API
如果没有登录,则返回未登录信息
因此测试这些API,需要先登录
然后,采用自定义X-Litemall-Token来携带token访问商场API
注意:
访问受保护商场API是采用自定义
X-Litemall-Token头部; 而访问受保护管理后台API则是自定义X-Litemall-Admin-Token头部。
通常POST请求后端时,都需要先登录才能有权限上传数据,因此这里不举例说明。
如果需要登录才能提交数据,则需要先向后端请求登录,得到token,然后请求时携带token。
因此测试这些API,需要先登录
然后,采用自定义X-Litemall-Token来携带token访问商场API
注意:
访问受保护商场API是采用自定义
X-Litemall-Token头部; 而访问受保护管理后台API则是自定义X-Litemall-Admin-Token头部。
为了保护API不被滥用,通常API需要引入保护机制,例如OAuth2。
本项目暂时无保护机制,因此实际上一旦开发者知道服务器,就很容易访问API。
当前API还存在一些问题,后面需要继续优化和完善。
无意义的通用字段
团购API完善
暂不支持Swagger,基于以下考虑:
在前后端分离项目中,依赖后端的Swagger来生成项目API似乎不是很理想, 这实际上把项目API设计工作过多地压在后端,同时前端也被迫依赖后端, 因为后端如果没有写好文档注解,前端不可能了解API的输入输出。
可能一种合理的做法应该这样: 项目初期前后端一起完成一个完整基本的API文档,定义好交互规范和具体API的行为,然后双方同时开始开发工作; 某个开发阶段,前端需要更多的数据或者新的API支持,此时也不需要立即联系后端(除非API产生破坏性变更), 而是暂时基于mock和自定义mock数据独立开发;之后,在合适阶段(可以按照项目规定,例如三天或者周五), 前后端再次沟通API的变更,后端了解需求后则可以接受、拒绝或者调整,当然变更必须要在API文档中体现和更新; 下一个开发阶段,前端和后端能够再次基于最新的API文档来调整自己代码。 最后项目测试时,只要前端对照API文档,后端也是对照API文档。
如果使用Swagger,为了得到完整的文档,需要在每一个方法前面加上多个文档注解,文档越是详尽,则注解越多, 造成代码不是很简洁。特别是具备代码属性的注解和Swagger文档注解混杂在一起,可能不是很好。
如果开发者需要Swagger,可以自行接入。
应用场景
小程序环境下微信登录。
接口链接
xxx
请求参数
xxx
响应内容
xxx
错误码
xxx
应用场景
微信登录
接口链接
xxx
请求参数
xxx
响应内容
xxx
错误码
xxx
应用场景
商品列表
接口链接
GET /wx/goods/list
请求参数
isNew: 是否新品,true或者false
isHot: 是否热卖商品,true或者false
keyword: 关键字,如果设置则查询是否匹配关键字
brandId: 品牌商ID,如果设置则查询品牌商所属商品
categoryId: 商品分类ID,如果设置则查询分类所属商品
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 11,
"pages": 6,
"limit": 2,
"page": 1,
"list": [
{
"id": 1181000,
"name": "母亲节礼物-舒适安睡组合",
"brief": "安心舒适是最好的礼物",
"picUrl": "http://yanxuan.nosdn.127.net/1f67b1970ee20fd572b7202da0ff705d.png",
"isNew": true,
"isHot": false,
"counterPrice": 2618.00,
"retailPrice": 2598.00
},
{
"id": 1116011,
"name": "蔓越莓曲奇 200克",
"brief": "酥脆奶香,甜酸回味",
"picUrl": "http://yanxuan.nosdn.127.net/767b370d07f3973500db54900bcbd2a7.png",
"isNew": true,
"isHot": true,
"counterPrice": 56.00,
"retailPrice": 36.00
}
],
"filterCategoryList": [
{
"id": 1005007,
"name": "锅具",
"keywords": "",
"desc": "一口好锅,炖煮生活一日三餐",
"pid": 1005001,
"iconUrl": "http://yanxuan.nosdn.127.net/4aab4598017b5749e3b63309d25e9f6b.png",
"picUrl": "http://yanxuan.nosdn.127.net/d2db0d1d0622c621a8aa5a7c06b0fc6d.png",
"level": "L2",
"sortOrder": 1,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 1008002,
"name": "布艺软装",
"keywords": "",
"desc": "各种风格软装装点你的家",
"pid": 1005000,
"iconUrl": "http://yanxuan.nosdn.127.net/8bbcd7de60a678846664af998f57e71c.png",
"picUrl": "http://yanxuan.nosdn.127.net/2e2fb4f2856a021bbcd1b4c8400f2b06.png",
"level": "L2",
"sortOrder": 6,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 1008008,
"name": "被枕",
"keywords": "",
"desc": "守护你的睡眠时光",
"pid": 1005000,
"iconUrl": "http://yanxuan.nosdn.127.net/927bc33f7ae2895dd6c11cf91f5e3228.png",
"picUrl": "http://yanxuan.nosdn.127.net/b43ef7cececebe6292d2f7f590522e05.png",
"level": "L2",
"sortOrder": 2,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 1008009,
"name": "床品件套",
"keywords": "",
"desc": "MUJI等品牌制造商出品",
"pid": 1005000,
"iconUrl": "http://yanxuan.nosdn.127.net/243e5bf327a87217ad1f54592f0176ec.png",
"picUrl": "http://yanxuan.nosdn.127.net/81f671bd36bce05d5f57827e5c88dd1b.png",
"level": "L2",
"sortOrder": 4,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 1008015,
"name": "糕点",
"keywords": "",
"desc": "四季糕点,用心烘焙",
"pid": 1005002,
"iconUrl": "http://yanxuan.nosdn.127.net/93168242df456b5f7bf3c89653b3db76.png",
"picUrl": "http://yanxuan.nosdn.127.net/66ea1d6ad602a8e441af7cada93bdc7a.png",
"level": "L2",
"sortOrder": 1,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 1012003,
"name": "文具",
"keywords": "",
"desc": "找回书写的力量",
"pid": 1012000,
"iconUrl": "http://yanxuan.nosdn.127.net/e1743239e41ca9af76875aedc73be7f0.png",
"picUrl": "http://yanxuan.nosdn.127.net/e074795f61a83292d0f20eb7d124e2ac.png",
"level": "L2",
"sortOrder": 1,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 1020003,
"name": "服饰",
"keywords": "",
"desc": "萌宝穿搭,柔软舒适触感",
"pid": 1011000,
"iconUrl": "http://yanxuan.nosdn.127.net/4e50f3c4e4d0a64cd0ad14cfc0b6bd17.png",
"picUrl": "http://yanxuan.nosdn.127.net/004f5f96df4aeb0645abbd70c0637239.png",
"level": "L2",
"sortOrder": 1,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
商品详情
接口链接
GET /wx/goods/detail
请求参数
id: 商品ID,例如id=1152008
响应内容
{
"errno": 0,
"data": {
"specificationList": [
{
"name": "规格",
"valueList": [
{
"id": 231,
"goodsId": 1152008,
"specification": "规格",
"value": "标准",
"picUrl": "",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}
]
}
],
"groupon": [],
"issue": [
{
"id": 1,
"question": "购买运费如何收取?",
"answer": "单笔订单金额(不含运费)满88元免邮费;不满88元,每单收取10元运费。\n(港澳台地区需满",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 2,
"question": "使用什么快递发货?",
"answer": "严选默认使用顺丰快递发货(个别商品使用其他快递),配送范围覆盖全国大部分地区(港澳台地区除",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 3,
"question": "如何申请退货?",
"answer": "1.自收到商品之日起30日内,顾客可申请无忧退货,退款将原路返还,不同的银行处理时间不同,",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 4,
"question": "如何开具发票?",
"answer": "1.如需开具普通发票,请在下单时选择“我要开发票”并填写相关信息(APP仅限2.4.0及以",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}
],
"userHasCollect": 0,
"shareImage": "",
"comment": {
"data": [],
"count": 0
},
"attribute": [],
"brand": {},
"productList": [
{
"id": 232,
"goodsId": 1152008,
"specifications": [
"标准"
],
"price": 29.00,
"number": 100,
"url": "http://yanxuan.nosdn.127.net/203cb83d93606865e3ddde57b69b9e9a.png",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}
],
"info": {
"id": 1152008,
"goodsSn": "1152008",
"name": "魔兽世界 部落 护腕 一只",
"categoryId": 1032000,
"brandId": 0,
"gallery": [
"http://yanxuan.nosdn.127.net/46bcddbc57e70bf5f36bdff9c9195c65.png",
"http://yanxuan.nosdn.127.net/46bcddbc57e70bf5f36bdff9c9195c65.png",
"http://yanxuan.nosdn.127.net/46bcddbc57e70bf5f36bdff9c9195c65.png",
"http://yanxuan.nosdn.127.net/46bcddbc57e70bf5f36bdff9c9195c65.png",
"http://yanxuan.nosdn.127.net/46bcddbc57e70bf5f36bdff9c9195c65.png"
],
"keywords": "",
"brief": "吸汗、舒适、弹性、防护、耐用",
"isOnSale": true,
"sortOrder": 7,
"picUrl": "http://yanxuan.nosdn.127.net/203cb83d93606865e3ddde57b69b9e9a.png",
"shareUrl": "",
"isNew": false,
"isHot": true,
"unit": "件",
"counterPrice": 49.00,
"retailPrice": 29.00,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false,
"detail": ""
}
},
"errmsg": "成功"
}
错误码
略
应用场景
针对某个商品推荐其他商品
接口链接
GET /wx/goods/related
请求参数
id: 商品ID,例如id=1152008
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 8,
"pages": 2,
"limit": 6,
"page": 1,
"list": [
{
"id": 1152004,
"name": "魔兽世界 蛋盾包 双肩包",
"brief": "伊利丹掉落,挤地铁神器",
"picUrl": "http://yanxuan.nosdn.127.net/8c93cef435d888bd79833777df1cd0c2.png",
"isNew": false,
"isHot": false,
"counterPrice": 419.00,
"retailPrice": 399.00
},
{
"id": 1152008,
"name": "魔兽世界 部落 护腕 一只",
"brief": "吸汗、舒适、弹性、防护、耐用",
"picUrl": "http://yanxuan.nosdn.127.net/203cb83d93606865e3ddde57b69b9e9a.png",
"isNew": false,
"isHot": true,
"counterPrice": 49.00,
"retailPrice": 29.00
},
{
"id": 1152009,
"name": "魔兽世界 联盟 护腕 一只",
"brief": "吸汗、舒适、弹性、防护、耐用",
"picUrl": "http://yanxuan.nosdn.127.net/ae6d41117717387b82dcaf1dfce0cd97.png",
"isNew": false,
"isHot": true,
"counterPrice": 49.00,
"retailPrice": 29.00
},
{
"id": 1152031,
"name": "魔兽世界-伊利丹颈枕眼罩套装",
"brief": "差旅好伴侣",
"picUrl": "http://yanxuan.nosdn.127.net/fd6e78a397bd9e9804116a36f0270b0a.png",
"isNew": false,
"isHot": true,
"counterPrice": 119.00,
"retailPrice": 99.00
},
{
"id": 1152095,
"name": "魔兽世界 联盟·暴风城 堡垒收纳盒",
"brief": "桌面整理神器",
"picUrl": "http://yanxuan.nosdn.127.net/c86b49f635fa141decebabbd0966a6ef.png",
"isNew": false,
"isHot": false,
"counterPrice": 519.00,
"retailPrice": 499.00
},
{
"id": 1152097,
"name": "魔兽世界 雷霆之怒逐风者的祝福之剑 雨伞",
"brief": "炫酷装备,可以背的雨伞",
"picUrl": "http://yanxuan.nosdn.127.net/532836444ae5eaec40b5810ca4f9b1e6.png",
"isNew": false,
"isHot": false,
"counterPrice": 419.00,
"retailPrice": 399.00
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
针对某个商品推荐其他商品
接口链接
GET /wx/goods/related
请求参数
响应内容
错误码
应用场景
在售商品总数
接口链接
GET /wx/goods/count
请求参数
无
响应内容
{
"errno": 0,
"data": 238,
"errmsg": "成功"
}
错误码
无
应用场景
订单列表
接口链接
请求参数
响应结果
错误码
略
应用场景
订单详情
接口链接
请求参数
响应结果
错误码
略
应用场景
创建新订单
接口链接
请求参数
响应结果
错误码
略
应用场景
取消订单
接口链接
请求参数
响应结果
错误码
略
应用场景
订单的微信预支付交易单
接口链接
请求参数
响应结果
{
errno: 0,
errmsg: "成功"
}
错误码
略
应用场景
用户收货地址列表
接口链接
GET /wx/address/list
请求参数
userId: 用户ID
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应结果
{
"errno": 0,
"data": {
"total": 1,
"pages": 1,
"limit": 1,
"page": 1,
"list": [
{
"id": 3,
"name": "d",
"userId": 2,
"province": "北京市",
"city": "市辖区",
"county": "东城区",
"addressDetail": "ddd",
"areaCode": "110101",
"tel": "13811111111",
"isDefault": true,
"addTime": "2019-05-06 14:17:32",
"updateTime": "2019-05-06 14:17:32",
"deleted": false
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
请求用户的收货地址详情
接口链接
GET /wx/address/detail
请求参数
userId: 用户ID
id: 收货地址ID
响应结果
{
errno: 0,
errmsg: "成功",,
data: {
id: 收货地址ID,
name: 收货人,
tel: 手机号
province: 省级行政区域,
city: 市级行政区域,
county: 区级行政区域,
addressDetail: 具体地址,
areaCode: 地址编码,
postalCode: 邮政编码
isDefault: 是否默认
}
}
错误码
略
应用场景
添加或者更新用户收货地址
接口链接
POST /wx/address/save
请求参数
id: 收货地址ID,如果是0则是添加,否则是更新
name: 收货人,
tel: 手机号
province: 省级行政区域,
city: 市级行政区域,
county: 区级行政区域,
addressDetail: 具体地址,
areaCode: 地址编码,
postalCode: 邮政编码
isDefault: 是否默认
例如
{
"id": 0,
"name": "xxx",
"tel": "13811111111",
"province": "北京市",
"city": "市辖区",
"county": "东城区",
"areaCode": "110101",
"addressDetail": "dddd",
"isDefault": true
}
响应结果
{
errno: 0,
errmsg: "成功",,
data: 3
}
错误码
略
应用场景
删除用户的某个收货地址
接口链接
POST /wx/address/delete
请求参数
id: 收货地址ID
响应结果
{
errno: 0,
errmsg: "成功"
}
错误码
略
应用场景
访问品牌商列表信息
接口链接
GET /wx/brand/list
请求参数
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 49,
"pages": 5,
"limit": 10,
"page": 1,
"list": [
{
"id": 1024000,
"name": "WMF制造商",
"desc": "严选找寻德国百年高端厨具WMF的制造商,\n选择拥有14年经验的不锈钢生产工厂,\n为你甄选事半功倍的优质厨具。",
"picUrl": "http://yanxuan.nosdn.127.net/2018e9ac91ec37d9aaf437a1fd5d7070.png",
"floorPrice": 9.90
},
{
"id": 1024001,
"name": "OBH制造商",
"desc": "严选寻找OBH品牌的制造商,打造精致厨具,\n韩国独资工厂制造,严格质检,品质雕琢\n力求为消费者带来全新的烹饪体验。",
"picUrl": "http://yanxuan.nosdn.127.net/bf3499ac17a11ffb9bb7caa47ebef2dd.png",
"floorPrice": 39.00
},
{
"id": 1024003,
"name": "Stoneline制造商",
"desc": "严选找寻德国经典品牌Stoneline的制造商,\n追踪工艺,考量细节,亲自试用,\n为你甄选出最合心意的锅具和陶瓷刀,下厨如神。",
"picUrl": "http://yanxuan.nosdn.127.net/3a44ae7db86f3f9b6e542720c54cc349.png",
"floorPrice": 9.90
},
{
"id": 1024006,
"name": "KitchenAid制造商",
"desc": "严选寻访KitchenAid品牌的制造商,\n采用德国LFGB认证食品级专用不锈钢,\n欧式简约设计,可靠安心,尽享下厨乐趣。",
"picUrl": "http://yanxuan.nosdn.127.net/e11385bf29d1b3949435b80fcd000948.png",
"floorPrice": 98.00
},
{
"id": 1034001,
"name": "Alexander McQueen制造商",
"desc": "为制造精致实用的高品质包包,\n严选团队选择Alexander McQueen制造商,\n严格筛选,带来轻奢优雅体验。",
"picUrl": "http://yanxuan.nosdn.127.net/db7ee9667d84cbce573688297586699c.jpg",
"floorPrice": 69.00
},
{
"id": 1023000,
"name": "PetitBateau小帆船制造商",
"desc": "为打造适合宝宝的婴童服装,\n严选团队寻找PetitBateau小帆船的品牌制造商,\n无荧光剂,国家A类标准,让宝宝穿的放心。",
"picUrl": "http://yanxuan.nosdn.127.net/1a11438598f1bb52b1741e123b523cb5.jpg",
"floorPrice": 36.00
},
{
"id": 1001000,
"name": "MUJI制造商",
"desc": "严选精选了MUJI制造商和生产原料,\n用几乎零利润的价格,剔除品牌溢价,\n让用户享受原品牌的品质生活。",
"picUrl": "http://yanxuan.nosdn.127.net/1541445967645114dd75f6b0edc4762d.png",
"floorPrice": 12.90
},
{
"id": 1001002,
"name": "内野制造商",
"desc": "严选从世界各地挑选毛巾,最终选择了为日本内野代工的工厂,追求毛巾的柔软度与功能性。品质比肩商场几百元的毛巾。",
"picUrl": "http://yanxuan.nosdn.127.net/8ca3ce091504f8aa1fba3fdbb7a6e351.png",
"floorPrice": 29.00
},
{
"id": 1001003,
"name": "Adidas制造商",
"desc": "严选找到为Adidas等品牌制造商,\n选取优质原材料,与厂方一起设计,\n为你提供好的理想的运动装备。",
"picUrl": "http://yanxuan.nosdn.127.net/335334d0deaff6dc3376334822ab3a2f.png",
"floorPrice": 49.00
},
{
"id": 1033003,
"name": "Armani制造商",
"desc": "严选团队携手国际标准化专业生产厂家,\n厂家长期为Armani、Alexander wang等知名品牌代工,\n专业进口设备,精密质量把控,精于品质居家体验。",
"picUrl": "http://yanxuan.nosdn.127.net/981e06f0f46f5f1f041d7de3dd3202e6.jpg",
"floorPrice": 199.00
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
访问单个品牌商详情信息
接口链接
GET /wx/brand/detail
请求参数
id: 品牌商ID,例如1001020
响应内容
{
"errno": 0,
"data": {
"id": 1001020,
"name": "Ralph Lauren制造商",
"desc": "我们与Ralph Lauren Home的制造商成功接洽,掌握先进的生产设备,传承品牌工艺和工序。追求生活品质的你,值得拥有。",
"picUrl": "http://yanxuan.nosdn.127.net/9df78eb751eae2546bd3ee7e61c9b854.png",
"sortOrder": 20,
"floorPrice": 29.00,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
"errmsg": "成功"
}
错误码
略
应用场景
收藏列表
接口链接
GET /wx/collect/list
请求参数
type: 收藏类型,如果是0则是商品收藏,如果是1则是专题收藏
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 2,
"pages": 1,
"limit": 10,
"page": 1,
"list": [
{
"brief": "酥脆奶香,甜酸回味",
"picUrl": "http://yanxuan.nosdn.127.net/767b370d07f3973500db54900bcbd2a7.png",
"valueId": 1116011,
"name": "蔓越莓曲奇 200克",
"id": 3,
"type": 0,
"retailPrice": 36.00
},
{
"brief": "MUJI供应商携手打造",
"picUrl": "http://yanxuan.nosdn.127.net/c5be2604c0e4186a4e7079feeb742cee.png",
"valueId": 1109008,
"name": "云端沙发组合",
"id": 2,
"type": 0,
"retailPrice": 3999.00
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
用户收藏添加或删除
说明
如果用户已经收藏,则请求API会删除已收藏商品或专题;
如果用户未收藏,则请求API会添加新的商品或专题收藏记录。
接口链接
POST /wx/collect/addordelete
请求参数
type: 收藏类型,如果是0则是商品收藏,如果是1则是专题收藏
valueId: 收藏对象ID,如果type=0则设置商品ID,如果type=1则设置专题ID
例如
{
"type": 0,
"valueId": 1116011
}
响应内容
错误码
略
应用场景
某个商品或者专题的评论数量,包括总的评论数量和包含图片的评论数量
接口链接
GET /wx/comment/count
请求参数
type: 评论类型,如果是0则是商品评论,如果是1则是专题评论
valueId: 评论对象ID,如果type=0,则设置商品ID,如果type=0,则设置专题ID
响应内容
{
"errno": 0,
"data": {
"hasPicCount": 34,
"allCount": 96
},
"errmsg": "成功"
}
错误码
无
应用场景
某个商品或者专题的评论列表
接口链接
GET /wx/comment/list
请求参数
valueId=1181000&type=0&limit=20&page=1&showType=0
type: 评论类型,如果是0则是商品评论,如果是1则是专题评论
valueId: 评论对象ID,如果type=0,则设置商品ID,如果type=0,则设置专题ID
showType: 评论显示类型,如果是0则是所有评论,如果是1则是包含图片的评论
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 96,
"pages": 20,
"limit": 5,
"page": 1,
"list": [
{
"userInfo": {
"nickName": "user123",
"avatarUrl": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"addTime": "2018-02-01 00:00:00",
"picList": [
"https://yanxuan.nosdn.127.net/218783173f303ec6d8766810951d0790.jpg"
],
"content": "布料很厚实,触感不错,洗过之后不缩水不掉色"
},
{
"userInfo": {
"nickName": "user123",
"avatarUrl": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"addTime": "2018-02-01 00:00:00",
"picList": [
"https://yanxuan.nosdn.127.net/33978a0d6f56d94c45e4fc594b4b8606.jpg"
],
"content": "料子很舒服,凉凉的,配合蚕丝被,夏天很凉快~"
},
{
"userInfo": {
"nickName": "user123",
"avatarUrl": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"addTime": "2018-02-01 00:00:00",
"picList": [
"https://yanxuan.nosdn.127.net/d3975d1b6d88e9f9d762cd9a879d1a14.jpg"
],
"content": "一直喜欢粗布的床上用品。冬暖夏凉。这套看起来非常漂亮。实际感觉有点粗布的感觉。很好!"
},
{
"userInfo": {
"nickName": "user123",
"avatarUrl": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"addTime": "2018-02-01 00:00:00",
"picList": [
"https://yanxuan.nosdn.127.net/5fe1121396458cfe0dc1b25ec86f7ff9.jpg",
"https://yanxuan.nosdn.127.net/d5a55abd6ced5c811d775b04929aaabc.jpg",
"https://yanxuan.nosdn.127.net/f1764d820ba6ddaf51d297e3cf3826cd.jpg"
],
"content": "太好了,舒服的不得了,腰,腿,脊柱,头,颈椎!\n无一处不舒服,真没想到这么优惠!\n搬了新家还要买!"
},
{
"userInfo": {
"nickName": "user123",
"avatarUrl": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"addTime": "2018-02-01 00:00:00",
"picList": [
"https://yanxuan.nosdn.127.net/f753f91430dfb56f574c737d4b2fde46.jpg"
],
"content": "抱着试试的态度 先买了小的 果然感觉很舒服 深陷其中 把自己全身心都给了它 第二个床垫已经在路上"
}
]
},
"errmsg": "成功"
}
错误码
无
应用场景
针对某个商品或者专题的发表评论
接口链接
请求参数
响应内容
错误码
略
应用场景
用户足迹列表
接口链接
GET /wx/footprint/list
请求参数
page: 请求页码
limit: 每一页数量
响应内容
{
"errno": 0,
"data": {
"total": 22,
"pages": 6,
"limit": 4,
"page": 1,
"list": [
{
"brief": "酥脆奶香,甜酸回味",
"picUrl": "http://yanxuan.nosdn.127.net/767b370d07f3973500db54900bcbd2a7.png",
"addTime": "2019-05-09 10:10:01",
"goodsId": 1116011,
"name": "蔓越莓曲奇 200克",
"id": 22,
"retailPrice": 36.00
},
{
"brief": "MUJI供应商携手打造",
"picUrl": "http://yanxuan.nosdn.127.net/c5be2604c0e4186a4e7079feeb742cee.png",
"addTime": "2019-05-09 10:09:49",
"goodsId": 1109008,
"name": "云端沙发组合",
"id": 21,
"retailPrice": 3999.00
},
{
"brief": "酥脆奶香,甜酸回味",
"picUrl": "http://yanxuan.nosdn.127.net/767b370d07f3973500db54900bcbd2a7.png",
"addTime": "2019-05-08 22:40:55",
"goodsId": 1116011,
"name": "蔓越莓曲奇 200克",
"id": 20,
"retailPrice": 36.00
},
{
"brief": "MUJI供应商携手打造",
"picUrl": "http://yanxuan.nosdn.127.net/c5be2604c0e4186a4e7079feeb742cee.png",
"addTime": "2019-05-07 14:35:41",
"goodsId": 1109008,
"name": "云端沙发组合",
"id": 19,
"retailPrice": 3999.00
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
用户足迹删除
接口链接
POST /wx/footprint/delete
请求参数
id: 用户足迹ID
响应内容
{
"errno": 0,
"errmsg": "成功"
}
错误码
略
注意
团购业务还不完善
应用场景
参加团购的商品列表信息
接口链接
请求参数
响应内容
错误码
略
应用场景
团购活动详情
接口链接
请求参数
响应内容
错误码
略
应用场景
参加团购的商品列表信息
接口链接
请求参数
响应内容
错误码
略
应用场景
用户参团列表
接口链接
请求参数
响应内容
错误码
略
应用场景
帮助列表
接口链接
GET /wx/issue/list
请求参数
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 4,
"pages": 1,
"limit": 10,
"page": 1,
"list": [
{
"id": 1,
"question": "购买运费如何收取?",
"answer": "单笔订单金额(不含运费)满88元免邮费;不满88元,每单收取10元运费。\n(港澳台地区需满",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 2,
"question": "使用什么快递发货?",
"answer": "严选默认使用顺丰快递发货(个别商品使用其他快递),配送范围覆盖全国大部分地区(港澳台地区除",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 3,
"question": "如何申请退货?",
"answer": "1.自收到商品之日起30日内,顾客可申请无忧退货,退款将原路返还,不同的银行处理时间不同,",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
},
{
"id": 4,
"question": "如何开具发票?",
"answer": "1.如需开具普通发票,请在下单时选择“我要开发票”并填写相关信息(APP仅限2.4.0及以",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}
]
},
"errmsg": "成功"
}
错误码
无
应用场景
访问专题列表信息
接口链接
GET /wx/topic/list
请求参数
page: 请求页码
limit: 每一页数量
sort: 排序字段
order: 升序降序
响应内容
{
"errno": 0,
"data": {
"total": 20,
"pages": 2,
"limit": 10,
"page": 1,
"list": [
{
"id": 264,
"title": "设计师们推荐的应季好物",
"subtitle": "原创设计春款系列上新",
"price": 29.90,
"readCount": "77.7k",
"picUrl": "https://yanxuan.nosdn.127.net/14918201901050274.jpg"
},
{
"id": 266,
"title": "一条丝巾就能提升时髦度",
"subtitle": "不知道大家对去年G20时,严选与国礼制造商一起推出的《凤凰于飞》等几款丝巾是否还...",
"price": 0.00,
"readCount": "35.0k",
"picUrl": "https://yanxuan.nosdn.127.net/14919007135160213.jpg"
},
{
"id": 268,
"title": "米饭好吃的秘诀:会呼吸的锅",
"subtitle": "今年1月份,我们联系到了日本伊贺地区的长谷园,那里有着180年伊贺烧历史的窑厂。...",
"price": 0.00,
"readCount": "33.3k",
"picUrl": "https://yanxuan.nosdn.127.net/14920623353130483.jpg"
},
{
"id": 271,
"title": "选式新懒人",
"subtitle": "懒出格调,懒出好生活。",
"price": 15.00,
"readCount": "57.7k",
"picUrl": "https://yanxuan.nosdn.127.net/14924199099661697.jpg"
},
{
"id": 272,
"title": "料理也要精细简单",
"subtitle": "享受天然的味道,日子每天都好新鲜",
"price": 69.00,
"readCount": "125.6k",
"picUrl": "https://yanxuan.nosdn.127.net/14925200530030186.jpg"
},
{
"id": 274,
"title": "没有软木拖,怎么过夏天",
"subtitle": "刚入四月,杭州的气温就已升高至30度。店庆时买了软木拖的用户,陆续发回评价说,很...",
"price": 0.00,
"readCount": "46.4k",
"picUrl": "https://yanxuan.nosdn.127.net/14925822213780237.jpg"
},
{
"id": 277,
"title": "治愈生活的满怀柔软",
"subtitle": "太鼓抱枕的上架历程,是从失踪开始的。由于表面的绒感,最初它被安排在秋冬季上架。某...",
"price": 0.00,
"readCount": "19.6k",
"picUrl": "https://yanxuan.nosdn.127.net/14926737925770587.jpg"
},
{
"id": 281,
"title": "条纹新风尚",
"subtitle": "经典百搭,时尚线条",
"price": 29.00,
"readCount": "76.5k",
"picUrl": "https://yanxuan.nosdn.127.net/14926859849200826.jpg"
},
{
"id": 282,
"title": "成就一室笋香",
"subtitle": "三石哥办公室常备小食推荐",
"price": 12.00,
"readCount": "40.9k",
"picUrl": "https://yanxuan.nosdn.127.net/14927695046601069.jpg"
},
{
"id": 283,
"title": "孩子成长中少不了的一双鞋",
"subtitle": "说起毛毛虫鞋,好处实在太多了,作为一个2岁孩子的宝妈选品员,按捺不住想告诉大家,...",
"price": 0.00,
"readCount": "42.5k",
"picUrl": "https://yanxuan.nosdn.127.net/14927748974441080.jpg"
}
]
},
"errmsg": "成功"
}
错误码
略
应用场景
单个专题详情信息
接口链接
GET /wx/topic/detail
请求参数
id: 专题ID,例如 id=264
响应内容
{
"errno": 0,
"data": {
"topic": {
"id": 264,
"title": "设计师们推荐的应季好物",
"subtitle": "原创设计春款系列上新",
"price": 29.90,
"readCount": "77.7k",
"picUrl": "https://yanxuan.nosdn.127.net/14918201901050274.jpg",
"sortOrder": 0,
"goods": [],
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false,
"content": ""
},
"goods": []
},
"errmsg": "成功"
}
错误码
略
应用场景
基于某个专题推荐其他专题
接口链接
GET /wx/topic/related
请求参数
id: 专题ID,例如 id=264
响应内容
{
"errno": 0,
"data": {
"total": 19,
"pages": 5,
"limit": 4,
"page": 1,
"list": [
{
"id": 266,
"title": "一条丝巾就能提升时髦度",
"subtitle": "不知道大家对去年G20时,严选与国礼制造商一起推出的《凤凰于飞》等几款丝巾是否还...",
"price": 0.00,
"readCount": "35.0k",
"picUrl": "https://yanxuan.nosdn.127.net/14919007135160213.jpg",
"sortOrder": 0,
"goods": [],
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false,
"content": "\u003cimg src\u003d\"//yanxuan.nosdn.127.net/75c55a13fde5eb2bc2dd6813b4c565cc.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/e27e1de2b271a28a21c10213b9df7e95.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/9d413d1d28f753cb19096b533d53418d.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/64b0f2f350969e9818a3b6c43c217325.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/a668e6ae7f1fa45565c1eac221787570.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/0d4004e19728f2707f08f4be79bbc774.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/79ee021bbe97de7ecda691de6787241f.jpg\"\u003e"
},
{
"id": 268,
"title": "米饭好吃的秘诀:会呼吸的锅",
"subtitle": "今年1月份,我们联系到了日本伊贺地区的长谷园,那里有着180年伊贺烧历史的窑厂。...",
"price": 0.00,
"readCount": "33.3k",
"picUrl": "https://yanxuan.nosdn.127.net/14920623353130483.jpg",
"sortOrder": 0,
"goods": [],
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false,
"content": "\u003cimg src\u003d\"//yanxuan.nosdn.127.net/75c55a13fde5eb2bc2dd6813b4c565cc.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/e27e1de2b271a28a21c10213b9df7e95.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/9d413d1d28f753cb19096b533d53418d.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/64b0f2f350969e9818a3b6c43c217325.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/a668e6ae7f1fa45565c1eac221787570.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/0d4004e19728f2707f08f4be79bbc774.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/79ee021bbe97de7ecda691de6787241f.jpg\"\u003e"
},
{
"id": 271,
"title": "选式新懒人",
"subtitle": "懒出格调,懒出好生活。",
"price": 15.00,
"readCount": "57.7k",
"picUrl": "https://yanxuan.nosdn.127.net/14924199099661697.jpg",
"sortOrder": 0,
"goods": [],
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false,
"content": "\u003cimg src\u003d\"//yanxuan.nosdn.127.net/75c55a13fde5eb2bc2dd6813b4c565cc.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/e27e1de2b271a28a21c10213b9df7e95.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/9d413d1d28f753cb19096b533d53418d.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/64b0f2f350969e9818a3b6c43c217325.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/a668e6ae7f1fa45565c1eac221787570.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/0d4004e19728f2707f08f4be79bbc774.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/79ee021bbe97de7ecda691de6787241f.jpg\"\u003e"
},
{
"id": 272,
"title": "料理也要精细简单",
"subtitle": "享受天然的味道,日子每天都好新鲜",
"price": 69.00,
"readCount": "125.6k",
"picUrl": "https://yanxuan.nosdn.127.net/14925200530030186.jpg",
"sortOrder": 0,
"goods": [],
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false,
"content": "\u003cimg src\u003d\"//yanxuan.nosdn.127.net/75c55a13fde5eb2bc2dd6813b4c565cc.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/e27e1de2b271a28a21c10213b9df7e95.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/9d413d1d28f753cb19096b533d53418d.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/64b0f2f350969e9818a3b6c43c217325.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/a668e6ae7f1fa45565c1eac221787570.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/0d4004e19728f2707f08f4be79bbc774.jpg\"\u003e\n \u003cimg src\u003d\"//yanxuan.nosdn.127.net/79ee021bbe97de7ecda691de6787241f.jpg\"\u003e"
}
]
},
"errmsg": "成功"
}
略