H5好物推荐JSAPI
公众号H5开发者可通过微信JS-SDK的openBusinessView接口,将物品推荐微信圈子。
特别注意:微信JS-SDK需更新为1.5版本。
wx.openBusinessView接口
接口调用方法
调用openBusinessView接口前,判断当前用户的微信是否支持(iOS微信7.0.3及以上版本支持,安卓微信7.0.4及以上版本支持),另外小程序内嵌webview也可调用此API
wx.openBusinessView({
businessType: 'friendGoodsRecommend',
queryString: '',
success: function (res) {
},
fail: function (res){
}
})
###接口参数说明
属性 |
类型 |
必填 |
说明 |
businessType |
String |
是 |
固定值 friendGoodsRecommend |
queryString |
String |
是 |
公众号身份及物品信息,详见下文解释 |
success |
Function |
否 |
接口回调,回调参数详见下文 |
fail |
Function |
否 |
接口回调,回调参数详见下文 |
queryString示例
jsCheck=${encodeURIComponent(JSON.stringify(jsCheckObject))}&product=${encodeURIComponent(JSON.stringify(productObject))}
jsCheckObject示例
{
"appid": "",
"timestamp": 0,
"noncestr": "",
"signature": "",
"url": ""
}
jsCheckObject字段说明
属性 |
类型 |
必填 |
说明 |
appid |
String |
是 |
公众号的唯一标识,对应wx.config()的appid参数 |
timestamp |
Number |
是 |
生成签名的时间戳,对应wx.config()timestamp参数 |
noncestr |
String |
是 |
生成签名的随机串,对应wx.config()的noncestr参数 |
signature |
String |
是 |
签名,对应wx.config()的signature参数 |
url |
String |
是 |
当前页面的完整url除去’#'部分 |
productObject示例
{
"item_code": "00003563372839_00000010154601",
"title": "product_name",
"desc": "product_description",
"category_list": ["服装", "上衣", "短袖衬衫"],
"image_list": ["https://res.wx.qq.com/mpres/htmledition/images/xxxx.jpeg"],
"src_h5_path": "https://...",
"sku_list": [{
"sku_id": "1234567",
"price": 24000,
"original_price": 30000,
"poi_list": [
{
"longitude": 116.32676,
"latitude": 40.003305,
"radius": 4,
"business_name": "肯德基",
"branch_name": "珠江新城店",
"address": "新港中路123号"
}
],
"status": 1,
"sku_attr_list": [
{ "name": "颜色", "value": "白色" },
{ "name": "尺码", "value": "XXL" },
]
}],
"brand_info": {
"name": "westore官方店",
"icon": "logourl",
"phone": "phonenum"
}
}
productObject字段说明
属性 |
类型 |
必填 |
说明 |
item_code |
String |
是 |
物品的唯一标识 |
title |
String |
是 |
物品的名称 |
desc |
String |
否 |
物品描述 |
category_list |
String Array |
是 |
类目列表 |
image_list |
String Array |
是 |
物品高清图片url列表, 要求图片宽度大于750px,宽高比在4:3 - 1:1之间 |
src_h5_path |
String |
是 |
物品的H5落地页url |
brand_info |
Object |
否 |
物品所属店铺信息,非平台型商家选填,具体见brand_info字段说明 |
sku_list |
Object Array |
是 |
物品SKU列表,具体见sku_list字段说明 |
brand_info字段说明
属性 |
类型 |
必填 |
描述 |
name |
String |
否 |
商家名字 |
logo |
String |
否 |
商家logo |
phone |
String |
否 |
商家电话 |
sku_list字段说明
属性 |
类型 |
必填 |
描述 |
sku_id |
String |
是 |
商品的sku_id,需保证同个item_code下唯一 |
price |
Number |
是 |
单位为 分 的物品现价。大于等于0的整数 |
original_price |
Number |
是 |
单位为 分 的物品原价。大于等于0的整数 |
status |
Number |
是 |
物品状态。数字枚举值:1:在售; 2:下架; 3:售罄 |
poi_list |
Object Array |
否 |
门店的poi信息,具体见poi_list字段说明 |
sku_attr_list |
Object Array |
否 |
物品属性列表,具体见sku_attr_list字段说明 |
sku_attr_list字段说明
属性 |
类型 |
必填 |
描述 |
name |
String |
是 |
物品属性值名 |
value |
String |
是 |
物品属性值 |
poi_list字段说明
属性 |
类型 |
必填 |
描述 |
longitude |
Number |
是 |
门店的经度,WGS84标准 |
latitude |
Number |
是 |
门店的纬度,WGS84标准 |
radius |
Number |
是 |
门店可送达半径,单位km |
business_name |
String |
是 |
门店名称(仅为商户名,如:国美、麦当劳,不应包含地区、地址、分店名等信息,错误示例:北京国美),20个字符以内 |
branch_name |
String |
否 |
分店名称(不应包含地区信息,不应与门店名有重复,错误示例:北京王府井店),20个字符以内 |
address |
String |
是 |
门店地址(不包含省市区信息,如:新港中路123号) |
sku_attr_list字段说明
属性 |
类型 |
必填 |
描述 |
name |
String |
是 |
物品属性值名 |
value |
String |
是 |
物品属性值 |
接口回调说明
参数名 |
类型 |
说明 |
errCode |
Number |
错误码 |
errMsg |
String |
调用结果 |
extraData |
Object |
success回调时可能不为空 |
接口错误类型
errCode |
errMsg |
说明 |
0 |
success回调: ok |
用户点击左上角或点完成按钮返回 |
-1 |
fail回调: fail system error |
未知错误 |
-2 |
fail回调: fail request CGI error |
CGI 失败 |
-3 |
fail回调: fail cancel |
用户右滑返回或验证appid失败返回 |
-5 |
fail回调: fail parmameter error |
参数错误 |