qiyuSdk

来自于:网易七鱼立即使用

网易七鱼 APICloud 模块集成指南

qiyuSdk

简介

网易七鱼 SDK 是客服系统访客端的解决方案,既包含了客服聊天逻辑管理,也提供了聊天界面,开发者可方便的将客服功能集成到自己的 APP 中。
本模块支持 iOS 7 以上,Android 2.3 以上版本,同时支持手机、Pad。在iOS 9.2 以上版本中支持 IPv6,能正常通过苹果审核。 详情请前往网易七鱼官网

配置

模块会在应用启动时初始化七鱼服务,因此需要在 config.xml 的 widget 标签下添加以下内容,否则七鱼服务将无法正常启动

<feature name="qiyuSdk">
    <param name="appKey" value="七鱼管理后台的appKey" />
    <param name="appName" value="七鱼管理后台的App名称" />
</feature>

方法接口描述

* openServiceWindow

启动客服聊天窗口

openServiceWindow(params)
params
参数名 类型 默认值 描述
source JSON对象 会话窗口来源
sourceTitle 字符串类型 会话窗口来源标题
sourceUrl 字符串类型 会话窗口来源URL
sourceCustomInfo 字符串类型 会话窗口来源自定义消息
commodityInfo JSON对象 商品详情信息
commodityInfoTitle 字符串类型 商品详情信息展示商品标题,字符数要求小于100
commodityInfoDesc 字符串类型 商品详情信息展示商品描述,字符数要求小于300
pictureUrl 字符串类型 商品详情信息展示商品图片URL,字符数要求小于1000
commodityInfoUrl 字符串类型 商品详情信息展示跳转URL,字符数要求小于1000
note 字符串类型 商品详情信息展示备注信息,可以显示价格、订单号等,字符数要求小于100
show 布尔类型 false 商品详情信息展示发送时是否要在用户端显示,默认不显示
sessionTitle 字符串类型 客服会话窗口标题
staffId long类型 指定客服id,如果同时指定 staffId 和 groupId,以 staffId 为准,忽略 groupId
groupId long类型 指定客服分组id,如果同时指定 staffId 和 groupId,以 staffId 为准,忽略 groupId
示例代码
var qiyuSdk = api.require('qiyuSdk');
var params = {
    source:{
        sourceTitle:'七鱼APICloud',
        sourceUrl:'http://www.qiyukf.com',
        sourceCustomInfo:'我是来自自定义的信息'
    },
    commodityInfo:{
        commodityInfoTitle:'APICloud网易七鱼商品',
        commodityInfoDesc:'这是来自七鱼APICloud的商品描述',
        pictureUrl:'http://qiyukf.com/res/img/companyLogo/blmn.png',
        commodityInfoUrl:'http://www.qiyukf.com',
        note:'¥1000',
        show:true
    },
    sessionTitle:'七鱼客服',
    groupId:0,
    staffId:0
}
qiyuSdk.openServiceWindow(params);

* setCustomUIConfig

自定义客服聊天窗口UI

setCustomUIConfig(params)
params
参数名 类型 默认值 描述
sessionTipTextColor 字符串类型,如'#CC00FF' 会话窗口上方提示条中的文本字体颜色
sessionTipTextFontSize int类型,如15 会话窗口上方提示条中的文本字体大小
customMessageTextColor 字符串类型,如'#CC00FF' 访客文本消息字体颜色
serviceMessageTextColor 字符串类型,如'#CC00FF' 客服文本消息字体颜色
messageTextFontSize int类型,如15 消息文本消息字体大小
tipMessageTextColor 字符串类型,如'#CC00FF' 提示文本消息字体颜色
tipMessageTextFontSize int类型,如15 提示文本消息字体大小
inputTextColor 字符串类型,如'#CC00FF' 输入框文本字体颜色
inputTextFontSize int类型,如15 输入框文本字体大小
sessionBackgroundImage 字符串类型,传入图片的绝对路径,如'widget://image/session_bg.png' 客服聊天窗口背景图片
sessionTipBackgroundColor 字符串类型,如'#CC00FF' 会话窗口上方提示条的背景颜色
customerHeadImage 字符串类型,传入图片的绝对路径 访客头像
serviceHeadImage 字符串类型,传入图片的绝对路径 客服头像
sessionMessageSpacing float类型,如3.5 消息竖直方向间距
showHeadImage 布尔类型 true 是否显示头像
naviBarColor 字符串类型,如'#CC00FF' 导航栏背景颜色
naviBarStyleDark 布尔类型 false 导航栏风格,默认为浅色系,设置为true,可修改为深色系,影响导航栏上的文字、按钮
showAudioEntry 布尔类型 true 是否显示发送语音入口,设置为false,可以修改为隐藏
showEmoticonEntry 布尔类型 true 是否显示发送表情入口,设置为false,可以修改为隐藏
autoShowKeyboard 布尔类型 true 进入聊天界面,是文本输入模式的话,会弹出键盘,设置为false,可以修改为不弹出
示例代码
var qiyuSdk = api.require('qiyuSdk');
var params = {
    sessionTipTextColor:'#CC00FF',
    sessionTipTextFontSize:20,
    customMessageTextColor:'#CC00FF',
    serviceMessageTextColor:'#CC00FF',
    messageTextFontSize:20,
    tipMessageTextColor:'#CC00FF',
    tipMessageTextFontSize:20,
    inputTextColor:'#CC00FF',
    inputTextFontSize:20,
    sessionBackgroundImage:'widget://image/session_bg.png',
    sessionTipBackgroundColor:'#000000',
    customerHeadImage:'widget://image/customer_head.png',
    serviceHeadImage:'widget://image/service_head.png',
    sessionMessageSpacing:2,
    showHeadImage:true,
    naviBarColor:'#CC00FF',
    naviBarStyleDark:true,
    showAudioEntry:false,
    showEmoticonEntry:false,
    autoShowKeyboard:false
}
qiyuSdk.setCustomUIConfig(params);

* setUrlClickCallback

设置聊天窗口中的链接点击事件回调

setUrlClickCallback(callback)
params
参数名 类型 默认值 描述
callback 方法 当用户点击链接后将返回链接地址
ret 字符串类型 链接地址
示例代码
var qiyuSdk = api.require('qiyuSdk');
qiyuSdk.setUrlClickCallback(
    function(ret){
        api.toast({
            msg: ret,
            duration: 2000,
            location: 'bottom'
        });
    }
);

* setUnreadCountCallback

监听未读消息数,用于更新界面

setUnreadCountCallback(callback)
params
参数名 类型 默认值 描述
callback 方法 当未读消息数改变后将返回未读消息数
ret 字符串类型 未读消息数
示例代码
var qiyuSdk = api.require('qiyuSdk');
qiyuSdk.setUnreadCountCallback(
    function(ret){
        api.toast({
            msg: '未读消息数:' + ret,
            duration: 2000,
            location: 'bottom'
        });
    }
);

* getUnreadCount

主动获取未读消息数

getUnreadCount(callback)
params
参数名 类型 默认值 描述
callback 方法 返回未读消息数
ret 字符串类型 未读消息数
示例代码
var qiyuSdk = api.require('qiyuSdk');
qiyuSdk.getUnreadCount(
    function(ret){
        api.toast({
            msg: '未读消息数:' + ret,
            duration: 2000,
            location: 'bottom'
        });
    }
);

* setUserInfo

设置CRM个人信息

setUserInfo(params)
params
参数名 类型 默认值 描述
userId 字符串类型 个人账号Id
data 字符串类型 用户详细信息json
示例代码
var qiyuSdk = api.require('qiyuSdk');
var params = {
    userId:'uid10101010',
    data:'[{\"key\":\"real_name\", \"value\":\"土豪\"},{\"key\":\"mobile_phone\", \"hidden\":true},{\"key\":\"email\", \"value\":\"13800000000@163.com\"},{\"index\":0, \"key\":\"account\", \"label\":\"账号\", \"value\":\"zhangsan\", \"href\":\"http://example.domain/user/zhangsan\"},{\"index\":1, \"key\":\"sex\", \"label\":\"性别\", \"value\":\"先生\"},{\"index\":5, \"key\":\"reg_date\", \"label\":\"注册日期\", \"value\":\"2015-11-16\"},{\"index\":6, \"key\":\"last_login\", \"label\":\"上次登录时间\", \"value\":\"2015-12-22 15:38:54\"}]'
}
qiyuSdk.setUserInfo(params);

* logout

注销当前账号

logout()
示例代码
var qiyuSdk = api.require('qiyuSdk');
qiyuSdk.logout();

* closeServiceWindow

关闭聊天客服窗口

closeServiceWindow()
示例代码
var qiyuSdk = api.require('qiyuSdk');
qiyuSdk.closeServiceWindow();

备注

本接口仅适用Android