会话消息

未读消息

企业可以使用ysf('onunread')来监听未读消息通知,也可以使用ysf('getUnreadMsg')获取当前的未读消息。七鱼提供的未读消息内容包括未读消息的总数、最后一条消息的类型和内容

    // 监听
    ysf('onunread',  function(result){
        // todo
        console.log(result.total, result.type, result.message);
    });

    // 获取
    var result = ysf('getUnreadMsg');
    console.log(result.total, result.type, result.message);

七鱼只是暴露了unread事件读取未读消息,之后的处理逻辑由开发者自己定义。

设置机器人常见问题

访客进入咨询时,如果进入了机器人会话,企业可以通过设置常见问题,将一些用户可能需要问的问题首先发送给用户。通过高级自定义配置,可以给不同页面中的不同咨询入口设置不同的常见问题。

你可以在管理后台 -> 应用 -> 机器人 -> 设置 -> 常见问题 -> 设置常见问题模板,可以查找到企业的常见问题模板及其id。

接入代码

    ysf('config', {
       uid:"201609051809",
       name:'接入',
       email:'test@163.com',
       mobile:'13888888888',
       qtype: 1056         //常见问题模板id
    });

设置机器人欢迎语

访客进入咨询时,如果进入了机器人会话,机器人会发送一句欢迎语给访客,通过高级自定义配置,可以给不同页面中的不同咨询入口设置不同的欢迎语。

你可以在管理后台 -> 应用 -> 机器人 -> 设置 -> 基础设置 -> 引导语设置 -> 欢迎语 中,查看和配置机器人的的欢迎语模板及其id。

接入代码

    ysf('config', {
       uid:"201609051809",
       name:'接入',
       email:'test@163.com',
       mobile:'13888888888',
       welcomeTemplateId: 1024         //欢迎语模板id
    });

卡片消息

商品卡片

发起会话前,企业可以将用户正在查看的商品信息发送给客服,以便客服在后台及时预判访客需要咨询的内容。

注意,如果你在sdk初始化完成之前调用本接口,它将等待sdk初始化完成后执行

    ysf('product', {
        show : 1, // 1为打开, 其他参数为隐藏(包括非零元素)
        title : '标题',
        desc : '商品描述',
        picture : '商品图片地址',
        note : '备注',
        url : '跳转链接'
    })

ysf('product')支持传入成功和失败回调函数(success、error)。当在ios的h5页面使用七鱼sdk时,设置商品链接是一个异步的过程;如果需要保证商品链接设置成功,则应该在成功回调中进行后续操作(如进行页面跳转、打开聊天窗口等)

示例代码:

	ysf('product', {
	    show : 1, // 1为打开, 其他参数为隐藏(包括非零元素)
	    title : '标题',
	    desc : '商品描述',
	    picture : '商品图片地址',
	    note : '备注',
	    url : '跳转链接',
        success: function(){     // 成功回调
			ysf('open');
    	},
    	error: function(){       // 错误回调
    		// handle error
    	}
	})

注: show -参数用于控制访客端商品链接的是否显示;对于客服端,只要接入就一定会显示商品链接信息

ysf('config')ysf('product')接口都提供了回调方法,所以在同时使用config和product方法是需要注意回调逻辑。可以在config的success回调中调用product方法,之后再在product的success中处理开发者自己想要实现的逻辑;或者可以使用变量标记的方法。

默认情况下,配置的商品链接会在接入人工会话后自动发送给客服;如果需要控制发送的时机,可以传入sendByUser参数。当设置该参数为1时,七鱼访客端不会自动发送商品链接,而是提供对应的引导卡片,访客可根据自己的需要点击引导卡片,手动发送商品链接给客服。

示例代码:

    ysf('product', {
        sendByUser: 1, // 是否由访客手动发送,1为是,其他参数为否
        actionText: '发送链接', // 发送按钮文案
        actionTextColor: '#000000', // 发送按钮文案颜色(16进制格式)
        title : '标题',
        desc : '商品描述',
        picture : '商品图片地址',
        note : '备注',
        url : '跳转链接'
    })

当sendByUser设置为1时,show参数将失效(取默认值1);同样的,actionText和actionTextColor参数仅在sendByUser为1时有效

自定义卡片

为支持不同场景下商品信息的展示,七鱼访客端根据传入的template字段来确定具体的解析方式,当前支持pictureLink(图片链接)模板和默认模板

    ysf('product', {
        show : 1, // 1为打开,其他参数为隐藏(包括非零元素)
        template: 'pictureLink', // 模板类型,不传为默认类型
        title : '标题',
        picture : '商品图片地址',
        url : '跳转链接'
    })

当使用pictureLink模板时,只有title、picture、url字段生效

卡片按钮点击效果

商品链接消息提供了可配置的功能性按钮,可以实现两个功能:1、支持主动定位到客服工作台的iframe页面,并通过postMessage的方式向iframe页面中发送配置的信息,2、支持浏览器用新标签的方式打开配置的url。

示例代码:

    ysf('product', {
        show : 1, // 1为打开, 其他参数为隐藏(包括非零元素)
        title : '标题',
        desc : '商品描述',
        picture : '商品图片地址',
        note : '备注',
        url : '跳转链接',
        tags: [{
                "label": "打开七鱼官网",  // 按钮名字
                "url": "https://qi.163.com", // 非必填,如果没有focusIframe字段,或者没有匹配到iframe,就以新窗口打开这个链接
                "focusIframe": "iframe名称", // 定位到iframe的标识,以iframe的名称匹配
                "data": {"name": "ss","sex": "男"}  // 以postMessage形式发送的数据,数据格式不限
            },{
                "label": "查询订单",
                "focusIframe": "订单",
                "data": {"orderId": "10000012","userName": "xxx"}
        }]
    });

注: 使用此接口,移动端SDK也得更新到4.1版本。

工作台iframe发送卡片消息

网易七鱼对于已经接入客服工作台iframe的客户提供了可以发送自定义商品或者订单类、自定义模板类消息的功能。 用户可以通过在接入的iframe页面中将数据对象按找下面规则组装好后通过postMessage的方式发送到网易七鱼的系统。

基本实现代码如下:

    var data = {
        // 要发送到七鱼的商品或者订单的数据对象
    }
    window.parent.postMessage(data, '*'); // 将数据用postMessage的方式发送到七鱼

商品类消息的字段规则如下:

字段 类型 必须 描述
picture String 商品的缩略图地址
title String 商品的展示标题
desc String 商品展示的简要描述
price String 商品的价格
url String 点击商品跳转到的链接地址
activity String 活动展示标题
activityHref String 点击活动跳转到的地址
showCustomMsg String 此字段为向七鱼发送自定义信息的标识,为1展示并接收此消息,为0则不接收此消息(此字段为必填项,没有七鱼则不会接收)

订单类消息字段规则如下:

字段 类型 必须 描述
picture String 商品的缩略图地址
title String 商品的展示标题
desc String 商品展示的简要描述
payMoney String 商品支付的价格
orderId String 订单的id
orderTime String 下单时间
orderSku String 订单的sku描述信息
orderCount String 订单中商品数量
orderStatus String 订单交易状态
tags Array 订单类消息展示的功能按钮,tag每一项为{“label”: “打开七鱼网址”,”url”” “https://qi/163.com”},label为按钮的名称,url为打开的链接。
url String 点击商品跳转到的链接地址
activity String 活动展示标题
activityHref String 点击活动跳转到的地址
showCustomMsg String 此字段为向七鱼发送自定义信息的标识,为1展示并接收此消息,为0则不接收此消息(此字段为必填项,没有七鱼则不会接收)

自定义模板类消息字段规则如下:

字段 类型 必须 描述
template String 模板类型(当前支持"pictureLink"即图片链接模板)
picture String 图片地址
url String 点击图片跳转到的链接地址
showCustomMsg String 此字段为向七鱼发送自定义信息的标识,为1展示并接收此消息,为0则不接收此消息(此字段为必填项,没有七鱼则不会接收)

会话管理

分配客服&客服组

网易七鱼客服系统默认会按照智能方式分配客服, 如果想让访客分配给指定的客服组或者客服,则需要使用访客分流功能

你可以在管理后台 -> 应用-> 在线系统-> 设置 -> 会话流程 -> 访客分配 ->分配规则-> ID查询, 可以查找到相应的客服id和客服组id。

你可以在管理后台 -> 应用-> 在线系统-> 设置 -> 会话流程 ->访客分配 -> 分配规则 -> 高级自定义分配(WEB端)-> Web端自定义链接分配下,可以直接复制链接地址接入

接入代码:


    ysf('config', {
        uid:"1442286211167",
        name:'test',
        email:'test@163.com',
        mobile:'13888888888',
        staffid:'123', // 客服id
        groupid: '123' // 客服组id
    });

代码优先级高于后台配置,所以当代码中指定了staffid或者groupid后,后台的web端访客分流配置将无效。staffid和groupid只要传一个就可以了,没必要两个参数都传(同时传了staffid和groupid,忽略groupid)。

分配机器人

在3.1版本中,增加了robotShuntSwitch参数,该参数取值为0或1,在指定了访客分流时有效;如果robotShuntSwitch为1,访客会先由机器人接待,当转人工咨询时再分配给设置的分流客服

接入代码:

    ysf('config', {
        uid:"1442286211167",
        name:'test',
        email:'test@163.com',
        mobile:'13888888888',
        staffid:'123',
        robotShuntSwitch: 1 // 机器人优先开关
    });

对于开通了多机器人的企业,对于不指定robotId的访客入口,网易七鱼系统会在机器人开关打开的情况下自动匹配当前的默认机器人,如果想让指定的机器人服务访客,则需要使用多机器人接入功能指定robotId。

开通了多个机器人的企业,在管理后台-> 应用->机器人-> 机器人列表中找到对应的机器人ID。 在管理后台 -> 应用->在线系统->设置->会话流程->访客分配 ->分配规则->高级自定义分配(WEB端)-> Web端自定义链接分配下,可以直接复制链接地址接入

接入代码:

    ysf('config', {
        uid:"usr18398492039",
        name:'mixRobotTestUser',
        email:'test@163.com',
        mobile:'13888888888',
        robotId: '12345'  // 机器人ID
    });