udesk是一款实现手机用户与企业客服保持实时沟通的在线工具。本插件封装了udesk的相关接口,使用此插件需先注册udesk来获取appKey,appId和domain。
注册udesk: 登入udesk官网注册udesk账号,进入管理员页面,在管理中心-单点登录中获取共享的秘钥,domain为你注册的域名,例如:udesk.udesk.cn。
在 iOS 端最低适配版本为iOS 8
初始化udesk
initUdesk({param})
appId:
appKey:
domain:
sdkToken:
var param = {
appId:'***********',
appKey:'************',
domain:'***.udesk.cn',
sdkToken : '************'
};
var udesk = api.require('udesk');
udesk.initUdesk(param);
使用此插件,必须先用initUdesk初始化
iOS系统 Android系统(4.0及以上)
可提供的1.0.0及更高版本
添加用户相关信息
addUserInfo({param})
nick_name:
cellphone:
email:
description:
custom:
{
custom1: 'apicloud', // 字符串类型;用户自定义字段1
custom2: [ // 数组类型;用户自定义字段2
"legg",
"leee",
...
],
...
}
var param = {
nick_name: 'sixer',
cellphone: '00113233',
email: 'xu23@163.com',
description: '测试描述'
};
var udesk = api.require('udesk');
udesk.addUserInfo(param);
使用此插件会讲用户信息传入udesk web端,用于客服查看工单时供客服参考,此接口必须在showConversation(),showFAQSection()之前之前执行。
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
获取未读消息数量
unreadMessagesCount(callback(ret))
ret:
{
count : 6 //数字类型;未读消息数量
}
var udesk = api.require('udesk');
udesk.unreadMessagesCount(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取未读消息
unreadMessages(callback(ret))
ret:
{
unreadMessages : //数组类型;未读消息数组
[
{ //JSON对象;未读消息相关信息
content : //字符串类型;消息内容
messageId : //字符串类型;消息ID
agentJid : //字符串类型;客服JID,(android不支持)
avatar : //字符串类型;消息发送人头像,(android不支持)
nickName : //字符串类型;消息发送人昵称,(android不支持)
messageType : 0 //数字类型;消息类型
// messageType 取值范围:
// 0,文字
// 1,图片
// 2,语音
// 3,咨询对象(android不支持)
// 4,转接
// 5,欢迎语(android不支持)
// 6,结构化消息
// 7,离线留言
// 8,视频
// 9,消息撤回(android不支持)
// 10,地理位置消息
// 11,文件类型
// 12,udeskevent
messageStatus : 0 //数字类型;消息发送状态,(android不支持)
// messageStatus 取值范围:
// 0,发送中
// 1,发送失败
// 2,发送成功
voiceDuration : 666 //数字类型;语音时长,messageType为 2 时才返回,(android不支持)
isGif : false //布尔类型;图片是否是GIF,(android不支持) messageType为 1 时才返回
}
]
}
var udesk = api.require('udesk');
udesk.unreadMessages(function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
将所有未读消息设置为已读,(android不支持此接口,打开消息界面自动标记为已读)
markAllMessagesAsRead()
var udesk = api.require('udesk');
udesk.markAllMessagesAsRead();
iOS系统
可提供的1.0.0及更高版本
弹出udesk联系我们页面
showConversation(params)
agentId:
groupId:
commodity
commodityTitle:"nick", // 必选项,字符串,商品标题
commoditySubTitle:"¥99.0", // 必选项,字符串,商品副标题
commodityThumbHttpUrl:"https://img.alicdn.com/imgextra/i1/1728293990/TB2ngm0qFXXXXcOXXXXXXXXXXXX_!!1728293990.jpg_430x430q90.jpg", //必选项,左侧图片
commodityUrl:"https://detail.tmall.com/item.htm?spm=a1z10.3746-b.w4946-14396547293.1.4PUcgZ&id=529634221064&sku_properties=-1:-1" //必选项,商品链接
var udesk = api.require('udesk');
var params = {
groupId : '666',
commodity:{
commodityTitle:"nick",
commoditySubTitle:"¥99.0",
commodityThumbHttpUrl:"https://img.alicdn.com/imgextra/i1/1728293990/TB2ngm0qFXXXXcOXXXXXXXXXXXX_!!1728293990.jpg_430x430q90.jpg",
commodityUrl:"https://detail.tmall.com/item.htm?spm=a1z10.3746-b.w4946-14396547293.1.4PUcgZ&id=529634221064&sku_properties=-1:-1"
}};
udesk.showConversation(params);
使用此方法,必须先用addUserInfo()方法。
iOS系统 Android系统(4.0及以上)
可提供的1.0.0及更高版本
弹出udesk帮助中心页面
showFAQSection()
var udesk = api.require('udesk');
udesk.showFAQSection();
使用此方法,必须先用addUserInfo()方法。
iOS系统 Android系统(4.0及以上)
可提供的1.0.0及更高版本
拼接udesk组件
component({param})
picture:
emoji:
var param = {
picture: true,
emoji: true
};
var udesk = api.require('udesk');
udesk.component(param);
Android系统暂不支持
使用此插件,接口必须在showConversation(),showFAQSection()之前之前执行,如果不使用此功能则Udesk IM不支持发送图片和表情。
iOS系统
可提供的1.0.0及更高版本
添加获取消息的监听
注意:此接口要在initUdesk和addUserInfo调用后生效
addEventListener(callback(ret))
ret
{
content : //字符串类型;消息内容(android仅msgType 为‘message’时有效)
messageId : //字符串类型;消息ID
messageType : 0 //数字类型;消息类型(仅iOS支持)
// messageType 取值范围:
// 0,文字
// 1,图片
// 2,语音
// 4,转接
// 6,结构化消息
// 7,离线留言
// 8,视频
// 10,地理位置消息
// 11,文件类型
// 12,udeskevent
msgType:'', //字符串类型;消息类型(仅android支持)
//msgType 取值范围:
//'message'为消息
//'event' 为事件
}
var udesk = api.require('udesk');
udesk.addEventListener(function(ret){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,android系统
可提供的1.0.0及更高版本
设置语言
注意:插件默认是自动识别当前系统语言,根据当前系统语言自适应语言显示(目前支持:英文、简体中文、繁体中文(台湾))。本接口应在初始化接口(initUdesk)后、弹出界面(showConversation、showFAQSection)之前调用。
setLanguage({param})
language:
var param = {
language: auto
};
var udesk = api.require('udesk');
udesk.setLanguage(param);
iOS系统
可提供的1.0.4及更高版本