775
搜狐
通過消息接口接入微信的方法
一、概述
當微信開發者後台綁定其他開發者的URL和Token時,如果想同時使用Udesk服務可以通過一個服務器與Udesk消息接口對接對接來實現。
通過Udesk消息接口對接服務器,消息的接收和發送均走服務器。(其中為了微信做了特別的優化,通過獲得token可以直接生成符合微信規範的圖片類消息無需服務器再上傳到微信)
管理員登錄Udesk後台【設置中心-即時通訊-消息接口接入】
二、測試接收消息通道是否正常
https://xxxx .udesk.cn/spa1/im_callback/test?number=13574221234&email=894733082@qq.com×tamp=20151124141451&sign=07131700A29AD987F5D9F0463CE7EFC7 |
測試接口是否暢通 |
傳入參數
number=13574221234&email=894733082@qq.com×tamp=20151124141451&sign=07131700A29AD987F5D9F0463CE7EFC7
參數 |
描述 |
number |
電話號碼 |
|
郵箱 |
timestamp |
時間戳 |
sign |
按前麵幾個參數生成的md5 的結果 |
Sign 生成方式
sign: md5(number=13574221234&email=894733082@qq.com×tamp=20151124141451&secret)
.upper md5之後大寫
secret: udesk 提供的密鑰
返回參數
{success: false, msg: "請傳遞驗證參數"}
參數 |
描述 |
success |
True/false |
msg |
string格式消息 |
三、接收文本消息
https://xxxx.udesk.cn/spa1/im_callback?number=13574221234&email=894733082@qq.com×tamp=20151124141451&sign=07131700A29AD987F5D9F0463CE7EFC7 |
接收消息接口 post 方式 |
<xml>
<FromUserName>openid</FromUserName>
<Number>phone number</Number>
<Email>894733082@qq.com</Email>
<Content>this is a test</Content>
<CreateTime>1548348776</CreateTime>
<MsgType>text</MsgType>
<MsgId>1548348777</MsgId>
</xml>
參數 |
描述 |
FromUserName |
發送方帳號(一個OpenID) |
Number |
客戶手機號或電話 |
|
客戶郵箱 |
Content |
消息內容 |
CreateTime |
消息創建時間 (整型) |
MsgType |
text |
MsgId |
消息id,64位整型 |
四、接收圖片消息
https://xxxx.udeskdog.com/spa1/im_callback?number=13574221234&email=894733082@qq.com×tamp=20151124141451&sign=07131700A29AD987F5D9F0463CE7EFC7 |
接收消息接口 post 方式 |
<xml>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<Number>phone number</Number>
<Email>894733082@qq.com</Email>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[this is a url]]></PicUrl>
<MediaId><![CDATA[media_id]]></MediaId>
<MsgId>1234567890123456</MsgId>
</xml>
注意xml中的Email和Number不能為空
參數 |
描述 |
FromUserName |
發送方帳號(一個OpenID) |
Number |
客戶手機號或電話 |
|
客戶郵箱 |
CreateTime |
消息創建時間 (整型) |
MsgType |
image |
PicUrl |
圖片鏈接 |
MediaId |
圖片消息媒體id,可以調用多媒體文件下載接口拉取數據。 |
MsgId |
消息id,64位整型 |
五、接收語音消息
https://xxxx.udesk.cn/spa1/im_callback?number=13574221234&email=894733082@qq.com×tamp=20151124141451&sign=07131700A29AD987F5D9F0463CE7EFC7 |
接收消息接口 post 方式 |
<xml>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<Number>phone number</Number>
<Email>894733082@qq.com</Email>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<Format><![CDATA[Format]]></Format>
<MsgId>1234567890123456</MsgId>
</xml>
參數 |
描述 |
FromUserName |
發送方帳號(一個OpenID) |
Number |
客戶手機號或電話 |
|
客戶郵箱 |
CreateTime |
消息創建時間 (整型) |
MsgType |
語音為voice |
MediaId |
圖片消息媒體id,可以調用多媒體文件下載接口拉取數據。 |
Format |
語音格式,amr |
MsgId |
消息id,64位整型 |
六、接收消息時的Response 結果
參數 |
描述 |
status |
客服狀態,queuing/chatting/offline/unknown( 排隊 / 聊天 / 離線 / 未知錯誤 ) |
turn |
排隊在第幾位 |
agent_name |
客服名稱 |
msg |
string 格式消息 |
消息推送
推送地址配置方法:
在【設置中心-即時通訊-消息接口接入】頁麵的推送地址框輸入推送URL即可。
- 推送文本格式消息
{status: 'chatting',
turn: 0,
agent_name: 'Tom',
msg: {
touser: customer_weixin_openid,
msgtype: ‘text’,
text: {content: "您好,客服 Tom 在線為您服務" }
},
kw_on: enabled,
kw_on2: enabled,
kw_msg: '' }
參數 |
描述 |
status |
客服狀態,queuing/chatting/offline/unknown( 排隊 / 聊天 / 離線 / 未知錯誤 ) |
turn |
排隊在第幾位 |
agent_name |
客服名稱 |
msg |
JSON 格式消息 |
kw_on |
忙碌狀態,關鍵字是否啟用 true/false |
kw_on2 |
離線狀態,關鍵字是否啟用 true/false |
kw_msg |
關鍵字匹配回複 |
JSON 格式msg消息說明
參數 |
描述 |
touser |
客戶微信id |
msgtype |
消息類型( text/ image ) |
text |
文本類型回複: {content: "您好,客服 Tom 在線為您服務" } |
- 推送圖片格式消息
{status: 'chatting',
turn: 0,
agent_name: 'Tom',
msg: {
touser: customer_weixin_openid,
msgtype: 'image',
image: {media_id: 123432443 }
},
kw_on: enabled,
kw_on2: enabled,
kw_msg: '' }
參數 |
描述 |
status |
客服狀態,queuing/chatting/offline/unknown( 排隊 / 聊天 / 離線 / 未知錯誤 ) |
turn |
排隊在第幾位 |
agent_name |
客服名稱 |
msg |
JSON 格式消息 |
kw_on |
忙碌狀態,關鍵字是否啟用 true/false |
kw_on2 |
離線狀態,關鍵字是否啟用 true/false |
kw_msg |
關鍵字匹配回複 |
JSON 格式msg消息說明
參數 |
描述 |
touser |
客戶微信id |
msgtype |
消息類型image |
image |
圖片類型回複: {media_id: 123432443 } |
七、獲取Token
- 請求url:
https://xxxxxx.com/getAccessToken?from=udesk×tamp=12124234&sign=133d74d79aef117690f431f81d8df406
參數說明:
from : 固定的,from=udesk
timestamp: 當前時間戳
sign: 由from,timestamp,secret三個參數生成的md5值,secret 的值, 例如:113490dee1b2d7a0f2d5fa3fa9bbd8b
由些得到sign=md5(udesk&12124234&0113490dee1b2d7a0f2d5fa3fa9bbd8b) =133d74d79aef117690f431f81d8df406
- 返回json結果:
返回格式:
{
- error_code: 0,
- error_msg: "SUCCESS",
- data:
{
- token: "rg9noa9Z9AqovM1bTJX_-5VUH9PCBlkQ5u91nEHJVJcu2fN"
- }
}
參數說明:
error_code: 值為0表示成功,其他值為失敗,其中2表示驗證通過,但是獲取token失敗
error_msg: 返回的錯誤提示
data: 包含token,即微信的access_token 值
- 注意事項
- token 的狀態由你方管理,要保證udesk即時取到的token是有效的。
- udesk 不保存token 值,不保存token 狀態。
最後更新:2017-01-17 10:01:46