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:

  • 类型:字符串
  • 默认值:无
  • 描述:用户唯一标示,用来识别身份,由开发者生成传入,传入的字符请使用 字母 / 数字 等常见字符集 。就如同身份证一样,不允许出现一个身份证号对应多个人,或者一个人有多个身份证号,不可为空

示例代码

  1. var param = {
  2. appId:'***********',
  3. appKey:'************',
  4. domain:'***.udesk.cn',
  5. sdkToken : '************'
  6. };
  7. var udesk = api.require('udesk');
  8. udesk.initUdesk(param);

补充说明

使用此模块,必须先用initUdesk初始化

可用性

iOS系统 Android系统(4.0及以上)

可提供的1.0.0及更高版本

addUserInfo

添加用户相关信息

addUserInfo({param})

params

nick_name:

  • 类型:字符串
  • 描述:(可选项) 用户昵称;
  • 默认值:无

cellphone:

  • 类型:字符串
  • 描述:(可选项) 用户电话。如果给顾客设置了手机号码,要保证不同顾客对应的手机号不一样,如出现相同的,则不会创建新顾客
  • 默认值:无

email:

  • 类型:字符串
  • 描述:(可选项) 用户邮箱。如果给顾客设置了邮箱,要保证不同顾客对应的邮箱不一样,如出现相同的,则不会创建新顾客
  • 默认值:无

description:

  • 类型:字符串
  • 描述:(可选项) 用户描述;
  • 默认值:无

custom:

  • 类型:JSON 对象
  • 描述:(可选项)用户自定义字段
  • 内部字段:自定义key,自定义value(支持字符串和数组)
  1. {
  2. custom1: 'apicloud', // 字符串类型;用户自定义字段1
  3. custom2: [ // 数组类型;用户自定义字段2
  4. "legg",
  5. "leee",
  6. ...
  7. ],
  8. ...
  9. }

示例代码

  1. var param = {
  2. nick_name: 'sixer',
  3. cellphone: '00113233',
  4. email: 'xu23@163.com',
  5. description: '测试描述'
  6. };
  7. var udesk = api.require('udesk');
  8. udesk.addUserInfo(param);

补充说明

使用此模块会讲用户信息传入udesk web端,用于客服查看工单时供客服参考,此接口必须在showConversation(),showFAQSection()之前之前执行。

可用性

iOS系统,Android系统(4.0及以上)

可提供的1.0.0及更高版本

unreadMessagesCount

获取未读消息数量

unreadMessagesCount(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. count : 6 //数字类型;未读消息数量
  3. }

示例代码

  1. var udesk = api.require('udesk');
  2. udesk.unreadMessagesCount(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unreadMessages

获取未读消息

unreadMessages(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. unreadMessages : //数组类型;未读消息数组
  3. [
  4. { //JSON对象;未读消息相关信息
  5. content : //字符串类型;消息内容
  6. messageId : //字符串类型;消息ID
  7. agentJid : //字符串类型;客服JID,(android不支持)
  8. avatar : //字符串类型;消息发送人头像,(android不支持)
  9. nickName : //字符串类型;消息发送人昵称,(android不支持)
  10. messageType : 0 //数字类型;消息类型
  11. // messageType 取值范围:
  12. // 0,文字
  13. // 1,图片
  14. // 2,语音
  15. // 3,咨询对象(android不支持)
  16. // 4,转接
  17. // 5,欢迎语(android不支持)
  18. // 6,结构化消息
  19. // 7,离线留言
  20. // 8,视频
  21. // 9,消息撤回(android不支持)
  22. // 10,地理位置消息
  23. // 11,文件类型
  24. // 12,udeskevent
  25. messageStatus : 0 //数字类型;消息发送状态,(android不支持)
  26. // messageStatus 取值范围:
  27. // 0,发送中
  28. // 1,发送失败
  29. // 2,发送成功
  30. voiceDuration : 666 //数字类型;语音时长,messageType为 2 时才返回,(android不支持)
  31. isGif : false //布尔类型;图片是否是GIF,(android不支持) messageType为 1 时才返回
  32. }
  33. ]
  34. }

示例代码

  1. var udesk = api.require('udesk');
  2. udesk.unreadMessages(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

markAllMessagesAsRead

将所有未读消息设置为已读,(android不支持此接口,打开消息界面自动标记为已读)

markAllMessagesAsRead()

示例代码

  1. var udesk = api.require('udesk');
  2. udesk.markAllMessagesAsRead();

可用性

iOS系统

可提供的1.0.0及更高版本

showConversation

弹出udesk联系我们页面

showConversation(params)

params

agentId:

  • 类型:字符串
  • 描述:(可选项)客服id;
  • 注意:如果agentId和groupId都有值,默认选择agentId,如果两者都不选,自动分配客服
  • 默认值:无

groupId:

  • 类型:字符串
  • 描述:(可选项)客服组id;
  • 注意:如果agentId和groupId都有值,默认选择agentId,如果两者都不选,自动分配客服
  • 默认值:无

commodity

  • 类型:JSON对象
  • 描述:(可选项) 是否带入商品信息
  • 内部字段:
  1. commodityTitle:"nick", // 必选项,字符串,商品标题
  2. commoditySubTitle:"¥99.0", // 必选项,字符串,商品副标题
  3. commodityThumbHttpUrl:"https://img.alicdn.com/imgextra/i1/1728293990/TB2ngm0qFXXXXcOXXXXXXXXXXXX_!!1728293990.jpg_430x430q90.jpg", //必选项,左侧图片
  4. commodityUrl:"https://detail.tmall.com/item.htm?spm=a1z10.3746-b.w4946-14396547293.1.4PUcgZ&id=529634221064&sku_properties=-1:-1" //必选项,商品链接

示例代码

  1. var udesk = api.require('udesk');
  2. var params = {
  3. groupId : '666',
  4. commodity:{
  5. commodityTitle:"nick",
  6. commoditySubTitle:"¥99.0",
  7. commodityThumbHttpUrl:"https://img.alicdn.com/imgextra/i1/1728293990/TB2ngm0qFXXXXcOXXXXXXXXXXXX_!!1728293990.jpg_430x430q90.jpg",
  8. commodityUrl:"https://detail.tmall.com/item.htm?spm=a1z10.3746-b.w4946-14396547293.1.4PUcgZ&id=529634221064&sku_properties=-1:-1"
  9. }};
  10. udesk.showConversation(params);

补充说明

使用此方法,必须先用addUserInfo()方法。

可用性

iOS系统 Android系统(4.0及以上)

可提供的1.0.0及更高版本

showFAQSection

弹出udesk帮助中心页面

showFAQSection()

示例代码

  1. var udesk = api.require('udesk');
  2. 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 发送图片组建和表情组建。

示例代码

  1. var param = {
  2. picture: true,
  3. emoji: true
  4. };
  5. var udesk = api.require('udesk');
  6. udesk.component(param);

补充说明

Android系统暂不支持

使用此模块,接口必须在showConversation(),showFAQSection()之前之前执行,如果不使用此功能则Udesk IM不支持发送图片和表情。

可用性

iOS系统

可提供的1.0.0及更高版本

addEventListener

添加获取消息的监听

注意:此接口要在initUdesk和addUserInfo调用后生效

addEventListener(callback(ret))

callback(ret)

ret

  • 类型:JSON对象
  • 描述:消息的回调
  • 内部字段:
  1. {
  2. content : //字符串类型;消息内容
  3. messageId : //字符串类型;消息ID
  4. messageType : 0 //数字类型;消息类型
  5. // messageType 取值范围:
  6. // 0,文字
  7. // 1,图片
  8. // 2,语音
  9. // 4,转接
  10. // 6,结构化消息
  11. // 7,离线留言
  12. // 8,视频
  13. // 10,地理位置消息
  14. // 11,文件类型
  15. // 12,udeskevent
  16. }

示例代码

  1. var udesk = api.require('udesk');
  2. udesk.addEventListener(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统

可提供的1.0.0及更高版本

setLanguage

设置语言

注意:模块默认是自动识别当前系统语言,根据当前系统语言自适应语言显示(目前支持:英文、简体中文、繁体中文(台湾))。本接口应在初始化接口(initUdesk)后、弹出界面(showConversation、showFAQSection)之前调用。

setLanguage({param})

params

language:

  • 类型:字符串
  • 默认值:chinese
  • 描述:设置语言
  • 取值范围:
    • auto:根据当前系统语言自适应,目前支持英文、简体中文、繁体中文(台湾)
    • english:英文
    • chinese:简体中文

示例代码

  1. var param = {
  2. language: auto
  3. };
  4. var udesk = api.require('udesk');
  5. udesk.setLanguage(param);

可用性

iOS系统

可提供的1.0.4及更高版本