接待配置
如何配置小程序接入及来源追踪?

一、授权接入方式

在企点账户中心「企业管理」-「微信小程序账号」中,可以通过扫码指定权限的方式授权接入小程序。

1.小程序中添加客服入口

为了正常获取到访客的基本信息,推荐在小程序中使用以下代码添加入口,并获取小程序用户的昵称、头像、性别、所在地信息,入口样式可以根据微信官方规则进行调整。

<button 
   open-type="contact"
   session-from="nickName={{userInfo.nickName}}|avatarUrl={{userInfo.avatarUrl}}|gender={{userInfo.gender}}|country={{userInfo.country}}|province={{userInfo.province}}|city={{userInfo.city}}"
>联系客服</button>


目前支持了小程序自定义传参能力,使用如下代码添加自定义参数qidiantest

<button
      open-type="contact"
      session-from="userdef=qidiantest"
>联系客服</button>

并且通过企点openapi拉取微信小程序通路C客户自定义传参,参考https://api.qidian.qq.com/wiki/p-51


2.自定义客服分配

企点目前支持将小程序访客分配给指定的接待分组或者单人接待,在企点账户中心「接待配置」-「微信小程序接入」中配置。


二、小程序行为轨迹


【小程序SDK配置说明】


1、配置小程序域名

登录公众号平台,在[开发]-[开发设置]-[服务器域名]中增加企点域名:https://v.qidian.qq.com


2、申请appkey

使用前需申请appkey。申请入口见企点账户中心-》企业管理-》元数据管理-》开发配置。

私有化上报域名单独提供。


3、代码地址

微信:http://bqq.gtimg.com/CDN/source/da/universal/miniprogram/release/latest/QDTracker.js

通用:http://bqq.gtimg.com/CDN/source/da/universal/miniprogram/release/common/QDTracker.js


4、sdk接入

按微信小程序的能力,小程序上报sdk代码需要跟应用代码一起打包,在app.js里需要加入以下代码

 import QDTracker from './utils/QDTracker/QDTracker';


5、初始化

小程序有对应的生命周期,在sdk引入之后到所有生命周期回调之前,应该完成初始化sdk对生命周期是否自动上报做好配置。

/**
* 设置分享信息
* @param 必填appid 小程序appid
* @param 可选kfuin 主号
* @param 必填appkey 域名对应的appkey
* @param 必填useOpenId 是否使用Openid上报,默认为true
* @param 可选autoTrack.appLaunch onLaunch 是否自动上报 默认为true
* apiHost: 服务器地址 正式:https://v.qidian.qq.com
* @param 可选autoTrack.appShow 小程序onShow 是否自动上报 默认为true
*/
QDTracker.init({
appid:'wx19adbcc3fb4b3f2b', //必填,小程序appid
kfuin:'', //选填,主号
appkey:'9cb1c636687313a31bd6837d93611b35', // 必填appkey 域名对应的appkey
apiHost: 'https://v.qidian.qq.com' // 服务器地址,saas环境:https://v.qidian.qq.com 私有化环境单独提供
useOpenId:false, //如果使用openid上报,需要自己调用setOpenid,单独微信sdk才有,通用sdk该字段为useId,设置为true后微信,百度需openid,支付宝需aliUserId
apiMethod: 'post', post | get
encryptMode: 'default', aes | default | close
autoTrack:{
appLaunch: true, //onLaunch 是否自动上报
appShow: true, //小程序onShow 是否自动上报
appHide: true,
pageShow: true, //小程序页面onShow是否自动上报
pageHide: true,
pageShare: true, //单独微信sdk才有,通用sdk没有
// share: true
}
})

通用sdk

QDTracker.init({
appid:'wx19adbcc3fb4b3f2b', //小程序appid
kfuin:'', //主号
appkey:'9cb1c636687313a31bd6837d93611b35',
apiHost: 'https://v.qidian.qq.com'
useId:false, //设置为true后调用setCommonData微信,百度需openid,支付宝需aliUserId上报,
apiMethod: 'post', post | get
encryptMode: 'default', aes | default | close
autoTrack:{
appLaunch: true, //onLaunch 是否自动上报
appShow: true, //小程序onShow 是否自动上报
appHide: true,
pageShow: true, //小程序页面onShow是否自动上报
pageHide: true
}
})


6、设置通用信息

通用信息在设置后,对每个上报的数据包都生效,此接口可以添加properties里的属性,也可以添加properties平级的属性。小程序支持使用openid或自动生成唯一id标识用户,推荐使用openid标识,使用Openid时,需要指定useOpenId为true初始化,获取用户在小程序下的openid,再调用setCommonData设置 openid,因为appkey是上报必备属性,在设置appkey之前不会上报数据。

/**
* 设置通用信息
* @param params1 设置properties中的通用属性,格式如下{company:1,name:222}
* @param params2 设置properties平级的通用属性,和一些特殊用户身份字段格式如下{openid:'my_system_id',unionid:'unionid',bussid:'bussid',aliUserId:'aliUserId'}
*/
QDTracker.setCommonData(
params1, //设置properties中的通用属性
params2 //设置properties平级的通用属性,bussid在此处设置
);


7、自定义事件

/**
* 上报自定义事件
* @param eventName 事件名
* @param params 扩展字段参数,格式如下{name:'da',age:111}
*/
QDTracker.track(eventName, params)


8、获取id

通过此接口可以获取用户的唯一信息,页面会缓存qid在localstorage中,若有openid还会返回openid。


/**
*
* @ret 格式如下:{qid: "hm3722.3cvvtt.k0xitczf",openid:"ot6oR5bf85hj4CmsPnqkuhJWvsfI"}
*/
QDTracker.getIDs()


9、设置账户信息

QDTracker.setAccountInfo({userID: 'sssss'})


10、判断上报是否成功

response header中,err_code为0,即为上报成功。否则根据错误码,调整逻辑。上报成功后,可以在企点账户中心->企业管理-》元数据管理-》事件采集中实时看到成功上报的数据。点击事件详情,可以检查事件与属性是否与上报一致。如果上报的事件属性与定义的类型不一致,该属性将会被过滤,请调整上报。