# CRM对接
# 上报用户信息
企业可以通过调用config接口配置企业用户信息,以便在客服系统中将会话与企业产品中的用户关联起来,如以下方式
代码示例:
注意,如果你在sdk初始化完成之前调用本接口,它将等待sdk初始化完成后执行
ysf('config', {
uid: "123456789",
name: 'test',
email: 'test@163.com',
mobile: '13888888888',
level : 1, // vip级别
data:JSON.stringify([
{"key":"real_name", "value":"土豪"},
{"key":"mobile_phone", "hidden":true, "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":"性别", "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 | int | 可选,VIP可区分等级,上限为10级 |
title | String | 可选,自定义访客咨询来源页的标题,不配置sdk会自动抓取,和referrer一起使用 |
referrer | String | 可选,自定义访客咨询来源页的url,不配置sdk会自动抓取,和title一起使用 |
data | String | 可选,用户在企业中的其他详细信息,JSON字符串 |
扩展信息字段data用一个数组的 JSON (opens new window) 字符串描述用户的详细信息,数组中每个元素代表一个数据项。数据项以(key, value)对的形式为基础,增加了额外的字段以控制显示样式。数据项定义如下:
字段 | 类型 | 必须 | 说明 |
---|---|---|---|
key | String | 是 | 数据项的名称,用于区别不同的数据。其中real_name、mobile_phone、email为保留字段,分别对应客服工作台用户信息中的“姓名”、“手机”、“邮箱”这三项数据。保留关键字对应的数据项中,index、label属性将无效,其显示顺序及名称由网易七鱼系统指定 |
value | Mixed | 是 | 该数据显示的值,类型不做限定,根据实际需要进行设定 |
label | String | 是 | 该项数据显示的名称 |
index | Int | 否 | 用于排序,显示数据时数据项按index值升序排列;不设定index的数据项将排在后面;index相同或未设定的数据项将按照其在 JSON 中出现的顺序排列 |
href | String | 否 | 超链接地址。若指定该值,则该项数据将显示为超链接样式,点击后跳转到其值所指定的 URL 地址 |
hidden | Boolean | 否 | 仅对mobile_phone、email两个保留字段有效,表示是否隐藏对应的数据项,true为隐藏,false为不隐藏。若不指定,默认为false不隐藏 |
成功调用该接口并打开客服聊天窗口后,客服即可在客服端聊天窗口右侧的“用户信息/客户资料”tab下看到上述用户信息。config接口只是把开发者赋值信息传递到客服端前端页面展示,所以在发现访客信息与理想中不一样,那就只能是1、传参有问题;2、config接口调用失败。
ysf('config')支持传入成功和失败回调函数(success、error)。当在ios的h5页面使用七鱼sdk时,设置用户信息是一个异步的过程;如果需要保证用户信息设置成功,则应该在成功回调中进行后续操作(如进行页面跳转、打开聊天窗口等)
示例代码:
ysf('config', {
uid: "123456789", // 用户Id
name: 'test', // 用户名称
email: 'test@163.com', // 用户邮箱
mobile: '13888888888', // 用户电话
level : 1, // vip级别
success: function(){ // 成功回调
ysf('open');
},
error: function(){ // 错误回调
// handle error
}
})
注:有部分接入者会要求对VIP再次分级并指定客服接待,对于该问题需要特别说明下: 七鱼后台对于VIP客户设置有3种规则(仅展现VIP标识、优先进线、专线客服)。如果要对VIP再次分级并指定客服,就需要将VIP客户设置为“仅展现VIP标识”;然后开发者可以根据自己定义的VIP分级,来指定客服组(例如:开发者可以自己判断VIP1~3,由A组接待;VIP4~6由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 接口由客户企业提供并实现,网易七鱼系统将在必要的时候调用特定的接口,并将接口返回的数据以约定的样式显示在客服工作界面。 特别要注意企业需要进行 服务器跨域配置, 具体详情见: 企业信息对接