网页客服&h5 对接

一、接口说明

使用此接口,自定义访客id、访客昵称、传输自定义参数到坐席侧、使用商品卡片。还可进行自定义咨询按钮

二、基础信息对接

1、访客端通过url链接上面拼接参数的形式,拼接格式如下
https://im.useasy.cn/?channelId=abcxxx&imUrlTitle=&imFromUrl= &userParams={"visitorName":"小翟1","visitorId":"111"}&otherParams= {"自定义标题1":"自定义内容1","自定义key2":"自定义value2"}
2、参数定义格式如下(都为jsonString格式,key,value必须是双引号):
userParams参数代表自定义访客id、访客昵称 。内部参数 visitorName:访客昵称,visitorId:访客ID,groupId:接待组id,vip:优先进线标记
名称含义类型示例
visitorName访客昵称String极简访客
visitorId访客IDStringTM9KcDDExiCBAjFF
queueNumber接待组idString10000170 (服务组信息接口中的queueNumber)
vip优先进线标记(vip)Booleantrue/false
userPermission是否申请权限(安卓app场景可用)Booleantrue/false
otherParams参数代表自定义参数,用户可以自定义key和value的形式
3、坐席端展现形式如下图:
4、自定义按钮
控制在线客服按钮是否隐藏需要在script标签里加上autoShow参数。true:显示,false:隐藏,不传默认为true。如下代码所示
<script type="text/javascript" src="http://im.useasy.cn/ueChatInit.js?channelId=MerJWbT50clIoAj8&autoShow=false" async></script>
设置隐藏后使用ueImClick方法即可激活访客端界面,如下方代码所示
<script> function openFunction(){ console.log("打开与关闭客服聊天窗口事件") try { ueImClick() } catch (err) { console.error('err is:\n', err) } } </script>

三、商品卡片对接

  3.1 访客给座席发送卡片

3.1.1 访客端通过url链接上面拼接参数的形式,拼接格式如下
http://192.168.50.236:9624/?channelId=Jly8reRf1GXnT4jl&imUrlTitle=&imFromUrl=& contentType="goodsCard"&content={"img":"url地址string类型", "title":"标题","desc":"描述","remark":"备注","url":"商品url链接"}
3.1.2 参数格式定义如下(都为json格式,参数值必须是双引号):contentType:卡片类型content:是存放发送商品信息的json对象
contentType: "goodsCard" // 卡片类型, goodsCard为商品类型卡片 content: { "img": String, // 图片 "title": String, // 标题 "desc": String, // 描述 "remark": String, // 备注 "url": String, //商品url }
3.1.2 前端根据判断contentType是否存在且contentType==='goodsCard'条件成立在判断是否有content这个字段来控制第一次卡片是否展示,展示的话点发给客服按钮,调用newMsg接口,把contentType和content传过去

3.2 座席给访客发送卡片

  3.2.1 坐席通过Tab页对接页面配置tab页
  3.2.2 tab页里的url里面所呈现的内容应为一个订单列表,每个列表需要包含商品卡片的信息以及对应的发送按钮,卡片内容参数定义如下
content:{ "contentType": "goodsCard" // 商品卡片类型 "img": String, // 图片 "title": String, // 标题 "desc": String, // 描述 "remark": String, // 备注 "url": String, //商品url }
  3.2.3 点击卡片上的发送按钮需要用户将卡片上的参数,通过window.parent.postMessage(content, '*'); 将数据用postMessage的方式发送 ,以下为数据格式和发送方法和示例展示
var content = { // 要发送的卡片数据对象 contentType: "goodsCard" // 商品卡片类型 title: "这里是商品卡片的标题", desc:"这里是商品卡片的描述", img:"https://img.alicdn.com/imgextra/i2/2228361831/12228361831.jpg", remark:"这里是商品卡片的备注", url: "http://www.baidu.com",//商品url } window.parent.postMessage(content, '*'); // 将数据用postMessage的方式发送
  3.2.4 坐席端通过拿到iframe的参数调用replyMsg接口发送数据,以下为获取iframe上传递的数据方法
// 监听message事件 window.addEventListener('message', event => { if (event.origin !== 'https://example.com') return; // 根据需要验证消息来源,https://example.com为网页url // 处理数据对象 const param = event.data; // 获取参数 console.log(param); // 处理参数 });
  3.2.5 最终呈现在访客端

H5对接APP场景:

安卓

在app授予权限给H5时,可能需要判断权限类型,权限使用场景如下:
录音权限:系统将使用您的麦克风进行录音,发送录音消息给到客服。
图片权限:系统将获取您设备中的图片信息,并支持发送图片给客服
文件权限:系统将获取您设备中的文件信息,并支持发送文件给客服
摄像头权限:允许系统调起摄像头进行拍照/录像
webviewsdkdemo.zip
53.6 KB

IOS

IOSWebChatDemo.zip
366.0 KB

H5对接微信小程序

因为微信小程序使用web-view需要进行业务域名校验,因此需要将H5的域名更换为https://im-wechat.useasy.cn后,再联系对接人员进行校验文件的上传
2024-11-01