一種在微信開發(fā)模式下消息和事件回復(fù)的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種關(guān)于微信的通信技術(shù),具體涉及一種在微信開發(fā)模式下消息和事件回復(fù)的方法和系統(tǒng)。
【背景技術(shù)】
[0002]騰迅公司提供了微信公眾平臺(tái)接收消息的相關(guān)接口,定義了在開發(fā)者模式下,微信公眾平臺(tái)接收普通消息和接收事件推送的數(shù)據(jù)包格式,以及發(fā)送消息的數(shù)據(jù)包格式。
[0003]騰迅公司僅定義了數(shù)據(jù)包格式和要求,并不提供數(shù)據(jù)流程以及業(yè)務(wù)處理,要使用者應(yīng)用軟件開發(fā)能力,根據(jù)業(yè)務(wù)自行開發(fā)。微信公眾平臺(tái)使用者不能快速根據(jù)需求完成開發(fā)者模式的應(yīng)用,使用復(fù)雜,增加了開發(fā)難度。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是提供一種在微信開發(fā)模式下消息和事件回復(fù)的方法和系統(tǒng),本發(fā)明解決了微信公眾號(hào)開發(fā)者模式使用難度高的技術(shù)問題。
[0005]本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):
一種在微信開發(fā)模式下消息和事件回復(fù)的方法,其特征在于:包括如下步驟:
步驟一、管理員在微信公眾平臺(tái)的開發(fā)者中心正確配置服務(wù)器配置,包括一 URL地址、令牌、消息加解密密鑰和消息加解密方式;配置完成后,開發(fā)者中心自動(dòng)生成原始ID、應(yīng)用ID,應(yīng)用密鑰;
步驟二、管理員在微信管理系統(tǒng)中配置微信公眾號(hào)參數(shù),主要包括原始ID、應(yīng)用ID和應(yīng)用密鑰;
步驟三、管理員在微信管理系統(tǒng)中配置消息回復(fù)設(shè)置,包括接收消息類型、消息關(guān)鍵字、是否正則表達(dá)式匹配、回復(fù)消息類型、回復(fù)消息內(nèi)容、外部業(yè)務(wù)接口地址和是否調(diào)用外部業(yè)務(wù)接口;
步驟四、管理員在微信管理系統(tǒng)中配置推送事件響應(yīng)設(shè)置;
步驟五、當(dāng)微信用戶在微信軟件上向公眾號(hào)發(fā)送消息或觸發(fā)事件后,微信公眾平臺(tái)將轉(zhuǎn)發(fā)用戶消息或推送的事件到上述管理員指定的URL中;
步驟六、微信管理系統(tǒng)接收到用戶消息或推送的事件,根據(jù)接收到的用戶消息或推送的事件進(jìn)行處理,并返回響應(yīng)結(jié)果給微信平臺(tái):
步聚七、微信平臺(tái)接收到微信管理系統(tǒng)的響應(yīng)消息后,發(fā)送到用戶的微信軟件上。
[0006]在步驟六中,響應(yīng)結(jié)果可以為文本內(nèi)容或消息數(shù)據(jù)包,所述消息數(shù)據(jù)包為文本消息、圖文消息或模板消息。
[0007]在步驟三中,接收消息類型包括文本消息、圖片消息、語(yǔ)音消息、視頻消息、小視頻消息、地理位置消息或鏈接消息。
[0008]在步驟四中,事件類型包括關(guān)注事件、取消關(guān)注事件、掃描二維碼事件、上報(bào)地理位置事件或菜單事件。
[0009]所述外部業(yè)務(wù)接口和所述開發(fā)平臺(tái)通過發(fā)送HTTP請(qǐng)求相連。
[0010]在步驟六中,當(dāng)微信用戶發(fā)送文本消息或觸發(fā)點(diǎn)擊菜單拉取消息事件時(shí),先遍歷關(guān)鍵字匹配再遍歷正則表達(dá)式匹配,找到最先匹配項(xiàng);如果調(diào)用外部業(yè)務(wù)接口,則請(qǐng)求外部業(yè)務(wù)接口,獲得響應(yīng)結(jié)果,再把結(jié)果響應(yīng)給微信平臺(tái);如果不調(diào)用外部業(yè)務(wù)接口,則直接把配置的回復(fù)消息內(nèi)容封裝成文本消息或者圖文消息響應(yīng)給微信平臺(tái)。
[0011]在步驟六中,當(dāng)微信用戶發(fā)送圖片消息、視頻消息、小視頻消息、地理位置消息和鏈接消息時(shí)或觸發(fā)上報(bào)地理位置事件或觸發(fā)點(diǎn)擊菜單跳轉(zhuǎn)鏈接事件時(shí),不匹配關(guān)鍵字,將消息數(shù)據(jù)包發(fā)送給外部業(yè)務(wù)接口處理,并把外部業(yè)務(wù)接口響應(yīng)結(jié)果封裝成文本消息響應(yīng)給微信平臺(tái)。
[0012]在步驟六中,當(dāng)微信用戶發(fā)送語(yǔ)音消息時(shí),如果微信管理系統(tǒng)開通語(yǔ)音識(shí)別功能,將語(yǔ)音識(shí)別結(jié)果和文本消息相同處理;否則和圖片消息相同處理。
[0013]在步驟六中,當(dāng)微信用戶觸發(fā)關(guān)注事件或掃描帶參數(shù)二維碼事件時(shí),調(diào)用外部業(yè)務(wù)接口,由外部業(yè)務(wù)接口處理并返回響應(yīng)結(jié)果后,并把響應(yīng)結(jié)果封裝成文本消息響應(yīng)給微信平臺(tái)。
[0014]在步驟六中,當(dāng)微信用戶觸發(fā)關(guān)注事件或掃描帶參數(shù)二維碼事件時(shí),微信管理系統(tǒng)直接把配置的響應(yīng)消息封裝成文本消息或圖文消息響應(yīng)給微信平臺(tái)。
[0015]在步驟六中,當(dāng)微信用戶觸發(fā)取消關(guān)注事件時(shí),調(diào)用外部業(yè)務(wù)接口,由外部業(yè)務(wù)接口處理。
[0016]—種在微信開發(fā)模式下消息和事件回復(fù)的系統(tǒng),其特征在于:包括,
微信管理系統(tǒng),當(dāng)微信管理系統(tǒng)接到用戶消息后,會(huì)根據(jù)消息回復(fù)設(shè)置單元的設(shè)置內(nèi)容進(jìn)行匹配處理;當(dāng)接收到推送的事件后,會(huì)根據(jù)事件響應(yīng)設(shè)置單元的設(shè)置內(nèi)容進(jìn)行處理;消息回復(fù)設(shè)置單元,用于設(shè)置關(guān)鍵字匹配方式以及關(guān)鍵字內(nèi)容,回復(fù)內(nèi)容,是否調(diào)用外部業(yè)務(wù)接口以及外部業(yè)務(wù)接口地址;
事件響應(yīng)設(shè)置單元,用于設(shè)置根據(jù)推送的事件回復(fù)內(nèi)容,是否調(diào)用外部業(yè)務(wù)接口以及外部業(yè)務(wù)接口地址;
外部業(yè)務(wù)接口,根據(jù)消息回復(fù)設(shè)置單元和事件響應(yīng)設(shè)置單元的配置,微信管理系統(tǒng)可以調(diào)用外部業(yè)務(wù)接口并獲取外部業(yè)務(wù)接口的響應(yīng),根據(jù)響應(yīng)內(nèi)容的格式封裝成不同的消息數(shù)據(jù)包回復(fù)給微信平臺(tái)。
[0017]所述微信管理系統(tǒng)中,消息匹配方式為關(guān)鍵字匹配或正則表達(dá)式匹配。
[0018]所述外部業(yè)務(wù)接口和所述微信管理系統(tǒng)通過HTTP請(qǐng)求相連。
[0019]本發(fā)明與現(xiàn)有技術(shù)相比,具有以下明顯優(yōu)點(diǎn):
I)本發(fā)明支持所有的消息和事件,支持多種回復(fù)消息機(jī)制,可以滿足開發(fā)需求。
[0020]2)本發(fā)明可以調(diào)用外部業(yè)務(wù)接口,使微信平臺(tái)與外部業(yè)務(wù)通訊。
[0021]3)本發(fā)明可以讓微信公眾平臺(tái)使用者快速根據(jù)需求完成開發(fā)者模式的應(yīng)用,使用方便、簡(jiǎn)單,降低了開發(fā)難度。
【附圖說明】
[0022]圖1為本發(fā)明在微信開發(fā)模式下消息和事件回復(fù)的方法的步驟流程圖;
圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的消息回復(fù)處理方式; 圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的微信管理系統(tǒng)接收到數(shù)據(jù)包時(shí)的解析和處理流程圖; 圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的微信管理系統(tǒng)生成回復(fù)內(nèi)容的流程圖。
【具體實(shí)施方式】
[0023]如圖1所示,一種在微信開發(fā)模式下消息和事件回復(fù)的方法,包括如下步驟:
步驟一、管理員在微信公眾平臺(tái)的開發(fā)者中心正確配置服務(wù)器配置,包括一 URL地址、
令牌、消息加解密密鑰和消息加解密方式;配置完成后,開發(fā)者中心自動(dòng)生成原始ID、應(yīng)用ID,應(yīng)用密鑰;
步驟二、管理員在微信管理系統(tǒng)中配置微信公眾號(hào)參數(shù),主要包括原始ID、應(yīng)用ID和應(yīng)用密鑰;
步驟三、管理員在微信管理系統(tǒng)中配置消息回復(fù)設(shè)置,包括接收消息類型、消息關(guān)鍵字、是否正則表達(dá)式匹配、回復(fù)消息類型、回復(fù)消息內(nèi)容、外部業(yè)務(wù)接口地址和是否調(diào)用外部業(yè)務(wù)接口;
步驟四、管理員在微信管理系統(tǒng)中配置推送事件響應(yīng)設(shè)置;
步驟五、當(dāng)微信用戶在微信軟件上向公眾號(hào)發(fā)送消息或觸發(fā)事件后,微信公眾平臺(tái)將轉(zhuǎn)發(fā)用戶消息或推送的事件到上述管理員指定的URL中;
步驟六、微信管理系統(tǒng)接收到用戶消息或推送的事件,根據(jù)接收到的用戶消息或推送的事件進(jìn)行處理,并返回響應(yīng)結(jié)果給微信平臺(tái):
步聚七、微信平臺(tái)接收到微信管理系統(tǒng)的響應(yīng)消息后,發(fā)送到用戶的微信軟件上。
[0024]如圖4所示,在步驟六中,響應(yīng)結(jié)果可以為文本內(nèi)容或消息數(shù)據(jù)包,所述消息數(shù)據(jù)包為文本消息、圖文消息或模板消息。
[0025]如圖3所示,在步驟三中,接收消息類型包括文本消息、圖片消息、語(yǔ)音消息、視頻消息、小視頻消息、地理位置消息或鏈接消息;在步驟四中,事件類型包括關(guān)注事件、取消關(guān)注事件、掃描二維碼事件、上報(bào)地理位置事件或菜單事件。
[0026]所述外部業(yè)務(wù)接口和所述開發(fā)平臺(tái)通過發(fā)送HTTP請(qǐng)求相連。
[