為豐富小程序的服務(wù)能力,提高服務(wù)質(zhì)量,微信為小程序提供客服消息能力,以便小程序用戶可以方便快捷地與小程序服務(wù)提供方進(jìn)行溝通。功能介紹用戶可使用小程序客服消息功能,與小程序的客服人員進(jìn)行溝通??头?huì) ...
為豐富小程序的服務(wù)能力,提高服務(wù)質(zhì)量,微信為小程序提供客服消息能力,以便小程序用戶可以方便快捷地與小程序服務(wù)提供方進(jìn)行溝通。
用戶可使用小程序客服消息功能,與小程序的客服人員進(jìn)行溝通。
客服消息會(huì)話入口有兩個(gè):
1、小程序內(nèi):開發(fā)者在小程序內(nèi)添加客服消息按鈕組件,用戶可在小程序內(nèi)喚起客服會(huì)話頁面,給小程序發(fā)消息;
2、已使用過的小程序客服消息會(huì)聚合顯示在微信會(huì)話“小程序客服消息”內(nèi),用戶可以在小程序外查看歷史客服消息,并給小程序客服發(fā)消息。

客服消息下發(fā)條件:小程序用戶在小程序內(nèi)喚起客服會(huì)話或用戶給小程序客服發(fā)送消息,具體下發(fā)時(shí)間有效期及消息條數(shù)限制見客服消息下發(fā)條件說明
客服消息類型:目前支持文本及圖片類型消息
為盡量滿足小程序開發(fā)者的需求,小程序可通過以下兩種方式下發(fā)客服消息:1、調(diào)用發(fā)送客服消息接口;2、使用公眾平臺(tái)網(wǎng)頁版客服工具
當(dāng)用戶和小程序客服產(chǎn)生特定動(dòng)作的交互時(shí)(具體動(dòng)作列表請(qǐng)見下方說明),小程序可向用戶下發(fā)客服消息。
目前允許的動(dòng)作列表如下,不同動(dòng)作觸發(fā)后,允許下發(fā)消息條數(shù)和下發(fā)時(shí)限不同。下發(fā)條數(shù)達(dá)到上限后,會(huì)返回錯(cuò)誤碼。
| 用戶動(dòng)作 | 允許下發(fā)條數(shù)限制 | 下發(fā)時(shí)限 |
|---|---|---|
| 用戶通過客服消息按鈕進(jìn)入會(huì)話 | 1條 | 1分鐘 |
| 用戶發(fā)送信息 | 3條 | 48小時(shí) |
可發(fā)送客服消息條數(shù)不累加,上述用戶動(dòng)作會(huì)觸發(fā)可下發(fā)條數(shù)及可下發(fā)時(shí)限的更新,可下發(fā)消息條數(shù)更新為當(dāng)前可下發(fā)條數(shù)限制的最大值,有效下發(fā)時(shí)間限制也更新為最長有效時(shí)間。
當(dāng)用戶在小程序內(nèi)打開客服會(huì)話,或是給小程序客服發(fā)消息,微信服務(wù)器會(huì)將消息(或事件)的數(shù)據(jù)包(JSON或者XML格式)POST到開發(fā)者填寫的URL。開發(fā)者收到請(qǐng)求后可以調(diào)用接口進(jìn)行異步回復(fù)。
登錄小程序,在“設(shè)置-開發(fā)設(shè)置-消息推送”啟用消息推送功能并完成相關(guān)信息配置(包括服務(wù)器地址、Token、及加密方式等)。


啟用并設(shè)置服務(wù)器配置后,用戶發(fā)送的消息以及開發(fā)者需要的事件推送,都將被微信轉(zhuǎn)發(fā)至開發(fā)者URL中。

小程序客服消息API文檔
小程序也可以直接使用微信公眾平臺(tái)網(wǎng)頁版客服工具進(jìn)行客服消息回復(fù)。
若小程序沒有啟用消息推送,則用戶發(fā)送的消息將會(huì)被轉(zhuǎn)發(fā)至網(wǎng)頁版客服工具,客服人員可在網(wǎng)頁版客服工具中接入并回復(fù)用戶。
注意:“用戶通過客服消息按鈕進(jìn)入會(huì)話”事件將不會(huì)轉(zhuǎn)發(fā)至網(wǎng)頁版客服工具。
使用網(wǎng)頁版客服工具前,小程序管理員需在小程序后臺(tái)完成客服人員的綁定。目前小程序支持綁定不多于100個(gè)客服人員。

已被綁定的小程序客服人員可掃碼登錄微信公眾平臺(tái)網(wǎng)頁版客服工具,并選擇對(duì)應(yīng)的小程序帳號(hào),登錄后即可看到與小程序?qū)υ挼挠脩?,可選擇接入對(duì)話。

點(diǎn)擊在線狀態(tài),可以選擇在線狀態(tài)、離開狀態(tài)或退出登錄

手動(dòng)接入:客服人員上線后,點(diǎn)擊“待接入”,即可在“待接入”列表中,手動(dòng)接入待回復(fù)的對(duì)話
自動(dòng)接入:當(dāng)待接入的對(duì)話太多時(shí),可以在設(shè)置/接入設(shè)置中,開啟自動(dòng)接入
重新接入:退出登錄,或?qū)υ挸^半小時(shí),需要重新接入,激活對(duì)話

已經(jīng)接入的會(huì)話,客服人員可以在48小時(shí)內(nèi)和用戶進(jìn)行對(duì)話,目前支持發(fā)送文本、圖片類型的消息。

小程序客服消息使用除必須遵守微信小程序平臺(tái)運(yùn)營規(guī)范外,還不能違反以下規(guī)則,包括但不限于:
在頁面中使用 <contact-button/> 可以顯示進(jìn)入客服會(huì)話按鈕。
當(dāng)用戶在客服會(huì)話發(fā)送消息(或進(jìn)行某些特定的用戶操作引發(fā)的事件推送時(shí)),微信服務(wù)器會(huì)將消息(或事件)的數(shù)據(jù)包(JSON或者XML格式)POST請(qǐng)求開發(fā)者填寫的URL。開發(fā)者收到請(qǐng)求后可以使用發(fā)送客服消息接口進(jìn)行異步回復(fù)。
微信服務(wù)器在將用戶的消息發(fā)給小程序的開發(fā)者服務(wù)器地址(開發(fā)設(shè)置處配置)后,微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會(huì)斷掉連接,并且重新發(fā)起請(qǐng)求,總共重試三次,如果在調(diào)試中,發(fā)現(xiàn)用戶無法收到響應(yīng)的消息,可以檢查是否消息處理超時(shí)。關(guān)于重試的消息排重,有msgid的消息推薦使用msgid排重。事件類型消息推薦使用FromUserName + CreateTime 排重。
服務(wù)器收到請(qǐng)求如果#不需要轉(zhuǎn)發(fā)到客服工具#,必須做出下述回復(fù),這樣微信服務(wù)器才不會(huì)對(duì)此作任何處理,并且不會(huì)發(fā)起重試,否則,將出現(xiàn)嚴(yán)重的錯(cuò)誤提示。詳見下面說明:
1、直接回復(fù)success(推薦方式)
2、直接回復(fù)空串(指字節(jié)長度為0的空字符串,而不是結(jié)構(gòu)體中content字段的內(nèi)容為空)
一旦遇到以下情況,微信都會(huì)在小程序會(huì)話中,向用戶下發(fā)系統(tǒng)提示“該小程序客服暫時(shí)無法提供服務(wù),請(qǐng)稍后再試”:
1、開發(fā)者在5秒內(nèi)未回復(fù)任何內(nèi)容
2、開發(fā)者回復(fù)了異常數(shù)據(jù)
如果開發(fā)者希望把消息或事件轉(zhuǎn)發(fā)到客服工具,請(qǐng)參看轉(zhuǎn)發(fā)消息到客服工具??头ぞ呓尤胝?qǐng)參考客服工具使用說明
如果開發(fā)者希望增強(qiáng)安全性,可以在開發(fā)者中心處開啟消息加密,這樣,用戶發(fā)給小程序的消息以及小程序被動(dòng)回復(fù)用戶消息都會(huì)繼續(xù)加密,詳見消息加解密說明。
各消息類型的推送JSON、XML數(shù)據(jù)包結(jié)構(gòu)如下。
用戶在客服會(huì)話中發(fā)送文本消息時(shí)將產(chǎn)生如下數(shù)據(jù)包:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1482048670</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456<span class="hljs-tag" o="" cl="" ptm="" pbm"="" style=" margin: 0px; padding: 0px; -webkit-tap-highlight-color: transparent; -webkit-font-smoothing: antialiased;">