udesk
来自于:udesk立即使用
initUdesk addUserInfo unreadMessagesCount unreadMessages markAllMessagesAsRead showConversation showFAQSection component addEventListener setLanguage
概述
udesk是一款实现手机用户与企业客服保持实时沟通的在线工具。本模块封装了udesk的相关接口,使用此模块需先注册udesk来获取appKey,appId和domain。
注册udesk: 登入udesk官网注册udesk账号,进入管理员页面,在管理中心-单点登录中获取共享的秘钥,domain为你注册的域名,例如:udesk.udesk.cn。
在 iOS 端最低适配版本为iOS 8
initUdesk
初始化udesk
initUdesk({param})
params
appId:
- 类型:字符串
- 默认值:无
- 描述:注册udesk后,从udesk后台获得的appId,不可为空
appKey:
- 类型:字符串
- 默认值:无
- 描述:注册udesk后,从udesk后台获得的appKey,不可为空
domain:
- 类型:字符串
- 默认值:无
- 描述:udesk域名,注册后获取,不能为空
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
添加用户相关信息
addUserInfo({param})
params
nick_name:
- 类型:字符串
- 描述:(可选项) 用户昵称;
- 默认值:无
cellphone:
- 类型:字符串
- 描述:(可选项) 用户电话。如果给顾客设置了手机号码,要保证不同顾客对应的手机号不一样,如出现相同的,则不会创建新顾客
- 默认值:无
email:
- 类型:字符串
- 描述:(可选项) 用户邮箱。如果给顾客设置了邮箱,要保证不同顾客对应的邮箱不一样,如出现相同的,则不会创建新顾客
- 默认值:无
description:
- 类型:字符串
- 描述:(可选项) 用户描述;
- 默认值:无
custom:
- 类型:JSON 对象
- 描述:(可选项)用户自定义字段
- 内部字段:自定义key,自定义value(支持字符串和数组)
{
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
获取未读消息数量
unreadMessagesCount(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
count : 6 //数字类型;未读消息数量
}
示例代码
var udesk = api.require('udesk');
udesk.unreadMessagesCount(function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
unreadMessages
获取未读消息
unreadMessages(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
markAllMessagesAsRead
将所有未读消息设置为已读,(android不支持此接口,打开消息界面自动标记为已读)
markAllMessagesAsRead()
示例代码
var udesk = api.require('udesk');
udesk.markAllMessagesAsRead();
可用性
iOS系统
可提供的1.0.0及更高版本
showConversation
弹出udesk联系我们页面
showConversation(params)
params
agentId:
- 类型:字符串
- 描述:(可选项)客服id;
- 注意:如果agentId和groupId都有值,默认选择agentId,如果两者都不选,自动分配客服
- 默认值:无
groupId:
- 类型:字符串
- 描述:(可选项)客服组id;
- 注意:如果agentId和groupId都有值,默认选择agentId,如果两者都不选,自动分配客服
- 默认值:无
commodity
- 类型:JSON对象
- 描述:(可选项) 是否带入商品信息
- 内部字段:
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及更高版本
showFAQSection
弹出udesk帮助中心页面
showFAQSection()
示例代码
var udesk = api.require('udesk');
udesk.showFAQSection();
补充说明
使用此方法,必须先用addUserInfo()方法。
可用性
iOS系统 Android系统(4.0及以上)
可提供的1.0.0及更高版本
component
拼接udesk组件
component({param})
params
picture:
- 类型:布尔类型
- 默认值:false
- 描述:请输入true或false,用户组织udesk 发送图片组建和表情组建。
emoji:
- 类型:布尔类型
- 默认值:false
- 描述:请输入true或false,用户组织udesk 发送图片组建和表情组建。
示例代码
var param = {
picture: true,
emoji: true
};
var udesk = api.require('udesk');
udesk.component(param);
补充说明
Android系统暂不支持
使用此模块,接口必须在showConversation(),showFAQSection()之前之前执行,如果不使用此功能则Udesk IM不支持发送图片和表情。
可用性
iOS系统
可提供的1.0.0及更高版本
addEventListener
添加获取消息的监听
注意:此接口要在initUdesk和addUserInfo调用后生效
addEventListener(callback(ret))
callback(ret)
ret
- 类型:JSON对象
- 描述:消息的回调
- 内部字段:
{
content : //字符串类型;消息内容
messageId : //字符串类型;消息ID
messageType : 0 //数字类型;消息类型
// messageType 取值范围:
// 0,文字
// 1,图片
// 2,语音
// 4,转接
// 6,结构化消息
// 7,离线留言
// 8,视频
// 10,地理位置消息
// 11,文件类型
// 12,udeskevent
}
示例代码
var udesk = api.require('udesk');
udesk.addEventListener(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本
setLanguage
设置语言
注意:模块默认是自动识别当前系统语言,根据当前系统语言自适应语言显示(目前支持:英文、简体中文、繁体中文(台湾))。本接口应在初始化接口(initUdesk)后、弹出界面(showConversation、showFAQSection)之前调用。
setLanguage({param})
params
language:
- 类型:字符串
- 默认值:chinese
- 描述:设置语言
- 取值范围:
- auto:根据当前系统语言自适应,目前支持英文、简体中文、繁体中文(台湾)
- english:英文
- chinese:简体中文
示例代码
var param = {
language: auto
};
var udesk = api.require('udesk');
udesk.setLanguage(param);
可用性
iOS系统
可提供的1.0.4及更高版本