接入成功以后,我們就可以利用微信提供的接口實(shí)現(xiàn)各種功能。首先來看一下基本的消息接收和回復(fù),文檔位置如下當(dāng)關(guān)注了公眾號的用戶向公眾號發(fā)送消息時,微信服務(wù)器將POT消息的XML數(shù)據(jù)包到填寫的URL上。所以我們要在Controller中新建一個處理方法微信會將用戶發(fā)送的消息信息封裝到請求體的xml中,根據(jù)消息類型的不同,xml的格式也有所不同。
如果希望增強(qiáng)安全性,可以在中心處開啟消息加密,這樣,用戶發(fā)給公眾號的消息以及公眾號被動回復(fù)用戶消息都會繼續(xù)加密。假如服務(wù)器無法保證在五秒內(nèi)處理并回復(fù),必須做出下述回復(fù),這樣微信服務(wù)器才不會對此作任何處理,并且不會發(fā)起重試(這種情況下,可以使用客服消息接口進(jìn)行異步回復(fù)),否則,將出現(xiàn)嚴(yán)重的錯誤提示:直接回復(fù)success(推薦方式)直接回復(fù)空串。
在微信用戶和公眾號產(chǎn)生交互的過程中,用戶的某些操作會使得微信服務(wù)器通過事件推送的形式通知到在中心處設(shè)置的服務(wù)器地址,從而可以獲取到該信息。其中,某些事件推送在發(fā)生后,是允許回復(fù)用戶的,某些則不允許,詳細(xì)內(nèi)容如下:關(guān)注/取消關(guān)注事件掃描帶參數(shù)二維碼事件上報地理位置事件自定義菜單事件點(diǎn)擊菜單拉取消息時的事件推送點(diǎn)擊菜單跳轉(zhuǎn)鏈接時的事件推送所有的事件推送,同樣會向服務(wù)器發(fā)送 XML 數(shù)據(jù),只是 MsgType 的值為 event,不同事件也只是存在參數(shù)上的區(qū)別。