微信公众号是如何自动回复粉丝消息的?开发

发布时间:2019-06-24 23:08:46  作者:本站编辑  来源:本站原创  浏览次数:

微信公众号有一个功能:当粉丝给公众号发送特定的消息时,微信公众号自动回复相应内容。这个功能很简单,今天我就给大家讲一讲它是怎么实现的。


      由上图可知,粉丝(微信客户端)向公众号(微信服务器)发送消息后,公众号马上将消息报文转发给绑定的网站(开发者服务器),此时消息传送到了开发者的系统里。然后系统解析消息报文,得到消息内容,再根据消息内容,从业务数据库中得到返回的消息文本,最终将消息文本包装成回复的消息报文(xml),返回给公众号,公众号再发送给请求的粉丝。

         消息报文: 微信服务器转发的消息报文格式如下:

 <xml>                    

<ToUserName>![DATA[toUser</ToUserName>   // 接收消息方,开发者微信号(公众号AppID)<FromUserName>![DATA[fromUser</FromUserName>      //发送方账号(OpenId)                                <CreateTime>12356548575</CreateTime>   //消息创建时间

<MsgType>![DATA[text</MsgType>            //消息类型,text代表文本类型

<Content>![DATA[360linker]]</Content>     //消息内容,本例为 360linker                            <MsgId>1234567890123456</MsgId>    //消息ID

 </xml> 

       开发者服务器通过解析转发的消息报文,得到发送方账号(回复消息用)和消息内容,然后通过一系列业务处理,生成回复消息报文,格式如下:

 <xml>

<ToUserName>![DATA[userName]]</ToUserName>   //接收消息方,微信客户端账号(OpenId)

<FromUserName>![DATA[fromUser]]</FromUserName>  // 发送方账号,(公众号AppID)                           <CreateTime>456251484</CreateTime> //消息创建时间

<MsgType>![DATA[text]]</MsgType> //回复的消息类型,text代表文本消息

<Content>![[一个IT圈应该关注的公众号]]</Content> //回复的消息内容,本例为一个IT圈应该关注的公众号

</xml>

      微信服务器接收到回复的消息报文后,通过解析,将内容发送给微信客户端,这样客户端就接收到信息了。





热搜