775
Udesk智能客服系统
通过消息接口接入微信的方法
一、概述
当微信开发者后台绑定其他开发者的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