xiaoNeng

来自于:开发者立即使用

概述

xiaoNeng 封装了小能客服,使用 xiaoNeng 模块可以轻松集成客服功能。

使用小能客服基本流程说明: 1.在小能客服网站(https://www.xiaoneng.cn/)注册帐号,在集成小能SDK之前请先与小能相关人员对接好企业信息,如siteid、settingid、SDKKey等基本信息。

2.在config.xml中配置xiaoneng feature,填写siteid及sdkkey参数

3.前端调用xiaoNeng模块方法,初始化和监听事件。

使用此模块之前需先配置config文件的Feature,方法如下

  <feature name="xiaoneng"> 
    <param name="siteid" value="xx_0000"/>  
    <param name="sdkkey" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/> 
  </feature> 

    字段描述:
    1. siteid : 企业ID;开站完毕后,小能实施人员给贵公司发送的开站邮件中获取siteid
    2. sdkkey : 小能运行私钥;开站完毕后,小能实施人员给贵公司发送的邮件中获取SDKKey

模块接口

initSDK

初始化方法

initSDK({parmas},callback(ret))

params

siteid:

  • 类型:字符串
  • 描述:(必填项)企业id,即企业唯一标识。格式示例:kf_9979

sdkkey:

  • 类型:字符串
  • 描述:(必填项)企业key,即小能通行密钥

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status:true,//布尔型;true||false
    msgCode:0     //数字类型; 0 表示初始化成功, 201 表示传入siteid错误, 202表示传入sdkkey错误
}

err:

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.initSDK({
    siteid:"xx_0000",
    sdkkey:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},function(ret){
    console.log(ret)
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

login

登录方法

login({parmas},callback(ret))

params

userId:

  • 类型:字符串
  • 描述:(必填项)登录用户的id,只能输入数字、英文字母和“@”、“.”、“_”三种字符。长度小于40,并且不能重复,

userName:

  • 类型:字符串
  • 描述:(选填项)登录用户名,长度小于32,显示于PC客服端,如未填写,系统随机会随机生成一个用户名,,如:客人9527

userlevel:

  • 类型:数字
  • 描述:(必填项)登录用户的等级,普通用户“0”,VIP用户传“1”。默认写 0

callback(ret)

ret:

  • 类型:字符串
  • 内部字段:

{
    status:true,//布尔型;true||false
    msgCode:0     //数字类型;0 表示登录成功 401表示传入userid错误 402表示传入username错误 403表示传入userlevel错误 404 表示登录失败 
}

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.login({
    userId:"9527",
    userName:"麦帅比",
    userlevel:0
},function(ret){
    console.log(ret)
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

logout

登出方法

logout(callback(ret))

callback(ret)

ret:

  • 类型:字符串
  • 内部字段:

{
    status:true,//布尔型;true||false
    msgCode:0     //数字类型;0 表示登出成功, 501 表示登出失败
}

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.logout(function(ret){
    console.log(ret)
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startChat

打开聊窗的方法(前提是已经执行了initSDK方法)

startChat({parmas},callback(ret))

params

settingid:

  • 类型:字符串
  • 描述:(必填项)有效接待组Id

goodsID:

  • 类型:字符串
  • 描述:(必填项)标识id,例如商品id

itemparam:

  • 类型:字符串
  • 描述:(选填项)额外扩展参数

startPageTitle:

  • 类型:字符串
  • 描述:(选填项)咨询发起页标题

startPageUrl:

  • 类型:字符串
  • 描述:(选填项)咨询发起页URL

callback(ret)

ret:

  • 类型:字符串
  • 内部字段:

{
    status:true,//布尔型;true||false
    msgCode:0     //数字类型;0 表示打开成功,604表示打开聊窗失败
}

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.startChat({
    goodsID::"66666",
    itemparam:"额外参数",
    settingid:"xx_0000_1652013140616"
},function(ret){
    console.log(ret)
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopChat

停止某个聊天会话,用于android打开聊天窗不刷新的时候需要先停止当前聊天会话

stopChat({parmas})

params

settingid:

  • 类型:字符串
  • 描述:(必填项)有效接待组Id

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.stopChat({
    settingid:"xx_0000_1652013140616"
});

可用性

Android系统

可提供的1.0.0及更高版本

setShowCard

名片链接的显示样式设置,默认纯文本

setShowCard({parmas})

params

isShow:

  • 类型:布尔
  • 描述:(必填项)true为显示;false为不显示

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setShowCard({
    isShow:true
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTopBarBgColor

窗口头部标题栏的背景颜色设置

setTopBarBgColor({parmas})

params

bgColor:

  • 类型:字符串
  • 描述:(必填项)指示器颜色;支持 rgb、rgba、#;

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setTopBarBgColor({
    bgColor:'#1DB417'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setUsersHeadIcon

访客头像的设置

setUsersHeadIcon({parmas})

params

imgPath:

  • 类型:字符串
  • 描述:(必填项)图片路径(本地路径,fs://、widget://)

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setUsersHeadIcon({
    imgPath:'widget://image/xx.png'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setHeadIconCircle

设置聊天头像是否显示为圆形,建议统一设置,否则在ios上存在设置圆形就无法设置回正方形

setHeadIconCircle({parmas})

params

isCircle:

  • 类型:布尔
  • 描述:(必填项)true为圆形;false为方形

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setHeadIconCircle({
    isCircle:true
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setNotificationShowTitleHead

android通知消息的标题前称设置

setNotificationShowTitleHead({parmas})

params

titleHead:

  • 类型:字符串
  • 描述:(必填项)称呼,例如名字

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setNotificationShowTitleHead({
    titleHead:'麦帅比'
});

可用性

Android系统

可提供的1.0.0及更高版本

setCloseChatSessionTime

关闭聊天会话的时间设置(分钟)

setCloseChatSessionTime({parmas})

params

timeInMinute:

  • 类型:数字
  • 描述:(必填项)多少分钟

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setCloseChatSessionTime({
    timeInMinute:5
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openVideoPlus

开启聊天小视频功能

openVideoPlus()

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.openVideoPlus();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

sendCustomMsg

消息发送的扩展,在聊天窗口

sendCustomMsg({parmas})

params

sendType:

  • 类型:数字
  • 描述:(必填项)1为普通文字的消息;2为最近商品格式的消息;3为订单格式的消息;

msgs:

  • 类型:字符串数组
  • 描述:(必填项)发送的消息信息, -当sendType=1,msgs={txt:"内容"}; -当sendType=2,msgs={goodsId:"id",goodsTitle:"标题",goodsPrice:"价格",goodsImageUrl:"图片路径"}; -当sendType=3,msgs={orderId:"id",orderNo:"订单号",orderNum:"商品数量",orderPrice:"价格",orderTime:"时间",imageUrl:"图片路径"};

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.sendCustomMsg({
    sendType:2,
    msgs:{goodsId:"id",goodsTitle:"标题",goodsPrice:"价格",goodsImageUrl:"图片路径"}
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addPlusFunction

增加聊天面板+号功能区除默认功能之外的功能(点击事件配合PlusFunctionClick事件使用)

addPlusFunction({parmas})

params

functionType:

  • 类型:数字
  • 描述:(必填项)1表示商品列表;2表示订单列表;android支持其他自定义,ios目前不支持其他自定义;

functionName:

  • 类型:字符串
  • 描述:(必填项)增加功能的名字

functionNomalIcon:

  • 类型:字符串
  • 描述:(必填项)增加功能的默认图片(本地路径,fs://、widget://)

functioPressIcon:

  • 类型:字符串
  • 描述:(必填项)增加功能的按下切换图片(本地路径,fs://、widget://)

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.addPlusFunction({
    functionName:"最近商品",
    functionNomalIcon:"widget://image/Nomal.png",
    functioPressIcon:"widget://image/Press.png",
    functionType:1
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openGoodsList

打开最近商品列表界面(配合聊天窗下方面板功能使用)

openGoodsList({parmas})

params

title:

  • 类型:字符串
  • 描述:(选填项)打开窗口的标题

goodsList:

  • 类型:对象数组
  • 描述:(必填项)商品集合如下
[{
    goodsId:"id",
    goodsTitle:"标题",
    goodsPrice:"价格",
    goodsImageUrl:"图片链接"
}]

示例代码

var xiaoNeng = api.require('xiaoNeng');
var goodsList =[{
    goodsId:"20693",
    goodsTitle:"标题1",
    goodsPrice:"66.00",
    goodsImageUrl:""
},{
    goodsId:"25564",
    goodsTitle:"标题2",
    goodsPrice:"66.00",
    goodsImageUrl:""
}];
xiaoNeng.openGoodsList({
    title:"",
    goodsList:goodsList
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openOrderList

打开最近订单列表界面(配合聊天窗下方面板功能使用)

openOrderList({parmas})

params

title:

  • 类型:字符串
  • 描述:(选填项)打开窗口的标题

goodsList:

  • 类型:对象数组
  • 描述:(必填项)订单集合如下
[{
    orderId:"订单id",
    orderNo:"订单号",
    orderNum:"商品数量",
    orderPrice:"总价格",
    orderTime:"订单时间",
    imageUrl:"缩略图链接"
}]

示例代码

var xiaoNeng = api.require('xiaoNeng');
var orderList =[{
    orderId:"175769",
    orderNo:"180223160092",
    orderNum:"1",
    orderPrice:"35.00",
    orderTime:"2018-02-23 16:52",
    imageUrl:""
},{
    orderId:"175278",
    orderNo:"180211160025",
    orderNum:"1",
    orderPrice:"189.00",
    orderTime:"2018-02-11 16:00",
    imageUrl:""
}];
xiaoNeng.openOrderList({
    title:"",
    orderList:orderList
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openConversationList

打开会话列表界面(配合聊天窗下方面板功能使用)

openConversationList({parmas})

params

title:

  • 类型:字符串
  • 描述:(选填项)打开窗口的标题

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.openConversationList({
    title:""
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getConversationList

获取消息(会话)列表(支持同步)

getConversationList(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
{
    "conversationList:":[{
        "isSelfMsg":false;//是否是自己发送的消息
        "isunread":false;//是否已读 
        "uname":"";//发送消息的客服名称
        "textmsg":"",//消息内容
        "msgtime":2656516,//消息时间
        "messagecount":2,//未读的消息数量
        "uicon":"",//客服头像
        "settingid":""//发送消息的客服组接待id
    }]
}

示例代码

var xiaoNeng = api.require('xiaoNeng');
同步;
var rs = xiaoNeng.getConversationList();
异步:
xiaoNeng.getConversationList({},function(rs){
    console.log(JSON.stringify(rs.conversationList));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteConversationItem

根据settingid移除消息(会话)

deleteConversationItem({parmas})

params

settingid:

  • 类型:数字
  • 描述:(必填项)会话id

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.deleteConversationItem({
    settingid:"xx_0000_1652013140616"
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openExplorer

根据链接打开自定义浏览器

openExplorer({parmas})

params

title:

  • 类型:字符串
  • 描述:(选填项)打开窗口的标题

netUrl:

  • 类型:字符串
  • 描述:(必填项)网络地址

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.openExplorer({
    netUrl:"http://www.xiaoneng.cn/index.html"
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBeepPath

设置播放提示音

setBeepPath({parmas})

params

soundPath:

  • 类型:字符串
  • 描述:(选填项)声音路径

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.setBeepPath({
    netUrl:"widget://res/1.wav"
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

beepPlay

播放提示音

beepPlay({parmas})

params

isOpenVibrator:

  • 类型:布尔
  • 描述:(选填项)是否震动

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.beepPlay({
    isOpenVibrator:false
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

基本的事件监听

addEventListener({parmas}, callback(ret))

params

name:

  • 类型:字符串
  • 描述:监听的事件类型
  • 类型如下:
    • UnreadMsg(未读消息的监听)
    • MsgUrlClick(点击聊天的消息监听)
    • ClickShowGoods(显示头部商品点击事件的监听)
    • PlusFunctionClick(+号功能区的扩展的监听)
    • CustomMsgClick(聊窗自定义消息点击事件的监听)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
- UnreadMsg
{
    "settingid":"",//客服组接待id
    "username":"",//客服名字
    "msgcontent":"",//消息内容
    "messagecount":""//消息总数
}

- MsgUrlClick
{
    "contentType":3,//数字类型  3数字电话类 还有其他类型等
    "urlorEmailorNumber":"",//网址或者数字或者Email
}

- ClickShowGoods
{
    "goodsId":"",//商品id
    "goodsTitle":"",//商品名称
    "goodsPrice":"",//商品价格
    "goodsImageUrl":"",//商品图片URL
    "goodsUrl":"",//商品URL(点击跳转)
    "goodsShowurl":"",//商品小页面URL(设置以商品URL显示时传入)
    "itemparam":"",//附加扩展参数
}

- PlusFunctionClick
{
    "functionType":1,//功能类型
    "functionName":"",//功能名称
}

- CustomMsgClick
{
    "msgType":1,//1为普通文字的消息;2为最近商品格式的消息;3为订单格式的消息;
    "msg":"",//发送的消息信息对应 sendCustomMsg方法的字段
}

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.addEventListener({
    name:"UnreadMsg"
},function(ret){
    console.log(ret);
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

enableDebug

是否开启debug日志模式

enableDebug({parmas})

params

isDebug:

  • 类型:布尔
  • 描述:(选填项)是否开启debug

示例代码

var xiaoNeng = api.require('xiaoNeng');
xiaoNeng.enableDebug({
    isDebug:true
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本