客服訊息
客服訊息
當使用者和公眾號產生特定動作的互動時(具體動作清單請見下方說明),微信將會把訊息資料推送給開發者,開發者可以在一段時間內(目前修改為48小時)呼叫客服接口,透過POST一個JSON封包來傳送訊息給一般使用者。此介面主要用於客服等有人工訊息處理環節的功能,方便開發者提供使用者更有品質的服務。
目前允許的動作列表如下(公眾平台會根據營運情況更新該列表,不同動作觸發後,允許的客服介面下發訊息條數不同,下發條數達到上限後,會遇到錯誤回傳碼,具體請見回傳碼說明頁):
1、用户发送信息 2、点击自定义菜单(仅有点击推事件、扫码推事件、扫码推事件且弹出“消息接收中”提示框这3种菜单类型是会触发客服接口的) 3、关注公众号 4、扫描二维码 5、支付成功 6、用户维权
為了幫助公眾號使用不同的客服身分服務不同的使用者群體,客服介面進行了升級,開發者可以管理客服帳號,並設定客服帳號的頭像和暱稱。此能力針對所有擁有客服介面權限的公眾號開放。
另外,請開發者註意,本介面中所有使用到media_id的地方,現在都可以使用素材管理中的永久素材media_id了。
#客服帳號管理
客服帳號管理
開發者在根據開發文件的要求完成開發後,使用6.0.2版及以上版本的微信用戶在與公眾號進行客服溝通,公眾號使用不同的客服帳號進行回復後,用戶可以看到對應的客服頭像和暱稱。
請注意,必須先在公眾平台官網為公眾號設定微訊號後才能使用此能力。
#####################新增客服帳號
開發者可以透過此介面為公眾號碼新增客服帳號,每個公眾號碼最多新增10個客服帳號。此介面呼叫請求如下:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/add?access_token=ACCESS_TOKEN
POST資料範例如下:
{ "kf_account" : "test1@test", "nickname" : "客服1", "password" : "pswmd5", }
傳回說明(正確時的JSON回傳結果):
{ "errcode" : 0, "errmsg" : "ok", }
錯誤時微信會傳回錯誤碼等訊息,請根據錯誤碼查詢錯誤訊息
修改客服帳號
開發者可以透過此介面為公眾號碼修改客服帳號。此介面呼叫請求如下:
http请求方式: POST https://api.weixin.qq.com/customservice/kfaccount/update?access_token=ACCESS_TOKEN
POST資料範例如下:
{ "kf_account" : "test1@test", "nickname" : "客服1", "password" : "pswmd5", }
傳回說明(正確時的JSON回傳結果):
{ "errcode" : 0, "errmsg" : "ok", }
錯誤時微信會傳回錯誤碼等訊息,請根據錯誤碼查詢錯誤訊息
刪除客服帳號
開發者可以透過此介面為公眾號碼刪除客服帳號。此介面呼叫請求如下:
http请求方式: GET https://api.weixin.qq.com/customservice/kfaccount/del?access_token=ACCESS_TOKEN
POST資料範例如下:
{ "kf_account" : "test1@test", "nickname" : "客服1", "password" : "pswmd5", }
傳回說明(正確時的JSON回傳結果):
{ "errcode" : 0, "errmsg" : "ok", }
錯誤時微信會傳回錯誤碼等訊息,請根據錯誤碼查詢錯誤訊息
設定客服帳號的頭像
#開發者可呼叫此介面來上傳圖片作為客服人員的頭像,頭像圖片檔案必須是jpg格式,建議使用640*640大小的圖片以達到最佳效果。此介面呼叫請求如下:
http请求方式: POST/FORM http://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT 调用示例:使用curl命令,用FORM表单方式上传一个多媒体文件,curl命令的具体用法请自行了解
傳回說明(正確時的JSON回傳結果):
{ "errcode" : 0, "errmsg" : "ok", }
錯誤時微信會傳回錯誤碼等訊息,請根據錯誤碼查詢錯誤訊息
#
取得所有客服帳號
開發者透過本接口,取得公眾號中所設定的客服基本信息,包括客服工號、客服暱稱、客服登入帳號。
http请求方式: GET https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=ACCESS_TOKEN
回傳說明(正確時的JSON回傳結果):
{ "kf_list": [ { "kf_account": "test1@test", "kf_nick": "ntest1", "kf_id": "1001" "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0" }, { "kf_account": "test2@test", "kf_nick": "ntest2", "kf_id": "1002" "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw /0" }, { "kf_account": "test3@test", "kf_nick": "ntest3", "kf_id": "1003" "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw /0" } ] }
錯誤時微信會傳回錯誤碼等訊息,請根據錯誤碼查詢錯誤訊息
介面的統一參數說明
#
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 呼叫介面憑證 |
kf_account | 是 | 完整客服帳號,格式為:帳號前綴@公眾號微訊號 |
kf_nick | 是 | |
##kf_id | 是 | 客服工號碼 |
nickname | 是 | 客服暱稱,最長6個漢字或12個英文字元 |
#password | #否 | 客服帳號登入密碼,格式為密碼明文的32位元加密MD5值。此密碼僅用於在公眾平台官網的多客服功能中使用,若不使用多客服功能,則不必設定密碼 |
media | 是 | 此參數僅在設定客服頭像時出現,是form-data中媒體檔案標識,有filename、filelength、content-type等資訊 |
#客服介面-發送訊息
介面呼叫請求說明
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
各訊息類型所需的JSON封包如下:
傳送文字訊息
{ "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" } }
傳送圖片訊息
{ "touser":"OPENID", "msgtype":"image", "image": { "media_id":"MEDIA_ID" } }
發送語音訊息
{ "touser":"OPENID", "msgtype":"voice", "voice": { "media_id":"MEDIA_ID" } }
發送視訊訊息
{ "touser":"OPENID", "msgtype":"video", "video": { "media_id":"MEDIA_ID", "thumb_media_id":"MEDIA_ID", "title":"TITLE", "description":"DESCRIPTION" } }
發送音樂訊息
{ "touser":"OPENID", "msgtype":"music", "music": { "title":"MUSIC_TITLE", "description":"MUSIC_DESCRIPTION", "musicurl":"MUSIC_URL", "hqmusicurl":"HQ_MUSIC_URL", "thumb_media_id":"THUMB_MEDIA_ID" } }
發送圖文訊息(點擊跳到外鏈) 圖文訊息條數限制在8條以內,注意,如果圖文數超過8,則會無響應。
{ "touser":"OPENID", "msgtype":"news", "news":{ "articles": [ { "title":"Happy Day", "description":"Is Really A Happy Day", "url":"URL", "picurl":"PIC_URL" }, { "title":"Happy Day", "description":"Is Really A Happy Day", "url":"URL", "picurl":"PIC_URL" } ] } }
傳送圖文訊息(點擊跳到圖文訊息頁面) 圖文訊息條數限制在8條以內,注意,如果圖文數超過8,將會無回應。
{ "touser":"OPENID", "msgtype":"mpnews", "mpnews": { "media_id":"MEDIA_ID" } }
發送卡券
{ "touser":"OPENID", "msgtype":"wxcard", "wxcard":{ "card_id":"123dsdajkasd231jhksad" }, }
特別注意客服訊息介面投放卡券僅支援非自訂Code碼和匯入code模式的卡券的卡券。
請注意,如果需要以某個客服帳號來發送訊息(在微信6.0.2以上版本中顯示自訂頭像),則需在JSON封包的後半部加入customservice參數,例如發送文字訊息則改為:
#{ "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" }, "customservice": { "kf_account": "test1@kftest" } }
參數 | 是否必須 | |
---|---|---|
access_token | 是 | 呼叫介面憑證 |
touser | 是 | 普通使用者openid |
是 | 訊息類型,文字為text,圖片為image,語音為voice,視訊訊息為video,音樂訊息為music,圖文訊息(點擊跳到外鏈)為news,圖文訊息(點擊跳到圖文訊息頁面)為mpnews,卡券為wxcard | |
是 | 文字訊息內容 | |
是 | 發送的圖片/語音/視訊/圖文訊息(點擊跳到圖文訊息頁)的媒體ID | |
thumb_media_id | 是 | 縮寫的媒體ID |
title | 否 | |
# #圖文訊息/視訊訊息/音樂訊息的標題 | ||
#否 | 圖文訊息/視訊訊息/音樂訊息的描述 |
介面傳回說明
傳回資料範例(正確時的JSON回傳結果):