微信门店小程序接口
目录
微信门店小程序接口文档
一、简介须知
二、权限须知
三、门店接口概览
四、接口开发
1.拉取门店小程序类目
2.创建门店小程序
3.查询门店小程序审核结果
4.修改门店小程序信息
5.从腾讯地图拉取省市区信息
6.在腾讯地图中搜索门店
7.在腾讯地图中创建门店
8.添加门店
9.更新门店信息
10.获取单个门店信息
11.获取门店信息列表
12.删除门店
13.升级流程 --- 从门店管理迁移到门店小程序
14.业务接口-门店小程序卡券.
# 微信门店小程序接口文档
# 一、简介须知
门店小程序是公众平台向商户提供的对其线下门店相关功能的管理能力。门店小程序可设置到公众号介绍页、自定义菜单和图文消息中,通过附近关联导入出现在“附近的小程序”,也可应用在卡券、广告、WIFI等业务使用。
门店小程序接口是为商户提供批量新增、查询、修改、删除门店等主要功能,包括创建小程序商家账号,方便商户快速高效进行门店管理和操作。
备注:原门店管理权限可通过升级为门店小程序使用相关权限。
示例图:
# 二、权限须知
门店小程序权限开放给所有非个人公众号;拥有旧门店管理权限的公众号可通过升级获取门店小程序权限。
曾授权第三方旧门店管理权限集的公众号,门店小程序权限集默认授权原第三方。
# 三、门店接口概览
# 四、接口开发
# 1.拉取门店小程序类目
请求方式:GET(请使用https协议) https://api.weixin.qq.com/wxa/get_merchant_category?access_token=TOKEN
请求参数:
返回json示例(门店小程序类目分一级和二级类目):
{
"errcode": 0,
"errmsg": "ok",
"data": {
"all_category_info": {
"categories": [
{
"id": 0,
"name": "root",
"level": 0, //根节点,对应子节点是一级类目的id
"children": [ //子节点列表
269,
278
]
},
{
"id": 278,
"name": "购物",
"level": 1,//一级类目
"father": 0,
"children": [
279,
280
]
},
{
"id": 280,
"name": "便利店",
"level": 2, //二级类目
"father": 278,
"children": [],
"qualify": {
"exter_list": [
{
"inner_list": [
{
"name": "若涉及食品,请提供《食品经营许可证》或《卫生许可证》" //需要提交的证件名字
}
]
}
]
},
"scene": 3,
"sensitive_type": 1 //如果sensitive_type=1,在创建门店小程序时,需要添加相关证件
},
…
]
}
}
}
返回参数说明:
可参考: 门店小程序类目对应表
# 2.创建门店小程序
说明:创建门店小程序提交后需要公众号管理员确认通过后才可进行审核。如果主管理员24小时超时未确认,才能再次提交。
请求方式: POST(请使用https协议)
https://api.weixin.qq.com/wxa/apply_merchant?access_token=TOKEN
POST数据示例:
{
"first_catid": 476, //get_store_category接口获取的一级类目id
"second_catid": 477, //get_store_category接口获取的二级类目id
"qualification_list": "RTZgKZ386yFn5kQSWLTxe4bqxwgzGBjs3OE02cg9CVQk1wRVE3c8fjUFX7jvpi-P",
"headimg_mediaid": "RTZgKZ386yFn5kQSWLTxe4bqxwgzGBjs3OE02cg9CVQk1wRVE3c8fjUFX7jvpi-P",
"nickname": "hardenzhang308",
"intro": "hardenzhangtest",
"org_code": "",
"other_files": ""
}
请求参数说明:
返回json示例:
{
"errcode" : 0,
"errmsg" : "ok"
}
错误码说明:
事件推送 - 创建门店小程序的审核结果
<xml>
<ToUserName><![CDATA[gh_4346ac1514d8]]></ToUserName>
<FromUserName><![CDATA[od1P50M-fNQI5Gcq-trm4a7apsU8]]></FromUserName>
<CreateTime>1488856741</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[apply_merchant_audit_info]]></Event>
<audit_id>11111</audit_id>
<status>3</status>
<reason><![CDATA[xxx]]></reason>
</xml>
# 3.查询门店小程序审核结果
请求方式: GET(请使用https协议)
https://api.weixin.qq.com/wxa/get_merchant_audit_info?access_token=TOKEN
请求参数:
返回json示例:
{
"errcode":0,
"errmsg":"ok",
"data": {
"audit_id": 414569513,
"status": 1,
"reason": ""
}
返回参数说明:
# 4.修改门店小程序信息
请求方式: POST(请使用https协议)
https://api.weixin.qq.com/wxa/modify_merchant?access_token=TOKEN
POST数据示例:
{
"headimg_mediaid":"xxxxx",
"intro":"x"
}
请求参数说明:
直接复用创建门店小程序的错误码!!
返回json示例:
{
"errcode" : 0,
"errmsg" : "ok"
}
# 5.从腾讯地图拉取省市区信息
请求方式: GET(请使用https协议)
https://api.weixin.qq.com/wxa/get_district?access_token=TOKEN
请求参数:
返回json示例:
{
"status": 0,
"message": "query ok",
"data_version": "20170510",
"result": [ //result是二维数组
[ //result[0]:第一维是省的信息
{
"id": "440000",
"name": "广东",
"fullname": "广东省",
"pinyin": [
"guang",
"dong"
],
"location": {
"lat": 23.13171,
"lng": 113.26627
},
"cidx": [ //列出了广东省下面所有的市的下标(result[1]的下标)
246,
266
]
},
......
],
[ //result[1]:第二维是市的信息
{
"id": "440100",
"name": "广州",
"fullname": "广州市",
"pinyin": [
"guang",
"zhou"
],
"location": {
"lat": 23.12908,
"lng": 113.26436
},
"cidx": [ //列出了广东市下面所有的区的下标(result[2]的下标)
1667,
1677
]
},
......
],
[
{
"id": "440105",
"fullname": "海珠区",
"location": {
"lat": 23.08331,
"lng": 113.3172
}
},
{
"id": "440106",
"fullname": "天河区",
"location": {
"lat": 23.12463,
"lng": 113.36199
}
}
......
]
]
}
返回参数说明:
可参考:地图省市区信息对应表
# 6.在腾讯地图中搜索门店
请求方式: POST(请使用https协议) https://api.weixin.qq.com/wxa/search_map_poi?access_token=TOKEN
POST数据示例:
{
"districtid":440105,
"keyword":"x"
}
请求参数说明:
返回json示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"item": [
{
"branch_name": "X-MAX工厂",
"address": "广东省广州市海珠区怡安路172-174号怡安花园二、三层(中海名都)",
"longitude": 113.274810791,
"latitude": 23.1088695526,
"telephone": " 020-89190388",
"category": "运动健身:健身中心",
"sosomap_poi_uid": "2708071440732747189",
"data_supply": 2,
"pic_urls": [],
"card_id_list": []
},
....
]
}
}
返回参数说明:
# 7.在腾讯地图中创建门店
请求方式: POST(请使用https协议) https://api.weixin.qq.com/wxa/create_map_poi?access_token=TOKEN
POST数据示例:
{
"name": "hardenzhang",
"longitude": "113.323753357",
"latitude": "23.0974903107",
"province": "广东省",
"city": "广州市",
"district": "海珠区",
"address": "TIT",
"category": "类目1:类目2",
"telephone": "12345678901",
"photo": "http://mmbiz.qpic.cn/mmbiz_png/tW66AWE2K6ECFPcyAcIZTG8RlcR0sAqBibOm8gao5xOoLfIic9ZJ6MADAktGPxZI7MZLcadZUT36b14NJ2cHRHA/0?wx_fmt=png",
"license": "http://mmbiz.qpic.cn/mmbiz_png/tW66AWE2K6ECFPcyAcIZTG8RlcR0sAqBibOm8gao5xOoLfIic9ZJ6MADAktGPxZI7MZLcadZUT36b14NJ2cHRHA/0?wx_fmt=png",
"introduct": "test",
"districtid": "440105",
}
请求参数说明:
返回json示例:
{
"error": null, //指出错误原因
"data": {
"base_id": 42160,
"rich_id": 42010
}
}
事件推送 --- 腾讯地图中创建门店的审核结果
<xml>
<ToUserName><![CDATA[gh_4346ac1514d8]]></ToUserName>
<FromUserName><![CDATA[od1P50M-fNQI5Gcq-trm4a7apsU8]]></FromUserName>
<CreateTime>1488856741</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[create_map_poi_audit_info]]></Event>
<audit_id>11111</audit_id>
<status>1</status>
<map_poi_id><![CDATA[xxx]]></map_poi_id>
<name><![CDATA[xxx]]></name>
<address><![CDATA[xxx]]></address>
<latitude><![CDATA[xxx]]></latitude>
<longitude><![CDATA[xxx]]></longitude>
<sh_remark><![CDATA[xxx]]></sh_remark>
</xml>
注意:腾讯地图审核周期为3个工作日,请在期间内留意审核结果事件推送。提交后未当即返回事件推送即为审核中,请耐心等待。
# 8.添加门店
请求方式: POST(请使用https协议) https://api.weixin.qq.com/wxa/add_store?access_token=TOKEN
POST数据示例:
{
"poi_id": "",
"map_poi_id": "2880741500279549033",
"pic_list":"{\"list\":[\"http://mmbiz.qpic.cn/mmbiz_jpg/tW66AWvE2K4EJxIYOVpiaGOkfg0iayibiaP2xHOChvbmKQD5uh8ymibbEKlTTPmjTdQ8ia43sULLeG1pT2psOfPic4kTw/0?wx_fmt=jpeg\"]}",
"contract_phone": "1111222222",
"credential": "22883878-0",
"qualification_list": "RTZgKZ386yFn5kQSWLTxe4bqxwgzGBjs3OE02cg9CVQk1wRVE3c8fjUFX7jvpi-P"
}
请求参数说明:
返回json示例:
{
"errcode" : 0,
"errmsg" : "ok",
"data" : {"audit_id":111}
}
错误码说明:
事件推送 - 创建门店的审核结果
<xml>
<ToUserName><![CDATA[gh_4346ac1514d8]]></ToUserName>
<FromUserName><![CDATA[od1P50M-fNQI5Gcq-trm4a7apsU8]]></FromUserName>
<CreateTime>1488856741</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[add_store_audit_info]]></Event>
<audit_id>11111</audit_id>
<status>3</status>
<reason><![CDATA[xxx]]></reason>
<is_upgrade>3</is_upgrade>
<poiid>12344</poiid>
</xml>
# 9.更新门店信息
请求方式: POST(请使用https协议)
https://api.weixin.qq.com/wxa/update_store?access_token=TOKEN
POST数据示例:
{
"map_poi_id":"5938314494307741153",
"poi_id":"472671857",
"hour":"10:00-21:00",
"contract_phone":"123456",
"pic_list":"{\"list\":[\"http://mmbiz.qpic.cn/mmbiz_jpg/tW66AWvE2K4EJxIYOVpiaGOkfg0iayibiaP2xHOChvbmKQD5uh8ymibbEKlTTPmjTdQ8ia43sULLeG1pT2psOfPic4kTw/0?wx_fmt=jpeg\"]}"
}
参数说明:
需要注意的是,如果要更新门店的图片,实际相当于走一次重新为门店添加图片的流程,之前的旧图片会全部废弃。并且如果重新添加的图片中有与之前旧图片相同的,此时这个图片不需要重新审核。
成功返回:
{
"errcode" : 0,
"errmsg" : "ok",
//has_audit_id表示是否需要审核(1表示需要,0表示不需要)
//audit_id表示具体的审核单id
"data" : {"has_audit_id":1,"audit_id":1111}
}
错误码说明:
更新门店的时候,如果修改了门店图片,则需要进行审核。
事件推送 --- 修改门店图片的审核结果
<xml>
<ToUserName><![CDATA[gh_4346ac1514d8]]></ToUserName>
<FromUserName><![CDATA[od1P50M-fNQI5Gcq-trm4a7apsU8]]></FromUserName>
<CreateTime>1488856741</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[modify_store_audit_info]]></Event>
<audit_id>11111</audit_id>
<status>3</status>
<reason><![CDATA[xxx]]></reason>
</xml>
# 10.获取单个门店信息
请求方式: POST(请使用https协议)
https://api.weixin.qq.com/wxa/get_store_info?access_token=TOKEN
POST数据示例:
{
"poi_id":"472671857"
}
参数说明:
成功返回举例:
{
"errcode": 0,
"errmsg": "ok",
"business": {
"base_info": {
"business_name": "龙涤小区熟食店",
"address": "舍利街道中都大道龙涤小区阿升电脑旁",
"telephone": "12345678",
"city": "哈尔滨市",
"province": "黑龙江省",
"longitude": 126.94355011,
"latitude": 45.556098938,
"photo_list": [
{
"photo_url": "http://mmbiz.qpic.cn/mmbiz_png/tW66AWvE2K6icjle1q6nbfKr0HMibzxKqOUfG1hARktHV84ZZojt9cXZ0UicDevZQUicckPw68lfo2Le3RjpEo6oLg/0?wx_fmt=png"
}
],
"open_time": "11:00-12:00",
"poi_id": "472671857",
"status":2,
"district": "value",
"qualification_num": "91750100ME2XCR6A70",
"qualification_name": "龙涤小区熟食店"
}
}
}
成功返回的结果中status字段值说明:
错误码说明:
# 11.获取门店信息列表
请求方式: POST(请使用https协议)
https://api.weixin.qq.com/wxa/get_store_list?access_token=TOKEN
POST数据示例:
{
"offset": 0,
"limit": 10
}
参数说明:
假如某个门店小程序有10个门店,那么offset最大是9。limit参数最大不能超过50,并且如果传入的limit参数是0,那么按默认值20处理。
成功返回举例:
{
"errcode": 0,
"errmsg": "ok",
"business_list": [
{
"base_info": {
"business_name": "超速天使俱乐部",
"address": "新华路19",
"telephone": "12345678",
"categories": [],
"city": "邯郸市",
"province": "河北省",
"longitude": 114.958480835,
"latitude": 36.7714881897,
"photo_list": [
{
"photo_url": "http://mmbiz.qpic.cn/mmbiz_jpg/tW66AWvE2K4e52sLYyA90ZKuicdfhkf5ibQk1icmcRWjrMxmVibo8sVQAllABxG5ic0D5x62gfsPVL4aibxQ2SicfPyjQ/0?wx_fmt=jpeg"
}
],
"open_time": "10:00-21:00",
"poi_id": "472665875",
"status":1,
"district": "曲周县",
"qualification_list": [],
"qualification_num": "01650100NE2XCT6Z70",
"qualification_name": "超速天使俱乐部"
}
},
{
"base_info": {
"business_name": "龙涤小区熟食店",
"address": "舍利街道中都大道龙涤小区阿升电脑旁",
"telephone": "12345678",
"categories": [],
"city": "哈尔滨市",
"province": "黑龙江省",
"longitude": 126.94355011,
"latitude": 45.556098938,
"photo_list": [
{
"photo_url": "http://mmbiz.qpic.cn/mmbiz_png/tW66AWvE2K6icjle1q6nbfKr0HMibzxKqOUfG1hARktHV84ZZojt9cXZ0UicDevZQUicckPw68lfo2Le3RjpEo6oLg/0?wx_fmt=png"
}
],
"open_time": "11:00-12:00",
"poi_id": "472671857",
"status":3,
"district": "阿城区",
"qualification_list": [],
"qualification_num": "91750100ME2XCR6A70",
"qualification_name": "龙涤小区熟食店"
}
}
],
"total_count": 2
}
成功返回的结果中status字段值说明:
错误码说明:
# 12.删除门店
请求方式: POST(请使用https协议) https://api.weixin.qq.com/wxa/del_store?access_token=TOKEN
POST数据示例:
{
"poi_id":"472671857"
}
参数说明:
错误码说明:
# 13.升级流程 --- 从门店管理迁移到门店小程序
第一步:创建门店小程序审核成功后,拉取待迁移门店列表(poi/getpoilist是现网已经有的api,只是增加了三个新字段):
https://api.weixin.qq.com/cgi-bin/poi/getpoilist?access_token=TOKEN
门店管理中每个门店有以下字段:
第二步:
upgrade_status为待迁移或者失败的门店,需要调用wxa/add_store进行门店迁移。
upgrade_status为禁止迁移的门店,只能调用cgi-bin/poi/delpoi api(具体链接)进行删除
只有所有门店列表的upgrade_status变为成功,升级流程才算完成。
# 14.业务接口-门店小程序卡券
第一步获取门店小程序配置的卡券:
URL
https://api.weixin.qq.com/card/storewxa/get?access_token=ACCESS_TOKEN
请求参数示例
{
"poi_id" : 1234567
}
**返回参数示例**
{
"errcode" : 0,
"errmsg" : "ok",
"card_id" : "pabcedfg1234567hijklmn"
}
说明:
- poi_id为门店id;
- card_id为微信卡券id;
- poi_id需要属于调用api的公众号的门店小程序;
- 若该poi_id没设置门店,则返回中无card_id字段。
第二步设置门店小程序配置的卡券
URL
https://api.weixin.qq.com/card/storewxa/set?access_token=ACCESS_TOKEN
请求参数示例
{
"poi_id" : 1234567
"card_id" : "pabcedfg1234567hijklmn"
}
**返回参数示例**
{
"errcode" : 0,
"errmsg" : "ok"
}
说明
- poi_id为门店id;
- card_id为微信卡券id;
- poi_id需要属于调用api的公众号的门店小程序;
- card_id需要为非自定义code,即base_info.use_custom_code==fase;
附:门店开发中遇到问题可以加入QQ群463320265 交流。