Event¶
Event 公共属性¶
除了 UnknownEvent, 每一种 Event 都包括以下属性:
name | value |
---|---|
message_id | 消息id |
target | 开发者账号( OpenID ) |
source | 发送方账号( OpenID ) |
time | 信息发送的时间,一个UNIX时间戳 |
raw | 信息的原始 XML 格式 |
SubscribeEvent¶
SubscribeEvent 的属性:
name | value |
---|---|
type | ‘subscribe_event’ |
key | 事件 key 值。 当且仅当未关注公众号扫描二维码时存在 |
ticket | 二维码的 ticket。 当且仅当未关注公众号扫描二维码时存在 |
ScanEvent¶
ScanEvent 的属性:
name | value |
---|---|
type | ‘scan_event’ |
key | 事件KEY值,是一个32位无符号整数,即创建二维码时的二维码 scene_id |
ticket | 二维码的 ticket,可用来换取二维码图片 |
ScanCodePushEvent¶
ScanCodePushEvent 的属性:
name | value |
---|---|
type | ‘scancode_push_event’ |
scan_type | 扫描类型,一般是qrcode |
scan_result | 扫描结果,即二维码对应的字符串信息 |
ScanCodeWaitMsgEvent¶
ScanCodeWaitMsgEvent 的属性:
name | value |
---|---|
type | ‘scancode_waitmsg_event’ |
scan_type | 扫描类型,一般是qrcode |
scan_result | 扫描结果,即二维码对应的字符串信息 |
PicSysphotoEvent¶
弹出系统拍照发图的事件推送的 Event。属性:
name | value |
---|---|
type | ‘pic_sysphoto_event’ |
key | 事件KEY值,由开发者在创建菜单时设定 |
count | 发送的图片数量 |
pic_list | 图片列表,例如 [{‘pic_md5_sum’: ‘123’}] |
PicPhotoOrAlbumEvent¶
弹出拍照或者相册发图的事件推送的 Event。属性:
name | value |
---|---|
type | ‘pic_photo_or_album_event’ |
key | 事件KEY值,由开发者在创建菜单时设定 |
count | 发送的图片数量 |
pic_list | 图片列表,例如 [{‘pic_md5_sum’: ‘123’}] |
PicWeixinEvent¶
弹出微信相册发图器的事件推送的 Event。属性:
name | value |
---|---|
type | ‘pic_weixin_event’ |
key | 事件KEY值,由开发者在创建菜单时设定 |
count | 发送的图片数量 |
pic_list | 图片列表,例如 [{‘pic_md5_sum’: ‘123’}] |
LocationSelectEvent¶
弹出地理位置选择器的事件推送的 Event。属性:
name | value |
---|---|
type | ‘location_select_event’ |
key | 事件KEY值,由开发者在创建菜单时设定 |
location_x | X坐标信息 |
location_y | Y坐标信息 |
scale | 精度,可理解为精度或者比例尺、越精细的话 scale 越高 |
label | 地理位置的字符串信息 |
poi_name | 朋友圈POI的名字,可能为 None |
LocationEvent¶
LocationEvent 的属性:
name | value |
---|---|
type | ‘location_event’ |
latitude | 地理位置纬度 |
longitude | 地理位置经度 |
precision | 地理位置精度 |
UserScanProductEvent¶
打开商品主页事件推送的 Event。属性:
name | value |
---|---|
type | ‘user_scan_product_event’ |
key_standard | 商品编码标准。 |
key_str | 商品编码内容。 |
country | 用户在微信内设置的国家。 |
province | 用户在微信内设置的省份。 |
city | 用户在微信内设置的城市。 |
sex | 用户的性别,1为男性,2为女性,0代表未知。 |
scene | 打开商品主页的场景,1为扫码,2为其他打开场景(如会话、收藏或朋友圈)。 |
ext_info | 调用“获取商品二维码接口”时传入的 extinfo,为标识参数。 |
UserScanProductEnterSessionEvent¶
当用户从商品主页进入公众号会话时推送的 Event。属性:
name | value |
---|---|
type | ‘user_scan_product_enter_session_event’ |
key_standard | 商品编码标准。 |
key_str | 商品编码内容。 |
ext_info | 调用“获取商品二维码接口”时传入的 extinfo,为标识参数。 |
UserScanProductAsyncEvent¶
当用户打开商品主页,微信会将该用户实时的地理位置信息以异步事件的形式推送的 Event。属性:
name | value |
---|---|
type | ‘user_scan_product_async_event’ |
key_standard | 商品编码标准。 |
key_str | 商品编码内容。 |
ext_info | 调用“获取商品二维码接口”时传入的 extinfo,为标识参数。 |
region_code | 用户的实时地理位置信息(目前只精确到省一级),可在国家统计局网站查到对应明细: http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html |
UserScanProductVerifyActionEvent¶
提交审核的商品,完成审核后,微信会将审核结果以事件的形式推送的 Event。属性:
name | value |
---|---|
type | ‘user_scan_product_verify_action_event’ |
key_standard | 商品编码标准。 |
key_str | 商品编码内容。 |
result | 审核结果。verify_ok表示审核通过,verify_not_pass表示审核未通过。 |
reason_msg | 审核未通过的原因。 |
UnknownEvent¶
UnknownEvent 的属性:
name | value |
---|---|
type | ‘unknown_event’ |
raw | 请求的正文部分。标准的XML格式。 |
注解
如果你不为 WeRoBot 贡献代码,你完全可以无视掉 UnknownEvent 。在正常的使用中,WeRoBot应该不会收到 UnknownEvent ——除非 WeRoBot 停止开发。