xiaoNeng

initSDK logout stopChat setTopBarBgColor setHeadIconCircle setCloseChatSessionTime sendCustomMsg openGoodsList openConversationList deleteConversationItem setBeepPath addEventListener

概述

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

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

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

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

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

initSDK

初始化方法

initSDK({parmas},callback(ret))

params

siteid:

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

sdkkey:

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

callback(ret)

ret:

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

err:

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. xiaoNeng.initSDK({
  3. siteid:"xx_0000",
  4. sdkkey:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  5. },function(ret){
  6. console.log(ret)
  7. });

可用性

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:

  • 类型:字符串
  • 内部字段:
  1. {
  2. msgCode:0 //数字类型;0 表示登录成功 401表示传入userid错误 402表示传入username错误 403表示传入userlevel错误 404 表示登录失败
  3. }

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. xiaoNeng.login({
  3. userId:"9527",
  4. userName:"麦帅比",
  5. userlevel:0
  6. },function(ret){
  7. console.log(ret)
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

logout

登出方法

logout(callback(ret))

callback(ret)

ret:

  • 类型:字符串
  • 内部字段:
  1. {
  2. status:true,//布尔型;true||false
  3. msgCode:0 //数字类型;0 表示登出成功, 501 表示登出失败
  4. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startChat

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

startChat({parmas},callback(ret))

params

settingid:

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

goodsID:

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

itemparam:

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

startPageTitle:

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

startPageUrl:

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

callback(ret)

ret:

  • 类型:字符串
  • 内部字段:
  1. {
  2. status:true,//布尔型;true||false
  3. msgCode:0 //数字类型;0 表示打开成功,604表示打开聊窗失败
  4. }

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. xiaoNeng.startChat({
  3. goodsID::"66666",
  4. itemparam:"额外参数",
  5. settingid:"xx_0000_1652013140616"
  6. },function(ret){
  7. console.log(ret)
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopChat

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

stopChat({parmas})

params

settingid:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

setShowCard

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

setShowCard({parmas})

params

isShow:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTopBarBgColor

setTopBarBgColor({parmas})

params

bgColor:

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

示例代码

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setUsersHeadIcon

访客头像的设置

setUsersHeadIcon({parmas})

imgPath:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setHeadIconCircle

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

setHeadIconCircle({parmas})

params

isCircle:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setNotificationShowTitleHead

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

setNotificationShowTitleHead({parmas})

params

titleHead:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

setCloseChatSessionTime

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

setCloseChatSessionTime({parmas})

params

timeInMinute:

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

示例代码

  1. xiaoNeng.setCloseChatSessionTime({
  2. timeInMinute:5
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openVideoPlus

开启聊天小视频功能

openVideoPlus()

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. 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:”图片路径”};

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addPlusFunction

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

addPlusFunction({parmas})

params

functionType:

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

functionName:

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

functionNomalIcon:

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

functioPressIcon:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openGoodsList

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

openGoodsList({parmas})

params

title:

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

goodsList:

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

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. var goodsList =[{
  3. goodsId:"20693",
  4. goodsTitle:"标题1",
  5. goodsPrice:"66.00",
  6. goodsImageUrl:""
  7. },{
  8. goodsId:"25564",
  9. goodsPrice:"66.00",
  10. goodsImageUrl:""
  11. }];
  12. xiaoNeng.openGoodsList({
  13. title:"",
  14. goodsList:goodsList
  15. });

可用性

iOS系统,Android系统

openOrderList

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

openOrderList({parmas})

params

title:

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

goodsList:

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

示例代码

iOS系统,Android系统

可提供的1.0.0及更高版本

openConversationList

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

openConversationList({parmas})

params

title:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getConversationList

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

getConversationList(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteConversationItem

根据settingid移除消息(会话)

deleteConversationItem({parmas})

params

settingid:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openExplorer

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

openExplorer({parmas})

params

title:

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

netUrl:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBeepPath

设置播放提示音

setBeepPath({parmas})

params

soundPath:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

beepPlay

播放提示音

beepPlay({parmas})

params

isOpenVibrator:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

基本的事件监听

addEventListener({parmas}, callback(ret))

params

name:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. - UnreadMsg
  2. {
  3. "settingid":"",//客服组接待id
  4. "username":"",//客服名字
  5. "msgcontent":"",//消息内容
  6. "messagecount":""//消息总数
  7. }
  8. - MsgUrlClick
  9. {
  10. "contentType":3,//数字类型 3数字电话类 还有其他类型等
  11. "urlorEmailorNumber":"",//网址或者数字或者Email
  12. }
  13. - ClickShowGoods
  14. {
  15. "goodsId":"",//商品id
  16. "goodsTitle":"",//商品名称
  17. "goodsPrice":"",//商品价格
  18. "goodsImageUrl":"",//商品图片URL
  19. "goodsUrl":"",//商品URL(点击跳转)
  20. "goodsShowurl":"",//商品小页面URL(设置以商品URL显示时传入)
  21. "itemparam":"",//附加扩展参数
  22. }
  23. - PlusFunctionClick
  24. {
  25. "functionType":1,//功能类型
  26. "functionName":"",//功能名称
  27. }
  28. - CustomMsgClick
  29. {
  30. "msgType":1,//1为普通文字的消息;2为最近商品格式的消息;3为订单格式的消息;
  31. "msg":"",//发送的消息信息对应 sendCustomMsg方法的字段
  32. }

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. xiaoNeng.addEventListener({
  3. name:"UnreadMsg"
  4. },function(ret){
  5. console.log(ret);
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

enableDebug

是否开启debug日志模式

enableDebug({parmas})

params

isDebug:

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

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. xiaoNeng.enableDebug({
  3. isDebug:true

iOS系统,Android系统