udeskPlus

概述

udesk是一款实现手机用户与企业客服保持实时沟通的在线工具。本插件封装了udesk的相关接口,使用此插件需先注册udesk来获取appKey,appId和domain。

注册udesk: 登入udesk官网注册udesk账号,进入管理员页面,在管理中心-单点登录中获取共享的秘钥,domain为你注册的域名,例如:udesk. udesk.cn。

在 iOS 平台上最低适配系统版本为 iOS 11.0

initUdesk

初始化udesk

initUdesk({param})

params

appId:

  • 类型:字符串
  • 默认值:无
  • 描述:注册udesk后,从udesk后台获得的appId,不可为空

appKey:

  • 类型:字符串
  • 默认值:无
  • 描述:注册udesk后,从udesk后台获得的appKey,不可为空

domain:

  • 类型:字符串
  • 默认值:无
  • 描述:udesk域名,注册后获取,不能为空

sdkToken:

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

customer:

  • 类型:JSON 对象
  • 描述:(可选项)公司和客户信息
  • 内部字段:
{
    customerToken: '',   //(可选项)字符类型;可选主键: 唯一客户外部标识,用于处理 唯一标识冲突 (请不要随意传值)
    nickName: '',   //(可选项)字符类型;用户昵称
    email: '',   //(可选项)字符类型;用户邮箱,需要严格按照邮箱规则。没有则不填!不可以为空!不可以为固定值!不可以随便填!
    cellphone: '',   //(可选项)字符类型;用户号码,需要严格按照号码规则。没有则不填!不可以为空!不可以为固定值!不可以随便填!
    customerDescription: '',   //(可选项)字符类型;用户描述
    robotModelKey: '',   //(可选项)字符类型;	机器人常见问题模版ID
    qq: '',   //(可选项)字符类型;	用户qq号
    channel: ''   //(可选项)字符类型;自定义渠道
}

示例代码

var param = {
    appId:'***********',
    appKey:'************',
    domain:'***.udesk.cn',
    sdkToken : '************'
};

var udeskPlus = api.require('udeskPlus');
udeskPlus.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 udeskPlus = api.require('udeskPlus');
udeskPlus.addUserInfo(param);

补充说明

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

可用性

Android系统(4.0及以上)

可提供的1.0.0及更高版本

unreadMessagesCount

获取未读消息数量

unreadMessagesCount(callback(ret))

callback(ret)

ret:

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

示例代码

var udeskPlus = api.require('udeskPlus');
udeskPlus.unreadMessagesCount(function(ret) {
                          if (ret) {
                            api.alert({msg: JSON.stringify(ret)});
                          }
                        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unreadMessages

获取未读消息

unreadMessages(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
      unreadMessages :                      //数组类型;未读消息数组
  [
      {                              //JSON对象;未读消息相关信息
          content :                   //字符串类型;消息内容
          messageId :                   //字符串类型;消息ID
          messageType : 0                  //数字类型;消息类型
     // messageType 取值范围:
     // 0,文字
     // 1,图片
     // 2,语音
     // 3,咨询对象(android不支持)
     // 4,转接
     // 5,欢迎语(android不支持)
     // 6,结构化消息
     // 7,离线留言
     // 8,视频
     // 9,消息撤回(android不支持)
     // 10,地理位置消息
     // 11,文件类型
     // 12,udeskevent
      }
  ]
}

示例代码

var udeskPlus = api.require('udeskPlus');
udeskPlus.unreadMessages(function(ret) {
                       if (ret) {
                          api.alert({msg: JSON.stringify(ret)});
                        }
                     });

可用性

iOS系统,Android系统

可提供的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" //必选项,商品链接

preSendMessages:

  • 类型:数组
  • 描述:(可选项) 自动发送消息,只支持文本、图片,图片仅支持本地图片路径、widget、fs
  • 示例:['testPreMessage','widget://image/123.png']

示例代码

var udeskPlus = api.require('udeskPlus');
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" 
        		}};
udeskPlus.showConversation(params);

补充说明

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

可用性

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

可提供的1.0.0及更高版本

showFAQSection

弹出udesk帮助中心页面

showFAQSection()

示例代码

var udeskPlus = api.require('udeskPlus');
udeskPlus.showFAQSection();

补充说明

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

可用性

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

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2