# 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 可选,用户在企业产品中的名称,便于后续客服系统中查看该用户在产品中的相关信息
email 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 接口由客户企业提供并实现,网易七鱼系统将在必要的时候调用特定的接口,并将接口返回的数据以约定的样式显示在客服工作界面。 特别要注意企业需要进行 服务器跨域配置, 具体详情见: 企业信息对接