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

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


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

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

已被綁定的小程序客服人員可掃碼登錄微信公眾平臺網頁版客服工具,并選擇對應的小程序帳號,登錄后即可看到與小程序對話的用戶,可選擇接入對話。

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

手動接入:客服人員上線后,點擊“待接入”,即可在“待接入”列表中,手動接入待回復的對話
自動接入:當待接入的對話太多時,可以在設置/接入設置中,開啟自動接入
重新接入:退出登錄,或對話超過半小時,需要重新接入,激活對話

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

小程序客服消息使用除必須遵守微信小程序平臺運營規(guī)范外,還不能違反以下規(guī)則,包括但不限于:
在頁面中使用 <contact-button/> 可以顯示進入客服會話按鈕。
當用戶在客服會話發(fā)送消息(或進行某些特定的用戶操作引發(fā)的事件推送時),微信服務器會將消息(或事件)的數(shù)據(jù)包(JSON或者XML格式)POST請求開發(fā)者填寫的URL。開發(fā)者收到請求后可以使用發(fā)送客服消息接口進行異步回復。
微信服務器在將用戶的消息發(fā)給小程序的開發(fā)者服務器地址(開發(fā)設置處配置)后,微信服務器在五秒內收不到響應會斷掉連接,并且重新發(fā)起請求,總共重試三次,如果在調試中,發(fā)現(xiàn)用戶無法收到響應的消息,可以檢查是否消息處理超時。關于重試的消息排重,有msgid的消息推薦使用msgid排重。事件類型消息推薦使用FromUserName + CreateTime 排重。
服務器收到請求如果#不需要轉發(fā)到客服工具#,必須做出下述回復,這樣微信服務器才不會對此作任何處理,并且不會發(fā)起重試,否則,將出現(xiàn)嚴重的錯誤提示。詳見下面說明:
1、直接回復success(推薦方式)
2、直接回復空串(指字節(jié)長度為0的空字符串,而不是結構體中content字段的內容為空)
一旦遇到以下情況,微信都會在小程序會話中,向用戶下發(fā)系統(tǒng)提示“該小程序客服暫時無法提供服務,請稍后再試”:
1、開發(fā)者在5秒內未回復任何內容
2、開發(fā)者回復了異常數(shù)據(jù)
如果開發(fā)者希望把消息或事件轉發(fā)到客服工具,請參看轉發(fā)消息到客服工具??头ぞ呓尤胝垍⒖伎头ぞ呤褂谜f明
如果開發(fā)者希望增強安全性,可以在開發(fā)者中心處開啟消息加密,這樣,用戶發(fā)給小程序的消息以及小程序被動回復用戶消息都會繼續(xù)加密,詳見消息加解密說明。
各消息類型的推送JSON、XML數(shù)據(jù)包結構如下。
用戶在客服會話中發(fā)送文本消息時將產生如下數(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;">