微信公衆號被動消息回覆原理解析

這篇文章主要介紹了公衆號被動消息回覆原理解析,本文給大家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下

背景:某分廠需要實時查詢工件堆放的位置,要求快速便捷,因此設計了採用微信公衆號被動回覆信息的方案。

    技術實現:開發者服務器--基於Angular2框架的已發佈網站,編程語言爲Python,後臺存儲數據庫爲Mysql;

                     微信服務器--微信公衆號,此業務只是處理微信客戶端發送的文本信息,且不使用公衆號的其他功能,因此不需要認證公衆號;

                    微信客戶端--關注公衆號的微信使用者,即粉絲。

                   當粉絲給公衆號發送特定的消息時,微信公衆號自動回覆相應內容,而其背後的實現原理可由下圖所示:

           

      由上圖可知,粉絲(微信客戶端)向公衆號(微信服務器)發送消息後,公衆號馬上將消息報文轉發給綁定的網站(開發者服務器),此時消息

      傳送到了開發者的系統裏。然後系統解析消息報文,得到消息內容,再根據消息內容,從業務數據庫中得到返回的消息文本,最終將消息文本包裝

      成回覆的消息報文(xml),返回給公衆號,公衆號再發送給請求的粉絲。

         消息報文: 微信服務器轉發的消息報文格式如下:                         

<xml>

                <ToUserName>![DATA[toUser]]</ToUserName>               // 接收消息方,開發者微信號(公衆號AppID)

                <FromUserName>![DATA[fromUser]]</FromUserName>         //發送方賬號(OpenId)

                <CreateTime>12356548575</CreateTime>                   //消息創建時間

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

                <Content>![DATA[?18-546]]</Content>                       //消息內容,本例爲 ?18-546

                <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>![[[18-546]的工作臺位爲[車體新廠房3號]]]</Content>     //回覆的消息內容,本例爲[18-546]的工作臺位爲[車體新廠房3號]

           </xml>

    微信服務器接收到回覆的消息報文後,通過解析,將內容發送給微信客戶端,這樣客戶端接收到信息了。

        注意事項: 1、開發服務器自接收到轉發的消息後,需要再5秒內給予回覆,超過時間,則自動回覆錯誤提示消息"該公衆號提供的服務出現故障,請稍後再試",

                                  因此,業務處理時間最好不要大於5秒鐘;

                          2、回覆消息內容應遵從公衆號信息內容的設定,最好不要回復帶空格的消息,因爲會出現不能正常回復的現象。

總結

以上所述是小編給大家介紹的微信公衆號被動消息回覆原理解析,希望對大家啊有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回覆大家的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章