微信公众号开发:接收通用消息与事件

接收消息

当普通微信用户向公众账号发送消息时,微信服务器将POST消息的XML数据包到开发者在微信公众号管理后台中配置的服务器地址URL上。
常见消息类型的推送XML数据包结构如下。

文本消息




消息创建时间(整型)


消息id,64位整型

图片消息




消息创建时间(整型)



消息id,64位整型

语音消息

对于开通语音识别的公众号,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recongnition字段(注:由于客户端缓存,开发者开启或者关闭语音识别功能,对新关注者立刻生效,对已关注用户需要24小时生效。开发者可以重新关注此帐号进行测试)。



消息创建时间(整型)




消息id,64位整型

视频或小视频消息




消息创建时间(整型)



消息id,64位整型

地理位置消息




消息创建时间(整型)

地理位置纬度
地理位置经度
地图缩放大小

消息id,64位整型

链接消息




消息创建时间(整型)

<![CDATA[消息标题]]>


消息id,64位整型
请注意:
1、关于重试的消息排重,推荐使用msgid排重。
2、微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。详情请见“发送消息-被动回复消息”。
3、如果开发者需要对用户消息在5秒内立即做出回应,即使用“发送消息-被动回复消息”接口向用户被动回复消息时,可以在公众平台官网的开发者中心处设置消息加密。开启加密后,用户发来的消息和开发者回复的消息都会被加密(但开发者通过客服接口等API调用形式向用户发送消息,则不受影响)。

接收事件

在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在微信公众号管理后台中配置的服务器地址URL上,从而开发者可以获取到该信息。其中,某些事件推送在发生后,是允许开发者回复用户的,某些则不允许。
常见事件的推送XML数据包结构如下。

关注或取消关注事件




消息创建时间(整型)


扫描带参数二维码事件

用户扫描带场景值二维码时,可能推送以下两种事件:
如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。
1. 用户未关注时,进行关注后的事件推送



消息创建时间(整型)




2. 用户已关注时的事件推送



消息创建时间(整型)




上报地理位置事件




消息创建时间(整型)


地理位置纬度
地理位置经度
地理位置精度

自定义菜单事件

用户点击自定义菜单后,微信会把点击事件推送给开发者,请注意,点击菜单弹出子菜单,不会产生上报。
点击菜单拉取消息时的事件推送



消息创建时间(整型)



点击菜单跳转链接时的事件推送



消息创建时间(整型)






你可能感兴趣的:(微信公众号)