自定义访客端入口
WEB端
一般对接方要求自定义客服咨询按钮,那就需要进行两步操作。
1、首先,需要关闭原有七鱼默认提供的客服按钮,该实现可有两种:
1)在七鱼后台将默认按钮全局开关关闭,路径是【管理后台-> 应用->在线系统-> 设置->在线接入->网站->访客开关】

2)引用JS时,在JS中添加参数“hidden=1”用于配置当前引用页面不使用七鱼默认按钮。配置样例如下

2、其次,开发者需要在前端页面自己实现一个客服咨询按钮,并在访客点击之后响应点击事件,调用七鱼提供的方法唤起聊天窗口。
目前提供方法有两种,一种是直接执行 ysf(‘open’) 方法;另一种是通过location.href = ysf(‘url’)来实现,这种方法实际是通过浏览器自身提供的能力将ysf(‘url’)方法获取到的动态客服咨询连接打开。开发者可参考以下demo
若此附件无法双击打开,可以前往七鱼开发指南下载源文件。开发指南地址:查看详情

下载后的压缩包解压后会有多个文件,当前文档描述只需要查看sdkAccessCustom.html。
其他端接入
除web端接入时七鱼会默认提供一个咨询客服入口外,其他各端无此默认入口。企业对接时需要前端对接开发人员自己实现一个咨询入口并在访客点击后相应点击按钮事件去调用七鱼。
访客强制登录
部分对接企业对于访客是否能咨询客服有一定校验机制,最常见的是“强制登录”即一定要登录账号的访客才能发起咨询,未登录访客点击咨询后跳转至登录界面。
说明:访客登录账号属于企业自身账号体系登录操作,并不是七鱼的账号登录。因此,需要实现强制登录需求的实现方式就需要企业自身研发来做处理。
企业应用前端(app或者官网等)自身知道当前访问的客户有没有登录企业账号。若已经登录,则不阻碍访客去点击咨询客服按钮并正常发起咨询。若没有登录,则有两种处理方式:1、不展示客服咨询入口;2、展示咨询入口,但是点击时跳转至账号登录界面。
举例:网易严选就是使用了第二种方式,可登录 网易严选 体验。
在登录账号之后再次点击“在线客服”按钮即可正常发起咨询。
登录账号之后,前端需要调用七鱼接口上报访客唯一ID和访客身份信息。更优化体验是在登录账号后,代码逻辑上直接去调用七鱼接口上报访客信息,在上报信息接口成功回调中自动执行唤起会话窗口操作,让访客直接进入客服咨询界面。
访客识别
前端开发可定义的访客唯一ID字段说明:
Web对接,config接口 uid字段
安卓SDK对接,setuserinfo方法 userId字段
IOS SDK对接,setuserinfo方法 userId字段
微信小程序授权对接,session-from中foreignid字段
微信小程序SDK对接,setUserInfo中userId字段
消息接口对接,updateUInfo更新用户信息接口,请求body中的uid字段
在不同接入方式中,七鱼开放的访客唯一ID属性字段的参数名不同,但是作用是相同的。用于开发者上报一个企业内部CRM系统内对于某一个用户身份信息的唯一标识(这个id是对接七鱼的企业自身提供的,并非七鱼自有)。比如中国公民的身份证号,又或者微信用户的UnionID。一个唯一的id代表企业用户信息系统内一个唯一的用户,绝对不能出现第二个,因为七鱼是通过企业传的这个访客ID来判断是不是同一个人,并将同一个ID的所有历史咨询记录关联在一起的。该字段赋值类型为srting,长度是64个字符长。
七鱼侧接收企业开发者上报的访客是否信息整体分为两部分:1、访客唯一ID;2、访客身份信息。
访客信息识别的实现逻辑:
七鱼系统内,访客和客服的IM交互实际是两个ID的消息收发,这个ID是七鱼内部的ID。客服侧ID是固定的,访客ID是在前端SDK初始化或访客首次发起咨询时七鱼系统创建的。七鱼实现的客服可以查看到某个访客的身份信息功能是将七鱼内部的访客ID与企业前端上报的访客唯一ID做了绑定,然后将访客唯一ID对应的访客身份信息展示在前端。因此,若只上报访客唯一ID却没有访客身份信息,那展示的内容就是只有七鱼默认赋值的姓名(是一个Gusetxxxx的游客名字);若只上报访客身份信息却没有上报访客唯一ID,那七鱼就没办法实现绑定关系,从而使上报的访客身份信息失效,客服侧展示的还是一个匿名的访客(只有Gusetxxxx的游客名字)。
开发者如何查看某个会话的访客信息:
使用chrome浏览器登录七鱼管理后台,并找到如下图的“会话记录”界面。在此界面后,打开浏览器自带的开发者工具(快捷键F12)并选择“Network”tab。然后在会话记录中选择一个会话数据条并点击查看详情。再复制会话记录条首列的“会话ID”并在调试工具内搜索。筛选结果中找到”get?id=会话ID&type=1&token=TOKEN”这个请求,查看接口返回信息即可。
补充知识:
七鱼还有另外一个”DeviceId ”,这个ID是在SDK初始化或访客首次发起会话时创建的一个随机数并存储在前端缓存中。若不更换设备/不清除缓存/不调用七鱼注销方法,那么下次再发起咨询时会优先使用缓存内的DeviceId去创建会话流程。因此,七鱼能够实现“设备识别”来判断是否是同一客户。
同时,这里也带来了两个问题,“访客信息混淆”和“串会话”特别是web接入。主要原因是:1、没有调用注销接口;2、使用某个访客发起咨询时JS生成的带有DeviceId标识的链接直接推广出去了。
举例:
1、访客登录企业自身账号体系后,前端将访客唯一ID和身份信息上报给七鱼,之后正常进线咨询。客服侧展示的访客信息为A。之后访客退出账号(前端没有调用七鱼注销接口)切换到另外一个账号。前端重新上报访客ID和信息,这时候再次发起会话。客服侧看到的访客信息是B,且之前A的历史咨询记录也会展示出来。
切记:在访客退出当前账号时必前端必须要调用七鱼注销接口。
2、访客通过企业官网(企业官网通过引用七鱼JS集成七鱼)发起咨询(登录或不登录企业自身账号体系都可以),然后在客服聊天窗口中将客服咨询的链接拷贝出来并分享给其他人。此时,其他人点击分享的链接就能直接进入咨询客服的界面。且,能看到之前访客的对话记录。之前的访客会话就会自动结束。客服侧能感觉到的是咨询的人换了一个(通过对话信息判断换人了)。这就是串会话。
切记:若企业需要一个客服咨询链接放在某些渠道或者微信菜单栏等,需要通过七鱼后台的“Web端自定义链接分配”来拿到客服咨询连接。万万不能通过自己自己点击咨询客服后将当前咨询窗口内的链接拿出来直接用。连接获取方式如下图:
一般有这种操作的是企业运营人员,请查看到此说明的产研同学重点提醒下运营。
七鱼保存字段说明:
目前通过前端接口上报给七鱼的用户信息,七鱼侧会更新保存(同一用户唯一ID对应身份信息只保存最近一次提交的内容,若最近提交内容相对之前内容有变更,就直接覆盖更新,不会保留之前信息)。保存信息字段为:访客唯一ID、姓名、手机、邮箱、VIP等级、其他自定义字段数组。若企业对于用户信息安全管控非常严,可以只传访客唯一ID和姓名,其他详细信息通过CRM接口来展示(CRM接口说明详见后续)。而且任何字段的脱敏都需要企业自身处理,七鱼侧收到的是什么信息就直接原模原样展示出来。
展示访客信息
访客进入人工客服后,客服人员如何才能快速识别访客身份呢?这就需要开发者根据业务需要和七鱼规则将企业自身CRM系统内用户信息对接至七鱼平台。
目前七鱼提供3钟对接方式(在线系统支持所有3钟方式;呼叫系统仅支持后两种,因为呼叫的用户唯一标识就是号码,访客进线时七鱼就已经拿到了):
1、通过访客端API接口对接;开发者只需要在前端接入时按照七鱼前端接口标准将需要展示在客服侧的访客身份信息内容赋值给七鱼前端接口即可。
2、通过iframe方式对接;即企业可以提供一个展示用户身份信息的页面,七鱼将此页面嵌入在访客工作台右侧。此方式也依赖于第一种(开发者必须要先给七鱼一个用户唯一id),七鱼才能在客服访客此页面时将用户唯一id传递过去。
3、通过CMR接口方式对接;企业在七鱼后台填写一个http接口,七鱼客服前端在适当时机(例如客服需要查看访客信息时),调用接口并获取返回进行展示。此方式也依赖于第一种(开发者必须要先给七鱼一个用户唯一id),七鱼才能在客服前端调用该接口时将用户唯一id传递过去。
通过访客端API
七鱼访客端提供了接入时传递访客信息的能力,对于不同端的API名称不一样:
Web对接,config接口,详细调用说明请查看:点击查看
安卓SDK对接,setuserinfo方法,详细调用说明请查看:点击查看
IOS SDK对接,setuserinfo方法,详细调用说明请查看:点击查看
微信小程序授权对接,session-from,详细调用说明请查看:点击查看
微信小程序SDK对接,setUserInfo,详细调用说明请查看:点击查看
消息接口对接,updateUInfo更新用户信息接口,详细调用说明请查看:点击查看
七鱼前端提供API接口,开发者可以按照接口规则将访客身份信息上报给七鱼,七鱼将其展示在客服接待界面的右侧。例如:

如图所示,【客户信息】中对应的访客信息就是通过七鱼前端提供的API能力进行上报并由七鱼来进行展示的。
通过客服端iFrame嵌入页面
七鱼支持在客服工作台右侧嵌入企业自己的前端页面,以便客服快速访客。例如:
此页面由企业自定义前端样式和页面内容,而且实际应用后也是由登录七鱼后的客服人员前端直接发起访问的(完全等同于客服自己在本地浏览器内直接访客此页面),所以连页面地址都可以是内网的。
七鱼侧对于此页面的配置规范详情可查看:点击查看
注:iframe页面不单单可以用来实现用户信息展示,也可以将企业客服常用的查询页面例如订单查询等嵌入,以便节省客服切换的时间。
通过企业CRM接口对接
CRM接口对接后,客服可查看到的用户信息展示区域是右侧的“更多详情”,例如下图:
七鱼侧提供与企业内部CRM系统接口对接能力,但前提是需要前端在访客发起会话的时候将访客唯一ID(客户CRM系统内用户唯一标识)上报给七鱼。之后,七鱼客服前端才能在适当时机(例如客服查看访客详细信息等时机)通过企业配置在七鱼侧的API接口,使用访客唯一ID去请求该ID对应的更详细用户信息并展示在客服前端页面。
详细开发指南:点击查看
七鱼后台填写接口的区域如下图。其中AppId和AppSecret是必填项,token接口也是后续其他业务查询接口调用的前提必须要提供(如果token接口调用超时或者异常无响应,七鱼默认使用AppSecret作为token,直到企业修复获取token接口)。即,七鱼侧要求企业提供的以下业务接口在调用是必须要有安全校验,校验方式是token验证。当然,这是七鱼侧的规则,企业需要提供token校验的信息,但是企业自身是否真的需要校验,由企业自己评估。
接口地址完全由开发者自己定义,七鱼对于url和路径命名无任何要求。
客服侧信息展示区域为会话详情右侧“更多信息”tab。
由于CRM接口是客服前端直接调用的,所以接口返回的数据不会经过七鱼服务端,就不存在七鱼存储的情况。因此,若企业有严格的用户信息管控机制,那就可以使用CRM接口方式(访客前端只传一个访客唯一ID和姓名,其他信息靠CRM接口实时返回)。
开发者调试方法:
CRM接口请求有客服前端直接发起,不经过七鱼服务端。开发者可以使用chrome登录七鱼后使用chrome自带开发者调试工具查看详细请求信息以及报错等自行调试接口。
操作步骤:
1、使用chrome登录七鱼后台并找到在线系统的“会话记录”模块。
2、调出浏览器开发者工具(快捷键F12),选择”Network”模块,并在搜索框内填写需要查看的CRM接口关键字以便过滤请求。
3、在会话记录列表中找到一个有用户身份识别的会话(即这个会话确认在访客发起咨询的时候前端有传唯一ID。若前端没有传ID的会话,七鱼不会请求CRM接口)。然后点击查看会话详情。再点击详情页右侧“更多信息”tab。
4、查看开发者工具中请求信息。(到此处,开发者可以自行调试了)一般遇到较多的是CRM接口跨域问题、OPTION请求没处理好、http接口调用被浏览器拦截需要换成https等。
注意点:
1、CRM接口为前端直接请求方式,必须要考虑前端发起的请求有两个:第一次的请求类型是OPTION,第二次的请求类型是POST。
2、接口必须支持跨域且两个请求方式都需要支持。跨域访问相关配置说明:点击查看
3、同为CRM接口,但是区分在线模块和呼叫模块。在线模块中七鱼请求是携带的“userid”参数值是前端发起会话是上报给七鱼的访客唯一ID。呼叫模块中七鱼请求是携带的“userid”参数值为当前通话的访客号码(由七鱼自动获取,开发者无法介入)。
补充说明:
在线和呼叫用户信息打通(七鱼侧在线和呼叫咨询记录打通)。
该需求的实现其实依赖于CRM接口。上一步说到在线和呼叫的CRM接口请求是对于相同参数“userid”的赋值是不一样的。打通的需求其实就是要将这两个参数值关联起来。实现方式是在呼叫的CRM接口返回信息中增加“uid”字段,该字段的值是当前七鱼请求使用的号码值对应访客的在线唯一ID。
举例:
在线CMR接口请求:
{
"appid": "qiyukf",
"token": "qiyukf_security_token",
"userid": "zhangsan"
}
返回:
{
"rlt": 0,
"uid": "zhangsan",
"data": [
{"index": 0, "key": "account", "label": "账号", "value": "zhangsan", "href": "url"},
{"index": 1, "key": "name", "label": "姓名", "value": "土豪", "edit": true, "map": "real_name", "href": "url"},
{"index": 2, "key": "phone", "label": "手机", "value": "13800000000", "edit": true, "map": "mobile_phone", "href": "url"},
{"index": 3, "key": "email", "label": "EMail", "value": "13800000000@163.com", "edit": true, "map": "email", "href": "url"},
{"index": 4, "key": "vip", "label": "会员", "value": [{"id": 0,"name": "类型一"},{"id": 1,"name": "类型三", "check": true},{"id": 2,"name": "类型二"}], "select": true}
],
"modify_cb": "url" //客服在前端修改访客CRM信息后,七鱼通过此处返回的url进行数据回传,将更改数据给到企业
}
呼叫CRM接口请求:
{
"appid": "qiyukf",
"token": "qiyukf_security_token",
"userid": "zhangsan",
"staffphone": "057189850000"
}
返回:
{
"rlt": 0,
"uid": "zhangsan",
"data": [
{"index": 0, "key": "account", "label": "账号", "value": "zhangsan", "href": "url"},
{"index": 1, "key": "name", "label": "姓名", "value": "土豪", "edit": true, "map": "real_name", "href": "url"},
{"index": 2, "key": "phone", "label": "手机", "value": "13800000000", "edit": true, "map": "mobile_phone", "href": "url"},
{"index": 3, "key": "email", "label": "EMail", "value": "13800000000@163.com", "edit": true, "map": "email", "href": "url"},
{"index": 4, "key": "vip", "label": "会员", "value": [{"id": 0,"name": "类型一"},{"id": 1,"name": "类型三", "check": true},{"id": 2,"name": "类型二"}], "select": true}
],
"modify_cb": "url"
}
设计访客分流策略–在线
七鱼的访客端分流能力
七鱼提供多种分流策略,例如通过前端接口传参自定义分流、通过后台配置指定分流等。以下是对于七鱼分访客端分流能力的详细说明。
七鱼内置分流策略–通过七鱼管理端配置
按照接入渠道&入口分流
七鱼后台提供按照接入渠道和入口的分流方式,后台配置区域路径为:【应用】->【在线系统】->【设置】->【会话流程】->【会话分配】->【分配规则】->【用户指定访客分配】,该设置模块下分别展示了【web分配】、【app分配】、【公众号分配】、【微信小程序分配】、【企业微博分配】。若开启分配,每个分配模块下都有提供两种分配方式“统一分配”和“多入口分配”。

统一分配,设置后前端接入访客会被统一分配至一个客服组或者一个客服。
多入口分配,设置后前端接入访客在进入人工咨询时会提示让其选择咨询分类,前端展示如下图(web端为例):

后台设置分流不涉及代码开发,企业产品和运营人员可以直接涉及和配置。
按照web端自定义链接分流
如果企业自身开发资源有限,或者对于访客前端高级功能无需求(例如访客身份识别、例如商品卡片消息发送等)可直接使用纯链接方式接入。纯链接可以在七鱼后台获取,而且可以指定访客分流。纯链接获取区域路径为:【应用】->【在线系统】->【设置】->【会话流程】->【会话分配】->【分配规则】->【Web端自定义链接分配】
从截图中可以看到获取到的链接是可以设置分流客服组以及是否启用机器人的,企业可以根据自身业务需要配置链接。拿到链接后再应用至前端,例如微信公众号菜单,或者官网的某个咨询按钮。
专线客服–所有VIP统一接待
七鱼还有一种特殊的分配方式–VIP专线客服组,对此的定义是,所有VIP访客默认被分配至专线客服组,且优先级高于所有分配规则(也高于前端代码指定)。后台设置区域路径:【客户】->【设置】->【VIP客户设置】->【在线对话】
当然,VIP的标记还是需要企业前端接入时传值给七鱼,详细说明可查看:点击查看 新文档中的按照VIP级别分流。
企业自定义分流策略–通过访客端接口分流
自定义访客分配是指根据访客身份信息、当前访问页面信息、订单信息等去判断当前访客发起咨询的时候需要给到哪个客服来接待,以便提供更好的客户体验。
上面举例的3种信息,实际都是存在于企业自身的信息,七鱼侧并没有(即使有,也是依赖企业传递过来的)。但是访客分配到某一个客服这个事情确实也是七鱼内部的逻辑。因此,要实现这个需求,就需要企业开发者通过调用七鱼接口来实现。
逻辑:
企业需要通过自己服务端结合业务逻辑来判断当前访客需要分配给哪个客服或者客服组,然后将这个确定的客服或者客服组id配置到七鱼对应方法属性内。
七鱼前端指定客服方法说明:
Web端:(在config方法中可以通过对“groupid”、“staffid”参数的赋值来达到指定效果)点击查看
IOS端:(在sessionViewController方法中通过对“groupId”、“staffId”参数的赋值来达到指定效果)点击查看
安卓端:(在ConsultSource方法中通过对“groupId”、“staffId”参数的赋值来达到指定效果)点击查看
微信小程序授权方式:(在微信小程序按钮的session-from中对“groupid”、“staffid”参数的赋值来达到指定效果)点击查看
微信小程序SDK方式:(通过configStaffId和configGroupId方法分别来指定客服或客服组id)点击查看
消息接口方式:(通过“请求分配客服”接口,指定请求body内的staffId和groupId来实现)点击查看
七鱼后台客服ID/客服组ID获取说明:
上面说到需要开发者将确定的客服或者客服组ID赋值给七鱼对应方法,那么这些ID需要从哪里获取?获取方法是登录七鱼管理后台来查询,详见截图说明:
当然也有提供API接口可以批量获取
获取客服组列表:点击查看
获取客服组下员工列表:点击查看
不过以上接口目前还有特殊权限限制,开通需要单独咨询七鱼在线客服提交申请。
场景举例:
某一访客登录企业app,然后他是一个经常来投诉的访客,企业内部对其有特殊标记,要求这位访客所有进线都直接到客服组A人工接待。
那当访客登录app后,app前端会调用后端接口拉取当前访客的一些信息,此时后端即可将这个访客的分流判断结果一并返回给前端,前端将分流id赋值给七鱼对应方法。那么访客点击咨询客服按钮发起会话时,七鱼就会根据企业要求的分配信息去执行分配。
总结来说,对于访客身份信息、订单信息、当前访问信息等都是需要企业自身去获取并结合业务逻辑判断得出结论需要分配到哪个id。之后将这个id给到七鱼,七鱼按照这个固定的分配id去执行访客分配。
设计访客分流方式
前一章我们介绍了七鱼现有的访客端分流能力,在了解七鱼能力后企业产品需要调研业务部门了解业务需求,之后设计访客分流方式。
按照VIP级别分流
七鱼访客VIP等级定义
七鱼客服增加了设置用户 VIP 等级的功能,便于区分用户等级,允许 VIP 用户优先进线或为 VIP 用户指定专线客服,提升用户体验。
使用该功能需要在七鱼管理系统 【客户】->【设置】->【VIP客户设置】->【在线对话】页面打开 VIP 开关,否则设置将不会生效。
目前七鱼只是的VIP等级分3种:
1、VIP0:效果等同于不传VIP等级数值,即非VIP访客。
2、VIP1~10:有等级的VIP。客服看到的等级标识为Vx(x值是1~10)。等级数值越高,优先进线权利越高。
3、VIP11:统一的VIP。客服看到的等级标识为VIP。
VIP0,建议企业直接不传;VIP1~10,建议有多级VIP等级的企业设置用于区分不同VIP等级的客户;VIP11,建议VIP不分等级的企业设置,即所有的VIP客户都是VIP11,非VIP则不传。企业可以根据自身业务需求选择。
获取VIP等级
七鱼后台的VIP策略最终能否实现其实依赖于企业是否能告知七鱼当前访客的VIP身份信息。这个身份信息的上报需要通过前端开发对接实现,具体对应的相关开发文档如下。
Web端:(需要在config接口中使用七鱼默认字段level)点击查看
安卓端:(需要在ConsultSource方法中使用七鱼默认字段vipLevel)点击查看
IOS端:(需要在sessionViewController方法中使用七鱼默认字段vipLevel)点击查看
小程序授权方式:(需要在config接口中使用七鱼默认字段level)点击查看
小程序SDK方式:(setVipLevel方法)点击查看
消息接口方式:(请求客服接口body内level字段)点击查看
七鱼的VIP客户设置
七鱼提供3种VIP策略:1、仅展现VIP标识;2、优先进线;3、专线客服。整体VIP策略设置请看以下截图:

仅展现VIP标识
七鱼侧只会在访客姓名后面增加一个vip的标志,用于客服区分VIP客户和普通客户,没有其他特殊性。客服端展示如下图:

VIP优先进线
这个设置项包含了前面的展示VIP标识,且有优先进线的功能。当咨询量过大而客服当前接待量全满的情况下,访客进线会进入排队机制。此时,若有普通客户和VIP客户同时在排队(不需要管谁排在前面谁排在后面),那么一旦客服侧接待量有空余,VIP将被优先分配进线。VIP等级越高,这个优先级越高。
专线客服–所有VIP统一接待
此设置项包括了前面两个设置项的功能(即展示VIP标识以及优先进线,我们之前说过各个不同的VIP等级之间也有优先进线规则,等级越高优先级越高)设置信息如下图,一旦开启该设置,企业所有VIP访客默认被分配至专线客服组,且优先级高于所有分配规则(也高于前端代码指定)。
VIP分流的不同方式
vip等级专属web链接–按照web端自定义连接分流
此方式就是通过七鱼后台获取到一个客服咨询链接,然后企业将这个链接放在自身VIP客户的专属咨询按钮下。
vip客户专享服务组–通过“vip客户设置”分流
此方式就是通过七鱼后台的VIP设置进行分流,但实际上VIP设置中只有专线客服组才是具有分流效果的,其他两个设置项仅是展示标识和优先进线。
企业自定义分流策略–通过访客端分流
自定义访客分配是指根据访客身份信息(例如VIP是否信息)、当前访问页面信息、订单信息等去判断当前访客发起咨询的时候需要给到哪个客服来接待,以便提供更好的客户体验。
上面举例的3种信息,实际都是存在于企业自身的信息,七鱼侧并没有(即使有,也是依赖企业传递过来的)。但是访客分配到某一个客服这个事情确实也是七鱼内部的逻辑。因此,要实现这个需求,就需要企业开发者通过调用七鱼接口来实现。
逻辑:
企业需要通过自己服务端结合业务逻辑来判断当前访客需要分配给哪个客服或者客服组,然后将这个确定的客服或者客服组id配置到七鱼对应方法属性内。
七鱼前端指定客服方法说明:
Web端:(在config方法中可以通过对“groupid”、“staffid”参数的赋值来达到指定效果)点击查看
IOS端:(在sessionViewController方法中通过对“groupId”、“staffId”参数的赋值来达到指定效果)点击查看
安卓端:(在ConsultSource方法中通过对“groupId”、“staffId”参数的赋值来达到指定效果)点击查看
微信小程序授权方式:(在微信小程序按钮的session-from中对“groupid”、“staffid”参数的赋值来达到指定效果)点击查看
微信小程序SDK方式:(通过configStaffId和configGroupId方法分别来指定客服或客服组id)点击查看
消息接口方式:(通过“请求分配客服”接口,指定请求body内的staffId和groupId来实现)点击查看
七鱼后台客服ID/客服组ID获取说明:
上面说到需要开发者将确定的客服或者客服组ID赋值给七鱼对应方法,那么这些ID需要从哪里获取?获取方法是登录七鱼管理后台来查询,详见截图说明:
完整流程说明:
某访客登录了企业自己APP,在登录之后app便请求企业后端接口获取必要信息。其中便可以获取到当前访客的唯一标识、姓名、邮箱、VIP等级等信息以及企业后端根据VIP等级的判断反馈的一个客服组ID(七鱼的客服组ID)。然后前端app通过七鱼API将访客身份信息上报给七鱼,并且在发起会话前通过七鱼API将访客发起会话时的客服组指定为后端返回的客服组。那么访客在app点击咨询客服后就能被分配到指定客服组了。
按照其他访客属性分流
案例:按照是否有订单分流至售前/售后客服组
此案例需要使用自定义分流(即前端接口指定分流),某访客访问企业官网并登录账号,前端通过账号(访客ID)向后端获取访客身份信息以及其他属性信息。其中可以有一条属性信息为:访客分流客服组id。该ID由企业后端根据业务需求判断后分配给前端,若访客没有任何订单信息,则分配至售前客服组;若有订单则分配至售后客服组(实际业务规则应该会更复杂,此处只做简单举例)。
设计访客分流策略–呼叫
七鱼的访客端分流能力
七鱼提供多种分流策略,例如通过后台配置指定分流、通过呼叫事件接口传参自定义分流。以下是对于七鱼分访客端分流能力的详细说明。
七鱼内置分流策略–通过七鱼管理端配置
按照中继号码分流
企业可根据已绑定在七鱼后台的中继号码,依据号码维度设置呼入及呼出的中继策略实现分流设置,即:企业在七鱼呼叫中心后台—路由策略—中继管理 中,为特定号码设置呼入中继至某个客服组,当访客拨打该号码时,会话将统一由该分组内客服进行接待;同理,若设置了呼出中继策略,则对应客服组内的客服在进行外呼时,可选择该号码进行呼出外显。


使用IVR分流
在中继管理—呼入中继中进行设置时,中继路径可选择中继到IVR导航,企业可通过中继到IVR导航来实现访客分流设置,IVR语音导航为按键导航,访客在呼入电话时,可根据对应的语音提示,输入对应数字来实现分流设置。
要想进行IVR导航分流,企业需先在IVR语音导航中进行IVR导航设置,如下图中示例:用户按0,可分流至售前客服,按1可分流至售后客服组。IVR导航可选择生效的VIP级别,默认对所有用户生效,通过设置不同的VIP级别,也可实现不同VIP访客等级进入不同IVR导航的效果。


VIP
IVR配置完成后可以选择不同的访客身份属性启用。常规情况下是区分所有客户、普通客户和VIP客户,例如下图,企业可根据业务需求选择。

V1~V10分级别
若企业有特殊需求,也可以设置根据不同的VIP等级启用IVR(此功能需要联系七鱼单独设置,联系线上客服提供需求点和企业域名即可,客服会提交工单处理)。例如下图:

企业自定义分流策略–通过“呼叫事件接口”分流
七鱼提供的呼叫事件接口逻辑上是访客呼入后到达七鱼后端,此时电话还没有分配至客服。服务端会将访客进线的事件下发给企业接口,企业接口根据业务需求和七鱼接口规范可返回客服id或者客服组id或者ivrid。七鱼收到响应后会根据接口返回将会话分配至指定的客服、客服组或者ivr。
开发者对于分流功能需要处理的事件类型是1(”eventtype”: 1),详细的接口请求样例:
curl -X POST
'http://www.xxx.com/api/ivr/crminfo?checksum=f570a5eb049eb803b086e45829b07e48&time=1511832531'
-H 'content-type: application/json;charset=utf-8'
-d '{
"eventtype": 1,
"phone": "15854582215",
"staffphone": "05718669163"
}'
开发者需要响应后的返回格式:
{
"code": 200,
"message": "",
"result": {
"level": 0,
"groupId": 415451,
"staffId": 2164623,
"ivrId": 2164623
}
}
详细返回说明可查看对应开发指南具体地址:点击查看
呼叫事件接口填写区域请见下图:

客服id/客服组id获取详见下图:

Ivrid获取详见下图:

设计访客分流方式
按照VIP级别分流
七鱼访客VIP等级定义
七鱼客服增加了设置用户 VIP 等级的功能,便于区分用户等级,允许 VIP 用户优先进线或为 VIP 用户指定专线客服,提升用户体验。
使用该功能需要在七鱼管理系统 【客户】—【设置】—【VIP客户设置】—【呼叫中心】页面打开 VIP 开关,否则设置将不会生效。

目前七鱼只是的VIP等级分3中:
1、VIP0:效果等同于不传VIP等级数值,即非VIP访客。
2、VIP1~10:有等级的VIP。客服看到的等级标识为Vx(x值是1~10)。等级数值越高,优先进线权利越高。
3、VIP11:统一的VIP。客服看到的等级标识为VIP。
VIP0,建议企业直接不传;VIP 1~10,建议有多级VIP等级的企业设置用于区分不同VIP等级的客户;VIP11,建议VIP不分等级的企业设置,即所有的VIP客户都是VIP11,非VIP则不传。企业可以根据自身业务需求选择。
获取VIP等级
呼叫系统中对于访客VIP等级获取有两种方式:
1、通过后台上传VIP列表(一个xls文件,模板可在七鱼后台下载 ,如上图所示),对应后台路径:【客户】->【设置】->【VIP客户设置】->【呼叫中心】
2、通过上述的 呼叫事件接口 中eventtype=1事件情况下,返回level字段来设置用户的VIP等级,文档可参考:呼叫事件对接(点击查看)”接口。对应响应事件类型为1(”eventtype”: 1)。接口可填写在七鱼后台,对应路径:【系统】->【扩展与集成】->【CRM信息对接】->【呼叫对接接口URL】

开发者接收到的事件详情是:
{
"eventtype": 1,
"phone": "15854582215",
"staffphone": "05718669163"
}'
针对此事件,可以返回当前呼叫号码对应用户的VIP等级,返回样例:
{
"code": 200,
"message": "",
"result": {
"level": 0 //VIP等级数值(取值范围是0~11)
}
}
七鱼的VIP客户设置
七鱼提供3种VIP策略:1、仅展现VIP标识;2、优先进线;3、专线客服。整体VIP策略设置请看以下截图:

仅展现VIP标识
七鱼侧只会在访客姓名后面增加一个vip的标志,用于客服区分VIP客户和普通客户,没有其他特殊性。客服端展示如下图

VIP优先进线
这个设置项包含了前面的展示VIP标识,且有优先进线的功能。当咨询量过大而客服当前接待量全满的情况下,访客进线会进入排队机制。此时,若有普通客户和VIP客户同时在排队(VIP进入的时间比普通客户晚,也就是VIP排队在普通访客之后),那么一旦客服侧接待量有空余,VIP将被优先分配进线。各个不同的VIP等级之间也有此规则,等级数值越高,这个优先级越高。
专线客服–所有VIP统一接待
此设置项包括了前面两个设置项的功能(即展示VIP标识以及优先进线,我们之前说过各个不同的VIP等级之间也有优先进线规则,等级越高优先级越高)设置信息如下图,呼叫的VIP准线客服优先级低于接口对接指定的客服组低于呼入中继策略。

VIP 分流的策略
VIP 客户专享号码—通过中继号码分流
企业存在多个中继号码的情况下,可向VIP访客提供专属的电话号码(即中继号码),并在七鱼后台通过中继管理—>呼入中继设置,将对应的号码设置为专属的VIP分组接待,以实现VIP访客分流到特定中继号的效果。
需要考虑:如何验证 VIP 等级
手工验证
客服可在通话过程中,客户信息处查看客户等级,也可在历史会话列表中,查看访客当前的vip等级信息。

IVR 校验
访客电话呼入时,可在IVR导航中设置信息校验节点,访客输入相关信息后,触发校验逻辑验证用户身份是否为vip(需进行接口对接)。

VIP 客户专享服务组—通过 “VIP 客户设置”分流
企业可在七鱼后台客户—>VIP客户设置中,设置一个VIP专属客服分组,此时只要访客身份为VIP,则在进线时会统一转由该分组内的客服接待,该分组内的客服只会接待有VIP标识的访客,非VIP不会进入该分组接待。
VIP 客户专享IVR—通过“IVR 语音导航”分流
IVR导航分两部分:
1、访客进入IVR导航后,企业可在IVR导航中设置用户身份校验机制,比如让访客输入当前的会员卡号或身份证号,企业根据会员卡号、身份证号等判断用户身份(需要做接口对接),当用户身份校验通过,则由某个分组进行接待,用户身份校验不通过则挂断电话。
2、企业可同时设置多个IVR导航,在设置IVR导航时选择生效的访客VIP等级(比如VIP总共有10级,1/2级使用一个IVR,3到10级使用另一套IVR),以达到通过VIP等级分流到不同IVR的效果。
企业自定义分流策略—通过“呼叫事件接口”分流
企业可根据用户的手机号判断用户身份,然后根据判断结果通过代码指定到对应分组/客服或IVR导航进行接待。具体原理是:访客电话呼入时,七鱼侧会触发呼入事件1的调用(需要企业开发接口接收该事件请求),企业接口通过接收到请求中的手机号码,对访客的身份进行判断,根据判断结果直接代码选择分配到对应分组或客服接待,也可指定进入对应的IVR导航中。
按照其他访客属性分流
案例:按找是否用订单分流至售前/售后客服组
该案例中企业可先设置两个分组:售前客服组,售后客服组。
企业需要实现呼叫事件的接口对接,当访客拨打电话时,七鱼侧触发呼叫事件1请求,请求至企业的呼叫事件接口,接口在接收到请求上来的手机号码后,可查询手机号关联的访客近期是否存在订单,或存在订单则说明用户要咨询问题为售后问题,代码可返回售后客服组id,系统将电话分配给售后客服组接待听;若不存在订单则说明用户要咨询的问题为售前问题,代码可返回售前客服组id给七鱼,系统将电话分配给售前客服组进行接待即可。
该场景为七鱼侧较为常见的访客分流场景之一,通过配合使用七鱼的各个接口及已有功能,可实现更为贴进企业场景的分流策略。
挂机短信
七鱼侧目前没有将挂机短信做成产品功能,但是呼叫和短信模块均已经开放能力接口,企业可以通过开发对接来实现自定义挂机短信。
实现逻辑是在访客和客服通话结束后,七鱼可以将通话信息同步推送给企业开发后端,后端提取通话信息中访客号码,之后再通过七鱼短信接口给对访客发送一条短信。
上述逻辑中设计到两个接口:1、通话记录同步接口;2、短信接口
1、通话记录同步接口(呼叫对接接口)
该接口需要配置在七鱼后台,配置区域如下:
填写后,七鱼默认开启推送服务往该接口推送事件消息。其中,本文讲述的挂机短信方案需要用到的是事件类型5。呼叫对接接口是七鱼提供的呼叫开放能力接口,目前接口配置只能配置一个,但是七鱼往该接口下发的事件类型已经有6种,详细可查看开发指南:点击查看
此方案中需要处理的是事件类型5(即七鱼推送消息的body中对”eventtype”: 5)
类型5推送请求触发时机为通话结束,请求的示例如下:
curl -X POST
'http://www.xxx.com/api/ivr/crminfo?checksum=f570a5eb049eb803b086e45829b07e48&time=1511832531'
-H 'content-type: application/json;charset=utf-8'
-d '{
"eventtype": 5,
"sessionid": 216629286,
"direction": "呼入",
"createtime": 1511832411968,
"connectionbeginetime": 1511832413992,
"connectionendtime": 1511832432183,
"from": "15854582215",
"to": "05718690766",
"user": "云中鹤",
"category": "售后问题/退货",
"staffid": 642656,
"staffname": "丽娜",
"status": "接通",
"visittimes": 1,
"duration": "10:15",
"evaluation": "满意",
"recordurl": "https://ysf.nosdn.127.net/9f670ff01dae290ad4bf83401d291069.wav",
"overflowFrom": "溢出来源",
"shuntGroupName":"分流客服组",
"ivrPath":"ivr路径",
"mobileArea":"号码归属地"
}'
备注:目前七鱼会将所有通话状态的记录全部推送,包括未打通的。
企业接收到该信息后可以提取访客号码、通话状态(打通还是未打通)甚至客服标记的通话分类等信息,然后根据自身业务需求做不同的响应处理。
2、短信接口
七鱼目前提供短信模块的开放接口,不过目前短信业务受到信息部的管控越来越严格,七鱼侧对于短信发送这块也是有相关的审核措施的。例如,七鱼短信接口只能通过短信模板来发送短信内容(模板中允许少量参数替代符,允许填写变量。详见七鱼后台短信模块操作提示);使用短信接口前,需先在七鱼后台添加短信模板,短信模板审核通过后,才可调用接口发送,短信模板会有专门的业务人员审核,审核依据动态变化,以国家政策为准。

七鱼短信接口详细开发说明可查看七鱼在线开发指南(接口很简单,此处不过多说明):点击查看
备注:短信业务,七鱼和其他短信通道提供商一样,提供的是一个通道,但是通道也是借用运营商的,所以短信发送成功/失败以及短信的回执是强依赖运营商的。
结合上述两个接口的能力描述,企业就能实现在访客挂机后发送短信给到访客手机号上。而且如果业务逻辑细致的话,还能根据通话状态以及通话分类等发送不同的短信内容。
企业也可以使用其他第三方短信接口,只要能实现短信发送即可。
工单双向同步
企业基本都有自己的工单系统,且已使用时间较长,业务流程和使用习惯都已经熟练。在此前提下,若直接切换七鱼工单系统,会带来使用习惯的变更以及可能涉及到流程的调整。因此,部分企业在切换客服系统后,会继续使用原有工单系统。此时,七鱼客服系统和原有工单系统的信息打通就成了至关重要的需求点。
七鱼也考虑到此类场景,并提供了七鱼内部工单系统与企业原有工单系统的同步能力。
七鱼开放的工单能力分为两部分:1、工单开放接口(由七鱼侧提供工单开放接口,企业根据七鱼定义的接口标准对接,实现在非七鱼后台创建、查看、回复等工单操作);2、工单推送事件对接(由对接企业提供事件接收接口,七鱼将客服在七鱼工单系统内的操作事件实施推送给企业接口,企业需要根据七鱼定义的推送事件格式标准去解析和处理事件)
首先,我们讲解下工单开放接口。对应开发指南地址:点击查看
开放接口为企业调用七鱼的接口,提供了创建、修改、申领、回复、转接等等七鱼现有工单完整处理流程内的所有节点,可通过调用工单接口操作七鱼的工单。如:企业可以将提交工单的前端界面提供在任何访客前端(提交工单的界面需要企业自己开发实现),访客可以自主创建、回复工单;或者在企业内部工单系统中操作工单时后端调用七鱼工单能力接口实现同步在七鱼工单系统中操作对应工单。
不过,七鱼工单接口中有以下内容需要开发者关注:
一、工单接口调用
七鱼创建工单依赖于工单模板,开发者调用接口时需要将模板id一并带上(若不带模板id,七鱼使用默认模板)。模板需要在七鱼后台创建,模板id可以通过接口获取到。
工单模板创建区域:

详细使用可参考七鱼产品手册。
1、七鱼工单修改类的接口依赖于工单id,此id在创建接口中会返回,也可以在七鱼后台查看到,查看区域:(每张工单的id都是唯一不可变的)

2、七鱼工单的创建和修改都是依赖于七鱼内工单账号id来处理的。因此,若是内部员工提交的工单,则使用该员工对应的七鱼账号id(企业需要创建一张数据表,用于存储员工信息以及对应的七鱼账号);若是外部访客(无七鱼账号人员)创建的工单,则要求企业预先创建一个工单账号提供给接口服务使用,为明显区别该账号,可以特殊命名账号姓名(例如:外部提交、工单系统占用等)。
二、工单推送事件对接
该服务需要企业根据七鱼推送事件内容标准,预先架构一个后端服务并提供一个可正常被七鱼调用发送事件消息的接口url。目前,工单推送功能为非对外服务,若企业需要开通此功能,需要找对应接口人邮件申请。后续企业提供的工单事件对接接口的填写也需要由七鱼后端人员处理。对应开发指南地址:点击查看
目前七鱼工单推送事件主要针对的是在七鱼后台操作工单时的节点事件,例如在七鱼后台创建工单、回复工单等。若是通过接口处理的事件,七鱼不会推送,因为这些事件本身就是开发者给到七鱼的,开发者自己掌握这些内容,工单推送接口填写位置如下。

总结:
根据以上两部分工单能力,企业开发者可以通过对接来实现:1、可以将第三方工单系统的工单同步在七鱼工单系统内创建、回复等;2、可以将在七鱼工单系统内处理的工单信息同步到第三方工单系统。当然,前提是第三方工单系统也有类似七鱼的开放能力接口。从而实现七鱼工单系统与第三方工单系统的数据双向同步