微信易信公众账号接收事件消息技术问题分析
除去用户发送给公众普通消息以外,用户的对公众号的关注/取消关注、扫描二维码、点击自定义菜单的消息,公众号也能接收到。
关注/取消关注事件
用户在关注与取消关注公众号时,易信会把这个事件推送到开发者填写的URL。方便开发者给用户下发欢迎消息或者做帐号的解绑。
推送XML数据包示例:
参数说明:
参数描述
ToUserName开发者易信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间(整型)
MsgType消息类型,event
Event事件类型,subscribe(订阅)、unsubscribe(取消订阅)
扫描带参数二维码事件
用户扫描带场景值二维码时,可能推送以下两种事件:
如果用户还未关注公众号,则用户可以关注公众号,关注后易信会将带场景值关注事件推送给开发者。
如果用户已经关注公众号,则易信会将带场景值扫描事件推送给开发者。
1.用户未关注时,进行关注后的事件推送
推送XML数据包示例:
参数说明:
参数描述
ToUserName开发者易信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间(整型)
MsgType消息类型,event
Event事件类型,subscribe
EventKey事件KEY值,qrscene_为前缀,后面为二维码的参数值
Ticket二维码的ticket,可用来换取二维码图片
2.用户已关注时的事件推送
推送XML数据包示例:
参数说明:
参数描述
ToUserName开发者易信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间(整型)
MsgType消息类型,event
Event事件类型,YIXINscan
EventKey事件KEY值,是一个32位无符号整数
Ticket二维码的ticket,可用来换取二维码图片
自定义菜单事件
用户点击自定义菜单后,如果菜单按钮设置为click类型,则易信会把此次点击事件推送给开发者,注意view类型(跳转到URL)的菜单点击不会上报。
推送XML数据包示例:
参数说明:
参数描述
ToUserName开发者易信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间(整型)
MsgType消息类型,event
Event事件类型,CLICK
EventKey事件KEY值,与自定义菜单接口中KEY值对应