為豐富小程序的服務(wù)能力,提高服務(wù)質(zhì)量,微信為小程序提供客服消息能力,以便小程序用戶可以方便快捷地與小程序服務(wù)提供方進行溝通。
用戶可使用小程序客服消息功能,與小程序的客服人員進行溝通。
客服消息會話入口有兩個:
1、小程序內(nèi):開發(fā)者在小程序內(nèi)添加客服消息按鈕組件,用戶可在小程序內(nèi)喚起客服會話頁面,給小程序發(fā)消息;
2、已使用過的小程序客服消息會聚合顯示在微信會話“小程序客服消息”內(nèi),用戶可以在小程序外查看歷史客服消息,并給小程序客服發(fā)消息。
客服消息下發(fā)條件:小程序用戶在小程序內(nèi)喚起客服會話或用戶給小程序客服發(fā)送消息,具體下發(fā)時間有效期及消息條數(shù)限制見客服消息下發(fā)條件說明
客服消息類型:目前支持文本及圖片類型消息
為盡量滿足小程序開發(fā)者的需求,小程序可通過以下兩種方式下發(fā)客服消息:1、調(diào)用發(fā)送客服消息接口;2、使用公眾平臺網(wǎng)頁版客服工具
當用戶和小程序客服產(chǎn)生特定動作的交互時(具體動作列表請見下方說明),小程序可向用戶下發(fā)客服消息。
目前允許的動作列表如下,不同動作觸發(fā)后,允許下發(fā)消息條數(shù)和下發(fā)時限不同。下發(fā)條數(shù)達到上限后,會返回錯誤碼。
可發(fā)送客服消息條數(shù)不累加,上述用戶動作會觸發(fā)可下發(fā)條數(shù)及可下發(fā)時限的更新,可下發(fā)消息條數(shù)更新為當前可下發(fā)條數(shù)限制的最大值,有效下發(fā)時間限制也更新為最長有效時間。
調(diào)用客服消息接口發(fā)送客服消息
當用戶在小程序內(nèi)打開客服會話,或是給小程序客服發(fā)消息,微信服務(wù)器會將消息(或事件)的數(shù)據(jù)包(JSON或者XML格式)POST到開發(fā)者填寫的URL。開發(fā)者收到請求后可以調(diào)用接口進行異步回復(fù)。
登錄小程序,在“設(shè)置-開發(fā)設(shè)置-消息推送”啟用消息推送功能并完成相關(guān)信息配置(包括服務(wù)器地址、Token、及加密方式等)。
啟用并設(shè)置服務(wù)器配置后,用戶發(fā)送的消息以及開發(fā)者需要的事件推送,都將被微信轉(zhuǎn)發(fā)至開發(fā)者URL中。
小程序客服消息API文檔
小程序也可以直接使用微信公眾平臺網(wǎng)頁版客服工具進行客服消息回復(fù)。
若小程序沒有啟用消息推送,則用戶發(fā)送的消息將會被轉(zhuǎn)發(fā)至網(wǎng)頁版客服工具,客服人員可在網(wǎng)頁版客服工具中接入并回復(fù)用戶。
注意:“用戶通過客服消息按鈕進入會話”事件將不會轉(zhuǎn)發(fā)至網(wǎng)頁版客服工具。
使用網(wǎng)頁版客服工具前,小程序管理員需在小程序后臺完成客服人員的綁定。目前小程序支持綁定不多于100個客服人員。
登錄并接入
已被綁定的小程序客服人員可掃碼登錄微信公眾平臺網(wǎng)頁版客服工具,并選擇對應(yīng)的小程序帳號,登錄后即可看到與小程序?qū)υ挼挠脩?,可選擇接入對話。
點擊在線狀態(tài),可以選擇在線狀態(tài)、離開狀態(tài)或退出登錄
手動接入:客服人員上線后,點擊“待接入”,即可在“待接入”列表中,手動接入待回復(fù)的對話
自動接入:當待接入的對話太多時,可以在設(shè)置/接入設(shè)置中,開啟自動接入
重新接入:退出登錄,或?qū)υ挸^半小時,需要重新接入,激活對話
已經(jīng)接入的會話,客服人員可以在48小時內(nèi)和用戶進行對話,目前支持發(fā)送文本、圖片類型的消息。
小程序客服消息使用除必須遵守微信小程序平臺運營規(guī)范外,還不能違反以下規(guī)則,包括但不限于:
不允許惡意誘導用戶進行可能觸發(fā)客服消息下發(fā)的操作,以達到可向用戶下發(fā)客服消息目的
不允許惡意騷擾,下發(fā)與用戶發(fā)送的消息沒有關(guān)聯(lián)的、對用戶造成騷擾的消息
不允許惡意營銷,下發(fā)內(nèi)容涉嫌虛假夸大、違法類營銷信息
不允許使用客服消息向用戶下發(fā)虛假、色情、暴力等違反國家法律規(guī)定的信息
在頁面中使用<contact-button/> 可以顯示進入客服會話按鈕。
當用戶在客服會話發(fā)送消息(或進行某些特定的用戶操作引發(fā)的事件推送時),微信服務(wù)器會將消息(或事件)的數(shù)據(jù)包(JSON或者XML格式)POST請求開發(fā)者填寫的URL。開發(fā)者收到請求后可以使用發(fā)送客服消息接口進行異步回復(fù)。
微信服務(wù)器在將用戶的消息發(fā)給小程序的開發(fā)者服務(wù)器地址(開發(fā)設(shè)置處配置)后,微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會斷掉連接,并且重新發(fā)起請求,總共重試三次,如果在調(diào)試中,發(fā)現(xiàn)用戶無法收到響應(yīng)的消息,可以檢查是否消息處理超時。關(guān)于重試的消息排重,有msgid的消息推薦使用msgid排重。事件類型消息推薦使用FromUserName + CreateTime 排重。
服務(wù)器收到請求如果#不需要轉(zhuǎn)發(fā)到客服工具#,必須做出下述回復(fù),這樣微信服務(wù)器才不會對此作任何處理,并且不會發(fā)起重試,否則,將出現(xiàn)嚴重的錯誤提示。詳見下面說明:
一旦遇到以下情況,微信都會在小程序會話中,向用戶下發(fā)系統(tǒng)提示“該小程序客服暫時無法提供服務(wù),請稍后再試”:
如果開發(fā)者希望把消息或事件轉(zhuǎn)發(fā)到客服工具,請參看轉(zhuǎn)發(fā)消息到客服工具??头ぞ呓尤胝垍⒖伎头ぞ呤褂谜f明
如果開發(fā)者希望增強安全性,可以在開發(fā)者中心處開啟消息加密,這樣,用戶發(fā)給小程序的消息以及小程序被動回復(fù)用戶消息都會繼續(xù)加密,詳見消息加解密說明。
各消息類型的推送JSON、XML數(shù)據(jù)包結(jié)構(gòu)如下。
用戶在客服會話中發(fā)送文本消息時將產(chǎn)生如下數(shù)據(jù)包:
用戶在客服會話中發(fā)送圖片消息時將產(chǎn)生如下數(shù)據(jù)包:
用戶在小程序“客服會話按鈕”進入客服會話時將產(chǎn)生如下數(shù)據(jù)包:
如果開發(fā)者希望消息被轉(zhuǎn)發(fā)到客服工具處理,請按照下述結(jié)構(gòu)返回響應(yīng)包。響應(yīng)包的數(shù)據(jù)格式(XML或JSON)需要與設(shè)置的接收消息數(shù)據(jù)格式一致。
新增組件:
contact-button
客服會話按鈕,用于在頁面上顯示一個客服會話按鈕,用戶點擊該按鈕后會進入客服會話。
當用戶和小程序客服產(chǎn)生特定動作的交互時(具體動作列表請見下方說明),微信將會把消息數(shù)據(jù)推送給開發(fā)者,開發(fā)者可以在一段時間內(nèi)(目前修改為48小時)調(diào)用客服接口,通過POST一個JSON數(shù)據(jù)包來發(fā)送消息給普通用戶。此接口主要用于客服等有人工消息處理環(huán)節(jié)的功能,方便開發(fā)者為用戶提供更加優(yōu)質(zhì)的服務(wù)。
目前允許的動作列表如下,不同動作觸發(fā)后,允許的客服接口下發(fā)消息條數(shù)和下發(fā)時限不同。下發(fā)條數(shù)達到上限后,會收到錯誤返回碼,具體請見返回碼說明頁:
接口調(diào)用請求說明
發(fā)送文本消息
發(fā)送圖片消息
參數(shù)說明
小程序可以使用本接口獲取客服消息內(nèi)的臨時素材(即下載臨時的多媒體文件)。目前小程序僅支持下載圖片文件。
HTTP 請求方式: GET,HTTPS 調(diào)用
請求示例(示例為通過curl命令獲取多媒體文件)
正確情況下的返回 HTTP 頭如下:
如果返回的是視頻消息素材,則內(nèi)容如下:
錯誤情況下的返回JSON數(shù)據(jù)包示例如下(示例為無效媒體ID錯誤):
新增臨時素材
小程序可以使用本接口把媒體文件(目前僅支持圖片)上傳到微信服務(wù)器,用戶發(fā)送客服消息或被動回復(fù)用戶消息。
接口調(diào)用請求說明
HTTP 請求方式:POST/FORM,HTTPS 調(diào)用
調(diào)用示例(使用curl命令,用FORM表單方式上傳一個多媒體文件):
正確情況下的返回 JSON 數(shù)據(jù)包結(jié)果如下:
錯誤情況下的返回JSON數(shù)據(jù)包示例如下(示例為無效媒體類型錯誤):