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。 当且仅当未关注公众号扫描二维码时存在

UnSubscribeEvent

UnSubscribeEvent 的属性:

name value
type ‘unsubscribe_event’

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

ClickEvent

ClickEvent 的属性:

name value
type ‘click_event’
key 事件 key 值。

ViewEvent

ViewEvent 的属性:

name value
type ‘view_event’
key 事件 key 值。

LocationEvent

LocationEvent 的属性:

name value
type ‘location_event’
latitude 地理位置纬度
longitude 地理位置经度
precision 地理位置精度

TemplateSendJobFinishEvent

模版消息发送任务完成后的 Event 通知。 属性:

name value
status 发送是否成功。为 ‘success’ 或失败原因

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 停止开发。