After a user taps the custom menu, Weixin will push the tap event to the developer. Note that tapping the menu opens the sub-menu and no report will be triggered. Events 3 to 8 are supported as of Weixin 5.4.1 for iOS and Weixin 5.4 for Android. In older versions, no response is returned and no event will be sent to the developer after the user taps the appropriate button.
Contents
1 Event of tapping menu to pull message
2 Event of tapping menu to redirect to URL
3 scancode_push: Event of pushing event when code is scanned
4 scancode_waitmsg: Event of pushing event and displaying "Receiving message" when code is scanned
5 pic_sysphoto: Event of sending image by taking photo with system camera
6 pic_photo_or_album: Event of sending image by taking photo with system camera
7 pic_weixin: Event of sending image by selecting from Weixin album
8 location_select: Event of displaying geographic location selector
9 Event of tapping menu to redirect to Mini Program
# Event of Tapping Menu To Pull Message
Example of pushing an XML data packet:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (CLICK) |
EventKey | Event key, which corresponds to the key in the custom menu API |
# Event of Tapping Menu to Redirect to URL
Example of pushing an XML data packet:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[VIEW]]></Event>
<EventKey><![CDATA[www.qq.com]]></EventKey>
<MenuId>MENUID</MenuId>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (VIEW) |
EventKey | Event key, which is the URL to be redirected to |
MenuID | Menu ID. If a custom menu is used, this field can be used to identify which menu is tapped. |
# scancode_push: Event of Pushing Event When Code is Scanned
Example of pushing an XML data packet:
<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
<CreateTime>1408090502</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[scancode_push]]></Event>
<EventKey><![CDATA[6]]></EventKey>
<ScanCodeInfo><ScanType><![CDATA[qrcode]]></ScanType>
<ScanResult><![CDATA[1]]></ScanResult>
</ScanCodeInfo>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integral) |
MsgType | Message type (event) |
Event | Event type (scancode_push) |
EventKey | Event key, which is set by the developer when creating a menu |
ScanCodeInfo | Scan information |
ScanType | Scan type, which is generally qrcode |
ScanResult | Scan result, which is the string information corresponding to the QR code |
# scancode_waitmsg: Event of Pushing Event and Displaying "Receiving Message" When Code is Scanned
Example of pushing an XML data packet:
<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
<CreateTime>1408090606</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[scancode_waitmsg]]></Event>
<EventKey><![CDATA[6]]></EventKey>
<ScanCodeInfo><ScanType><![CDATA[qrcode]]></ScanType>
<ScanResult><![CDATA[2]]></ScanResult>
</ScanCodeInfo>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (scancode_waitmsg) |
EventKey | Event key, which is set by the developer when creating a menu |
ScanCodeInfo | Scan information |
ScanType | Scan type, which is generally qrcode |
ScanResult | Scan result, which is the string information corresponding to the QR code |
# pic_sysphoto: Event of Sending Image by Taking Photo with System Camera
Example of pushing an XML data packet:
<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
<CreateTime>1408090651</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[pic_sysphoto]]></Event>
<EventKey><![CDATA[6]]></EventKey>
<SendPicsInfo><Count>1</Count>
<PicList><item><PicMd5Sum><![CDATA[1b5f7c23b5bf75682a53e7b6d163e185]]></PicMd5Sum>
</item>
</PicList>
</SendPicsInfo>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (pic_sysphoto) |
EventKey | Event key, which is set by the developer when creating a menu |
SendPicsInfo | Information of image sent |
Count | Number of images sent |
PicList | Image list |
PicMd5Sum | MD5 value of image, which can be used to verify received images if needed |
# pic_photo_or_album: Event of Sending Image by Taking Photo with System Camera
Example of pushing an XML data packet:
<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
<CreateTime>1408090816</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[pic_photo_or_album]]></Event>
<EventKey><![CDATA[6]]></EventKey>
<SendPicsInfo><Count>1</Count>
<PicList><item><PicMd5Sum><![CDATA[5a75aaca956d97be686719218f275c6b]]></PicMd5Sum>
</item>
</PicList>
</SendPicsInfo>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (pic_photo_or_album) |
EventKey | Event key, which is set by the developer when creating a menu |
SendPicsInfo | Information of image sent |
Count | Number of images sent |
PicList | Image list |
PicMd5Sum | MD5 value of image, which can be used to verify received images if needed |
# pic_weixin: Event of Sending Image by Selecting from Weixin Album
Example of pushing an XML data packet:
<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
<CreateTime>1408090816</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[pic_weixin]]></Event>
<EventKey><![CDATA[6]]></EventKey>
<SendPicsInfo><Count>1</Count>
<PicList><item><PicMd5Sum><![CDATA[5a75aaca956d97be686719218f275c6b]]></PicMd5Sum>
</item>
</PicList>
</SendPicsInfo>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (pic_weixin) |
EventKey | Event key, which is set by the developer when creating a menu |
SendPicsInfo | Information of image sent |
Count | Number of images sent |
PicList | Image list |
PicMd5Sum | MD5 value of image, which can be used to verify received images if needed |
# location_select: Event of Displaying Geographic Location Selector
Example of pushing an XML data packet:
<xml><ToUserName><![CDATA[gh_e136c6e50636]]></ToUserName>
<FromUserName><![CDATA[oMgHVjngRipVsoxg6TuX3vz6glDg]]></FromUserName>
<CreateTime>1408091189</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[location_select]]></Event>
<EventKey><![CDATA[6]]></EventKey>
<SendLocationInfo><Location_X><![CDATA[23]]></Location_X>
<Location_Y><![CDATA[113]]></Location_Y>
<Scale><![CDATA[15]]></Scale>
<Label><![CDATA[ No. 106, Yiyuan Road, Kecun, Haizhu District, Guangzhou]]></Label>
<Poiname><![CDATA[]]></Poiname>
</SendLocationInfo>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (location_select) |
EventKey | Event key, which is set by the developer when creating a menu |
SendLocationInfo | Information of location sent |
Location_X | X-coordinate |
Location_Y | Y-coordinate |
Scale | Accuracy or scale. A higher accuracy indicates higher scale. |
Label | String information of geographic location |
Poiname | Moments POI name, which can be empty |
# Event of Tapping Menu to Redirect to Mini Program
Example of pushing an XML data packet:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[view_miniprogram]]></Event>
<EventKey><![CDATA[pages/index/index]]></EventKey>
<MenuId>MENUID</MenuId>
</xml>
Parameters:
Parameter | Description |
---|---|
ToUserName | Developer's Weixin ID |
FromUserName | Sender ID (OpenID) |
CreateTime | Creation time of message (integer) |
MsgType | Message type (event) |
Event | Event type (view_miniprogram) |
EventKey | Event key, which is the Mini Program's path to be redirected to |
MenuID | Menu ID. If a personalized menu is used, this field can be used to identify which menu is tapped. |