前端开发可定义的访客唯一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接口说明)。而且任何字段的脱敏都需要企业自身处理,七鱼侧收到的是什么信息就直接原模原样展示出来。