新聞中心
客服消息
在頁面使用客服消息
需要將 button 組件 open-type 的值設(shè)置為 contact,當用戶點擊后就會進入客服會話,如果用戶在會話中點擊了小程序消息,則會返回到小程序,開發(fā)者可以通過 bindcontact 事件回調(diào)獲取到用戶所點消息的頁面路徑 path 和對應(yīng)的參數(shù) query。

站在用戶的角度思考問題,與客戶深入溝通,找到和順網(wǎng)站設(shè)計與和順網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋和順地區(qū)。
代碼示例
Page({
handleContact (e) {
console.log(e.detail.path)
console.log(e.detail.query)
}
})
返回參數(shù)說明
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| path | String | 小程序消息指定的路徑 |
| query | Object | 小程序消息指定的查詢參數(shù) |
后臺接入消息服務(wù)
用戶向小程序客服發(fā)送消息、或者進入會話等情況時,開發(fā)者填寫的服務(wù)器配置 URL (如果使用的是云開發(fā),則是配置的云函數(shù))將得到微信服務(wù)器推送過來的消息和事件,開發(fā)者可以依據(jù)自身業(yè)務(wù)邏輯進行響應(yīng)。接入和使用方式請參考消息推送。
接收消息和事件
在頁面中使用 可以顯示進入客服會話按鈕。
當用戶在客服會話發(fā)送消息、或由某些特定的用戶操作引發(fā)事件推送時,微信服務(wù)器會將消息或事件的數(shù)據(jù)包發(fā)送到開發(fā)者填寫的 URL,如果使用的是云開發(fā),則可以推送到指定的云函數(shù)(詳情請參考消息推送)。開發(fā)者收到請求后可以使用 發(fā)送客服消息 接口進行異步回復(fù)。
各消息類型的推送JSON、XML數(shù)據(jù)包結(jié)構(gòu)如下。
文本消息
用戶在客服會話中發(fā)送文本消息時將產(chǎn)生如下數(shù)據(jù)包:
XML 格式
1482048670
1234567890123456
JSON 格式
{
"ToUserName": "toUser",
"FromUserName": "fromUser",
"CreateTime": 1482048670,
"MsgType": "text",
"Content": "this is a test",
"MsgId": 1234567890123456
}
參數(shù)說明
| 參數(shù) | 說明 |
|---|---|
| ToUserName | 小程序的原始ID |
| FromUserName | 發(fā)送者的openid |
| CreateTime | 消息創(chuàng)建時間(整型) |
| MsgType | text |
| Content | 文本消息內(nèi)容 |
| MsgId | 消息id,64位整型 |
圖片消息
用戶在客服會話中發(fā)送圖片消息時將產(chǎn)生如下數(shù)據(jù)包:
XML 格式
1482048670
1234567890123456
JSON 格式
{
"ToUserName": "toUser",
"FromUserName": "fromUser",
"CreateTime": 1482048670,
"MsgType": "image",
"PicUrl": "this is a url",
"MediaId": "media_id",
"MsgId": 1234567890123456
}
參數(shù)說明
| 參數(shù) | 說明 |
|---|---|
| ToUserName | 小程序的原始ID |
| FromUserName | 發(fā)送者的openid |
| CreateTime | 消息創(chuàng)建時間(整型) |
| MsgType | image |
| PicUrl | 圖片鏈接(由系統(tǒng)生成) |
| MediaId | 圖片消息媒體id,可以調(diào)用[獲取臨時素材]((getTempMedia)接口拉取數(shù)據(jù)。 |
| MsgId | 消息id,64位整型 |
小程序卡片消息
用戶在客服會話中發(fā)送小程序卡片消息時將產(chǎn)生如下數(shù)據(jù)包:
XML 格式
1482048670
1234567890123456
JSON 格式
{
"ToUserName": "toUser",
"FromUserName": "fromUser",
"CreateTime": 1482048670,
"MsgType": "miniprogrampage",
"MsgId": 1234567890123456,
"Title":"title",
"AppId":"appid",
"PagePath":"path",
"ThumbUrl":"",
"ThumbMediaId":""
}
參數(shù)說明
| 參數(shù) | 說明 |
|---|---|
| ToUserName | 小程序的原始ID |
| FromUserName | 發(fā)送者的openid |
| CreateTime | 消息創(chuàng)建時間(整型) |
| MsgType | miniprogrampage |
| MsgId | 消息id,64位整型 |
| Title | 標題 |
| AppId | 小程序appid |
| PagePath | 小程序頁面路徑 |
| ThumbUrl | 封面圖片的臨時cdn鏈接 |
| ThumbMediaId | 封面圖片的臨時素材id |
進入會話事件
用戶在小程序“客服會話按鈕”進入客服會話時將產(chǎn)生如下數(shù)據(jù)包:
XML 格式
1482048670
JSON 格式
{
"ToUserName": "toUser",
"FromUserName": "fromUser",
"CreateTime": 1482048670,
"MsgType": "event",
"Event": "user_enter_tempsession",
"SessionFrom": "sessionFrom"
}
參數(shù)說明
| 參數(shù) | 說明 |
|---|---|
| ToUserName | 小程序的原始ID |
| FromUserName | 發(fā)送者的openid |
| CreateTime | 事件創(chuàng)建時間(整型) |
| MsgType | event |
| Event | 事件類型,user_enter_tempsession |
| SessionFrom | 開發(fā)者在客服會話按鈕設(shè)置的 session-from 屬性 |
發(fā)送客服消息
當用戶和小程序客服產(chǎn)生特定動作的交互時(具體動作列表請見下方說明),微信將會把消息數(shù)據(jù)推送給開發(fā)者,開發(fā)者可以在一段時間內(nèi)(目前為 48 小時)調(diào)用客服接口,通過調(diào)用 發(fā)送客服消息接口 來發(fā)送消息給普通用戶。此接口主要用于客服等有人工消息處理環(huán)節(jié)的功能,方便開發(fā)者為用戶提供更加優(yōu)質(zhì)的服務(wù)。
目前允許的動作列表如下,不同動作觸發(fā)后,允許的客服接口下發(fā)消息條數(shù)和下發(fā)時限不同。
| 用戶動作 | 允許下發(fā)條數(shù)限制 | 下發(fā)時限 |
|---|---|---|
| 用戶發(fā)送消息 | 5 條 | 48 小時 |
轉(zhuǎn)發(fā)客服消息
如果小程序設(shè)置了消息推送,普通微信用戶向小程序客服發(fā)消息時,微信服務(wù)器會先將消息 POST 到開發(fā)者填寫的 URL 上,如果希望將消息轉(zhuǎn)發(fā)到網(wǎng)頁版客服工具,則需要開發(fā)者在響應(yīng)包中返回 MsgType 為 transfer_customer_service 的消息,微信服務(wù)器收到響應(yīng)后會把當次發(fā)送的消息轉(zhuǎn)發(fā)至客服系統(tǒng)。
用戶被客服接入以后,客服關(guān)閉會話以前,處于會話過程中時,用戶發(fā)送的消息均會被直接轉(zhuǎn)發(fā)至客服系統(tǒng)。當會話超過 30 分鐘客服沒有關(guān)閉時,微信服務(wù)器會自動停止轉(zhuǎn)發(fā)至客服,而將消息恢復(fù)發(fā)送至開發(fā)者填寫的 URL 上。
用戶在等待隊列中時,用戶發(fā)送的消息仍然會被推送至開發(fā)者填寫的 URL 上。
這里特別要注意,只針對微信用戶發(fā)來的消息才進行轉(zhuǎn)發(fā),而對于其他事件(比如用戶從小程序喚起客服會話)都不應(yīng)該轉(zhuǎn)發(fā),否則客服在客服系統(tǒng)上就會看到一些無意義的消息了。
消息轉(zhuǎn)發(fā)到網(wǎng)頁版客服工具
開發(fā)者只要在響應(yīng)包中返回 MsgType 為 transfer_customer_service 的消息,微信服務(wù)器收到響應(yīng)后就會把當次發(fā)送的消息轉(zhuǎn)發(fā)至客服系統(tǒng)。
如果是使用自有服務(wù)器接收的消息推送,則需返回如下格式的 XML 數(shù)據(jù):
1399197672
參數(shù)說明
| 參數(shù) | 是否必須 | 描述 |
|---|---|---|
| ToUserName | 是 | 接收方帳號(收到的OpenID) |
| FromUserName | 是 | 開發(fā)者微信號 |
| CreateTime | 是 | 消息創(chuàng)建時間 (整型) |
| MsgType | 是 | transfer_customer_service |
如果是使用云函數(shù)接收的消息推送,則需在云函數(shù)被客服消息觸發(fā)后返回同樣格式的 JSON 數(shù)據(jù):
// ...
exports.main = async (event, context) => {
// 判斷處理客服消息 ...
// 最后返回 JSON
return {
MsgType: 'transfer_customer_service',
ToUserName: 'touser',
FromUserName: 'fromuser',
CreateTime: parseInt(+new Date / 1000),
}
}
客服輸入狀態(tài)
開發(fā)者可通過調(diào)用 客服輸入狀態(tài)接口,返回客服當前輸入狀態(tài)給用戶。
- 此接口需要客服消息接口權(quán)限。
- 如果不滿足發(fā)送客服消息的觸發(fā)條件,則無法下發(fā)輸入狀態(tài)。
- 下發(fā)輸入狀態(tài),需要客服之前 30 秒內(nèi)跟用戶有過消息交互。
- 在輸入狀態(tài)中(持續(xù) 15 秒),不可重復(fù)下發(fā)輸入態(tài)。
- 在輸入狀態(tài)中,如果向用戶下發(fā)消息,會同時取消輸入狀態(tài)。
在客服消息中使用臨時素材
開發(fā)者可在接收和發(fā)送客服消息的過程中獲取或上傳臨時素材。
獲取臨時素材
接收到用戶消息之后,可通過 獲取臨時素材接口 獲取消息中的臨時素材
上傳臨時素材
通過 上傳臨時素材接口 可以上傳臨時素材,并在 發(fā)送消息接口 中使用。
分享標題:創(chuàng)新互聯(lián)小程序教程:微信小程序消息·客服消息
文章網(wǎng)址:http://fisionsoft.com.cn/article/dphdihj.html


咨詢
建站咨詢
