自定義菜單管理-自定義菜單創(chuàng)建接口
目前自定義菜單最多包括3個(gè)一級(jí)菜單,每個(gè)一級(jí)菜單最多包含5個(gè)二級(jí)菜單。一級(jí)菜單最多4個(gè)漢字,二級(jí)菜單最多7個(gè)漢字,多出來(lái)的部分將會(huì)以“...”代替。請(qǐng)注意,創(chuàng)建自定義菜單后,由于微信客戶(hù)端緩存,需要24小時(shí)微信客戶(hù)端才會(huì)展現(xiàn)出來(lái)。建議測(cè)試時(shí)可以嘗試取消關(guān)注公眾賬號(hào)后再次關(guān)注,則可以看到創(chuàng)建后的效果。
自定義菜單接口可實(shí)現(xiàn)多種類(lèi)型按鈕,如下:
1、click:點(diǎn)擊推事件
用戶(hù)點(diǎn)擊click類(lèi)型按鈕后,微信服務(wù)器會(huì)通過(guò)消息接口推送消息類(lèi)型為event 的結(jié)構(gòu)給開(kāi)發(fā)者(參考消息接口指南),并且?guī)习粹o中開(kāi)發(fā)者填寫(xiě)的key值,開(kāi)發(fā)者可以通過(guò)自定義的key值與用戶(hù)進(jìn)行交互;
2、view:跳轉(zhuǎn)URL
用戶(hù)點(diǎn)擊view類(lèi)型按鈕后,微信客戶(hù)端將會(huì)打開(kāi)開(kāi)發(fā)者在按鈕中填寫(xiě)的網(wǎng)頁(yè)URL,可與網(wǎng)頁(yè)授權(quán)獲取用戶(hù)基本信息接口結(jié)合,獲得用戶(hù)基本信息。
3、scancode_push:掃碼推事件
用戶(hù)點(diǎn)擊按鈕后,微信客戶(hù)端將調(diào)起掃一掃工具,完成掃碼操作后顯示掃描結(jié)果(如果是URL,將進(jìn)入U(xiǎn)RL),且會(huì)將掃碼的結(jié)果傳給開(kāi)發(fā)者,開(kāi)發(fā)者可以下發(fā)消息。
4、scancode_waitmsg:掃碼推事件且彈出“消息接收中”提示框
用戶(hù)點(diǎn)擊按鈕后,微信客戶(hù)端將調(diào)起掃一掃工具,完成掃碼操作后,將掃碼的結(jié)果傳給開(kāi)發(fā)者,同時(shí)收起掃一掃工具,然后彈出“消息接收中”提示框,隨后可能會(huì)收到開(kāi)發(fā)者下發(fā)的消息。
5、pic_sysphoto:彈出系統(tǒng)拍照發(fā)圖
用戶(hù)點(diǎn)擊按鈕后,微信客戶(hù)端將調(diào)起系統(tǒng)相機(jī),完成拍照操作后,會(huì)將拍攝的相片發(fā)送給開(kāi)發(fā)者,并推送事件給開(kāi)發(fā)者,同時(shí)收起系統(tǒng)相機(jī),隨后可能會(huì)收到開(kāi)發(fā)者下發(fā)的消息。
6、pic_photo_or_album:彈出拍照或者相冊(cè)發(fā)圖
用戶(hù)點(diǎn)擊按鈕后,微信客戶(hù)端將彈出選擇器供用戶(hù)選擇“拍照”或者“從手機(jī)相冊(cè)選擇”。用戶(hù)選擇后即走其他兩種流程。
7、pic_weixin:彈出微信相冊(cè)發(fā)圖器
用戶(hù)點(diǎn)擊按鈕后,微信客戶(hù)端將調(diào)起微信相冊(cè),完成選擇操作后,將選擇的相片發(fā)送給開(kāi)發(fā)者的服務(wù)器,并推送事件給開(kāi)發(fā)者,同時(shí)收起相冊(cè),隨后可能會(huì)收到開(kāi)發(fā)者下發(fā)的消息。
8、location_select:彈出地理位置選擇器
用戶(hù)點(diǎn)擊按鈕后,微信客戶(hù)端將調(diào)起地理位置選擇工具,完成選擇操作后,將選擇的地理位置發(fā)送給開(kāi)發(fā)者的服務(wù)器,同時(shí)收起位置選擇工具,隨后可能會(huì)收到開(kāi)發(fā)者下發(fā)的消息。
請(qǐng)注意,3到8的所有事件,僅支持微信iPhone5.4.1以上版本,和Android5.4以上版本的微信用戶(hù),舊版本微信用戶(hù)點(diǎn)擊后將沒(méi)有回應(yīng),開(kāi)發(fā)者也不能正常接收到事件推送。
接口調(diào)用請(qǐng)求說(shuō)明
http請(qǐng)求方式:POST(請(qǐng)使用https協(xié)議) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
click和view的請(qǐng)求示例
- {
- "button":[
- {
- "type":"click",
- "name":"今日歌曲",
- "key":"V1001_TODAY_MUSIC"
- },
- {
- "name":"菜單",
- "sub_button":[
- {
- "type":"view",
- "name":"搜索",
- "url":"http://www.soso.com/"
- },
- {
- "type":"view",
- "name":"視頻",
- "url":"http://v.qq.com/"
- },
- {
- "type":"click",
- "name":"贊一下我們",
- "key":"V1001_GOOD"
- }]
- }]
- }
其他新增按鈕類(lèi)型的請(qǐng)求示例
- {
- "button": [
- {
- "name": "掃碼",
- "sub_button": [
- {
- "type": "scancode_waitmsg",
- "name": "掃碼帶提示",
- "key": "rselfmenu_0_0",
- "sub_button": [ ]
- },
- {
- "type": "scancode_push",
- "name": "掃碼推事件",
- "key": "rselfmenu_0_1",
- "sub_button": [ ]
- }
- ]
- },
- {
- "name": "發(fā)圖",
- "sub_button": [
- {
- "type": "pic_sysphoto",
- "name": "系統(tǒng)拍照發(fā)圖",
- "key": "rselfmenu_1_0",
- "sub_button": [ ]
- },
- {
- "type": "pic_photo_or_album",
- "name": "拍照或者相冊(cè)發(fā)圖",
- "key": "rselfmenu_1_1",
- "sub_button": [ ]
- },
- {
- "type": "pic_weixin",
- "name": "微信相冊(cè)發(fā)圖",
- "key": "rselfmenu_1_2",
- "sub_button": [ ]
- }
- ]
- },
- {
- "name": "發(fā)送位置",
- "type": "location_select",
- "key": "rselfmenu_2_0"
- }
- ]
- }
返回結(jié)果
正確時(shí)的返回JSON數(shù)據(jù)包如下:
{"errcode":0,"errmsg":"ok"}
錯(cuò)誤時(shí)的返回JSON數(shù)據(jù)包如下(示例為無(wú)效菜單名長(zhǎng)度):
{"errcode":40018,"errmsg":"invalid button name size"}