客服接口
當用戶和公衆號產生特定動作的交互時(具體動作列表請見下方說明),微信將會把消息數據推送給開發者,開發者可以在一段時間內(目前修改爲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", "card_ext": "{\"code\":\"\",\"openid\":\"\",\"timestamp\":\"1402057159\",\"signature\":\"017bb17407c8e0058a66d72dcc61632b70f511ad\"}" }, }
查看card_ext字段詳情及簽名規則,特別注意客服消息接口投放卡券僅支持非自定義Code碼的卡券。
請注意,如果需要以某個客服帳號來發消息(在微信6.0.2及以上版本中顯示自定義頭像),則需在JSON數據包的後半部分加入customservice參數,例如發送文本消息則改爲:
{ "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" }, "customservice": { "kf_account": "test1@kftest" } }
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
touser | 是 | 普通用戶openid |
msgtype | 是 | 消息類型,文本爲text,圖片爲image,語音爲voice,視頻消息爲video,音樂消息爲music,圖文消息(點擊跳轉到外鏈)爲news,圖文消息(點擊跳轉到圖文消息頁面)爲mpnews,卡券爲wxcard |
content | 是 | 文本消息內容 |
media_id | 是 | 發送的圖片/語音/視頻/圖文消息(點擊跳轉到圖文消息頁)的媒體ID |
thumb_media_id | 是 | 縮略圖的媒體ID |
title | 否 | 圖文消息/視頻消息/音樂消息的標題 |
description | 否 | 圖文消息/視頻消息/音樂消息的描述 |
musicurl | 是 | 音樂鏈接 |
hqmusicurl | 是 | 高品質音樂鏈接,wifi環境優先使用該鏈接播放音樂 |
url | 否 | 圖文消息被點擊後跳轉的鏈接 |
picurl | 否 | 圖文消息的圖片鏈接,支持JPG、PNG格式,較好的效果爲大圖640*320,小圖80*80 |
接口返回說明
返回數據示例(正確時的JSON返回結果):