CRM 对接
上报用户信息
可以通过调用 config 方法上报企业用户信息,这样便能在客服系统中将会话和企业产品中的用户关联起来。
代码示例:
注意,如果在 sdk 初始化完成之前调用本接口,它将等待 sdk 初始化完成后再执行
ysf('config', {
uid: "123456789",
name: 'test',
email: 'test@163.com',
mobile: '13888888888',
authToken: 'authToken',
level: 1, // vip级别
data: JSON.stringify([
{ "key": "real_name", "value": "土豪" },
{ "key": "mobile_phone", "value": "13800000000" },
{ "key": "email", "value": "13800000000@163.com" },
{ "index": 0, "key": "account", "label": "账号", "value": "zhangsan", "href": "http://example.domain/user/zhangsan" },
{ "index": 1, "key": "sex", "label": "性别", "hidden": true, "value": "先生" },
{ "index": 2, "key": "reg_date", "label": "注册日期", "value": "2015-11-16" },
{ "index": 3, "key": "last_login", "label": "上次登录时间", "value": "2015-12-22 15:38:54" },
{ "index": 4, "key": "avatar", "label": "头像", "value": "https://xxxxx.jpg" }
])
});参数说明:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| uid | string | 否 | 用户在企业产品中的标识,便于后续客服系统中查看该用户在产品中的相关信息,不传表示匿名用户 。若要指定用户信息,不显示默认的(guestxxx用户姓名),就必须传uid(如果需要上报 data 信息,必须先上传uid) |
| name | string | 否 | 用户在企业产品中的名称,便于后续客服系统中查看该用户在产品中的相关信息 |
| string | 否 | 用户在企业产品中的邮箱,便于后续客服系统中查看该用户在产品中的相关信息 | |
| mobile | string | 否 | 可选,用户在企业产品中的手机,便于后续客服系统中查看该用户在产品中的相关信息 |
| level | number | 否 | VIP可区分等级,上限为10级;如果超过 10 则只显示 vip 不显示等级 |
| title | string | 否 | 自定义访客咨询来源页的标题,不配置 sdk 会自动抓取,和 referrer 一起使用 |
| referrer | string | 否 | 自定义访客咨询来源页的 url,不配置 sdk 会自动抓取,和 title 一起使用 |
| data | string | 否 | 用户在企业中的其他详细信息,json 字符串; |
| success | function | 否 | config 方法调用成功回调 |
| error | function | 否 | config 方法调用失败回调 |
| authToken | string | 否 | 用户认证,参考用户认证 auth_token 的几种校验规则 |
扩展信息字段 data 是一个数组的 json 字符串表示形式,描述用户的详细信息,数组中每个元素代表一个数据项。数据项以 (key, value) 对的形式为基础,可以增加额外的字段来控制显示样式。
data 数据项定义如下:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 数据项的名称,用于区别不同的数据。其中 real_name、mobile_phone、email 为保留字段,分别对应客服工作台用户信息中的“姓名”、“手机”、“邮箱”这三项数据。保留关键字对应的数据项中,index、label、hidden 属性将无效,其显示顺序及名称由网易七鱼系统指定 |
| value | any | 是 | 该数据显示的值,类型不做限定,根据实际需要进行设定 |
| label | string | 否 | 该项数据显示的名称,key 如果是以上保留字段的时候 label 不生效,其他场景建议填写 label 字段 |
| index | number | 否 | 不允许负数,无最大值限制;用于排序,显示数据时数据项按 index 值升序排列;不设定 index 的数据项将排在后面;index相同或未设定的数据项将按照其在 JSON 中出现的顺序排列 |
| href | string | 否 | 超链接地址。若指定该值,则该项数据将显示为超链接样式,点击后跳转到其值所指定的 URL 地址 |
| hidden | boolean | 否 | 仅对 key 为非 real_name、mobile_phone、email 等保留字段有效,表示是否隐藏对应的数据项,true为隐藏,false为不隐藏。若不指定,默认为 false 不隐藏 |
成功调用该接口并打开客服聊天窗口后,客服即可在客服端聊天窗口右侧的“用户信息/客户资料” tab 标签页下看到上述用户信息。config 方法只是把开发者赋值信息传递到客服端前端页面展示,所以在发现访客信息与理想中不一样,那就只能是以下两种情况:
- 传参有问题
- config 方法调用失败
注:有部分接入者会要求对VIP再次分级并指定客服接待,对于该问题需要特别说明下: 七鱼后台对于VIP客户设置有3种规则(仅展现VIP标识、优先进线、专线客服)。如果要对VIP再次分级并指定客服,就需要将VIP客户设置为“仅展现VIP标识”;然后开发者可以根据自己定义的VIP分级,来指定客服组(例如:开发者可以自己判断VIP1
3,由A组接待;VIP46由B组接待…)。如果设置为“优先进线”或者“专线客服”,会对代码层面的指定客服有影响(为体现VIP的特殊性,后台对VIP客户的设置是最高优先级)。
注销用户
企业对接的情况下,企业需要切换或注销帐号时,接入七鱼的第三应用需要调用 ysf('logoff') 函数登出。
常见问题
Q: 在 ios 的 h5 页面使用七鱼 sdk,设置的用户信息无法生效
A: 请先检查自己的接入代码,是否在设置用户信息(调用ysf('config'))后立即打开了聊天窗口(或进行了页面跳转),这种情况下用户信息很可能设置失败。 当在ios的h5页面使用七鱼sdk时,设置用户信息是一个异步的过程;如果需要保证用户信息设置成功,则应该在成功回调中打开聊天窗口或进行后续操作
示例代码:
ysf('config', {
uid:"1442286211167",
name:'test',
email:'test@163.com',
mobile:'13888888888',
success: function(){ // 成功回调
ysf('open');
},
error: function(){ // 错误回调
// handle error
}
});接口CRM对接
企业 CRM 接口由客户企业提供并实现,网易七鱼系统将在必要的时候调用特定的接口,并将接口返回的数据以约定的样式显示在客服工作界面。 特别要注意企业需要进行 服务器跨域配置, 具体详情见: CRM 接口对接
这篇文档有帮助吗?