原公众号文档（包含订阅号与服务号）已升级为公众号（原订阅号）与服务号文档。公众号文档请直接参考本目录内容，服务号文档请 [点击此处](/doc/service/guide/README.md) 前往。

# 自定义菜单的事件推送


用户点击自定义菜单后，微信会把点击事件推送给开发者，请注意，点击菜单弹出子菜单，不会产生上报。**请注意，第3个到第8个的所有事件，仅支持微信iPhone5.4.1以上版本，和Android5.4以上版本的微信用户，旧版本微信用户点击后将没有回应，开发者也不能正常接收到事件推送。**



目录



1 点击菜单拉取消息时的事件推送



2 点击菜单跳转链接时的事件推送



3 scancode\_push：扫码推事件的事件推送



4 scancode\_waitmsg：扫码推事件且弹出“消息接收中”提示框的事件推送



5 pic\_sysphoto：弹出系统拍照发图的事件推送



6 pic\_photo\_or\_album：弹出拍照或者相册发图的事件推送



7 pic\_weixin：弹出微信相册发图器的事件推送



8 location\_select：弹出地理位置选择器的事件推送



9 点击菜单跳转小程序的事件推送


## 点击菜单拉取消息时的事件推送


推送XML数据包示例：

```xml



123456789




```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，CLICK |
| EventKey | 事件KEY值，与自定义菜单接口中KEY值对应 |







## 点击菜单跳转链接时的事件推送


推送XML数据包示例：


```xml



123456789



MENUID

```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，VIEW |
| EventKey | 事件KEY值，设置的跳转URL |
| MenuID | 指菜单ID，如果是个性化菜单，则可以通过这个字段，知道是哪个规则的菜单被点击了。 |



## scancode\_push：扫码推事件的事件推送


推送XML数据包示例：


```xml


1408090502







```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间（整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，scancode\_push |
| EventKey | 事件KEY值，由开发者在创建菜单时设定 |
| ScanCodeInfo | 扫描信息 |
| ScanType | 扫描类型，一般是qrcode |
| ScanResult | 扫描结果，即二维码对应的字符串信息 |







## scancode\_waitmsg：扫码推事件且弹出“消息接收中”提示框的事件推送


推送XML数据包示例：


```xml


1408090606







```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，scancode\_waitmsg |
| EventKey | 事件KEY值，由开发者在创建菜单时设定 |
| ScanCodeInfo | 扫描信息 |
| ScanType | 扫描类型，一般是qrcode |
| ScanResult | 扫描结果，即二维码对应的字符串信息 |






## pic\_sysphoto：弹出系统拍照发图的事件推送


推送XML数据包示例：


```xml


1408090651



1





```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，pic\_sysphoto |
| EventKey | 事件KEY值，由开发者在创建菜单时设定 |
| SendPicsInfo | 发送的图片信息 |
| Count | 发送的图片数量 |
| PicList | 图片列表 |
| PicMd5Sum | 图片的MD5值，开发者若需要，可用于验证接收到图片 |







## pic\_photo\_or\_album：弹出拍照或者相册发图的事件推送


推送XML数据包示例：


```xml


1408090816



1





```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，pic\_photo\_or\_album |
| EventKey | 事件KEY值，由开发者在创建菜单时设定 |
| SendPicsInfo | 发送的图片信息 |
| Count | 发送的图片数量 |
| PicList | 图片列表 |
| PicMd5Sum | 图片的MD5值，开发者若需要，可用于验证接收到图片 |






## pic\_weixin：弹出微信相册发图器的事件推送


推送XML数据包示例：


```xml


1408090816



1





```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，pic\_weixin |
| EventKey | 事件KEY值，由开发者在创建菜单时设定 |
| SendPicsInfo | 发送的图片信息 |
| Count | 发送的图片数量 |
| PicList | 图片列表 |
| PicMd5Sum | 图片的MD5值，开发者若需要，可用于验证接收到图片 |






## location\_select：弹出地理位置选择器的事件推送


推送XML数据包示例：


```xml


1408091189










```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，location\_select |
| EventKey | 事件KEY值，由开发者在创建菜单时设定 |
| SendLocationInfo | 发送的位置信息 |
| Location\_X | X坐标信息 |
| Location\_Y | Y坐标信息 |
| Scale | 精度，可理解为精度或者比例尺、越精细的话 scale越高 |
| Label | 地理位置的字符串信息 |
| Poiname | 朋友圈POI的名字，可能为空 |






## 点击菜单跳转小程序的事件推送


推送XML数据包示例：


```xml



123456789



MENUID

```


参数说明：



| 参数 | 描述 |
| --- | --- |
| ToUserName | 开发者 微信号 |
| FromUserName | 发送方账号（一个OpenID） |
| CreateTime | 消息创建时间 （整型） |
| MsgType | 消息类型，event |
| Event | 事件类型，view_miniprogram |
| EventKey | 事件KEY值，跳转的小程序路径 |
| MenuID | 菜单ID，如果是个性化菜单，则可以通过这个字段，知道是哪个规则的菜单被点击了 |
