xiaoNeng

来自于:开发者立即使用

initSDK login logout startChat stopChat setShowCard setTopBarBgColor setUsersHeadIcon setHeadIconCircle setNotificationShowTitleHead setCloseChatSessionTime openVideoPlus sendCustomMsg addPlusFunction openGoodsList openOrderList openConversationList getConversationList deleteConversationItem openExplorer setBeepPath beepPlay addEventListener enableDebug

概述

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

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

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

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

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

  1. <feature name="xiaoneng">
  2. <param name="siteid" value="xx_0000"/>
  3. <param name="sdkkey" value="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/>
  4. </feature>
  5. 字段描述:
  6. 1. siteid : 企业ID;开站完毕后,小能实施人员给贵公司发送的开站邮件中获取siteid
  7. 2. sdkkey : 小能运行私钥;开站完毕后,小能实施人员给贵公司发送的邮件中获取SDKKey

模块接口

initSDK

初始化方法

initSDK({parmas},callback(ret))

params

siteid:

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

sdkkey:

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

callback(ret)

ret:

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

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. status:true,//布尔型;true||false
  3. msgCode:0 //数字类型;0 表示登录成功 401表示传入userid错误 402表示传入username错误 403表示传入userlevel错误 404 表示登录失败
  4. }

示例代码

  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、#;

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setUsersHeadIcon

访客头像的设置

setUsersHeadIcon({parmas})

params

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. var xiaoNeng = api.require('xiaoNeng');
  2. xiaoNeng.setCloseChatSessionTime({
  3. timeInMinute:5
  4. });

可用性

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. goodsTitle:"标题2",
  10. goodsPrice:"66.00",
  11. goodsImageUrl:""
  12. }];
  13. xiaoNeng.openGoodsList({
  14. title:"",
  15. goodsList:goodsList
  16. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openOrderList

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

openOrderList({parmas})

params

title:

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

goodsList:

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

示例代码

  1. var xiaoNeng = api.require('xiaoNeng');
  2. var orderList =[{
  3. orderId:"175769",
  4. orderNo:"180223160092",
  5. orderNum:"1",
  6. orderPrice:"35.00",
  7. orderTime:"2018-02-23 16:52",
  8. imageUrl:""
  9. },{
  10. orderId:"175278",
  11. orderNo:"180211160025",
  12. orderNum:"1",
  13. orderPrice:"189.00",
  14. orderTime:"2018-02-11 16:00",
  15. imageUrl:""
  16. }];
  17. xiaoNeng.openOrderList({
  18. title:"",
  19. orderList:orderList
  20. });

可用性

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. var rs = xiaoNeng.getConversationList();
  4. 异步:
  5. xiaoNeng.getConversationList({},function(rs){
  6. console.log(JSON.stringify(rs.conversationList));
  7. });

可用性

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
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本