当前位置: 首页 > news >正文

JS API接入说明

一洽对外提供JS API功能,网站接入时可以注入 echat.js 按需求使用 比如网站自定义的按钮使用 js 方法打开对话、监听对话状态、设置未读消息等

1、页内打开对话

调用方法:ECHAT.customMiniChat(customObj)

customObj 参数格式 为JSON对象
示例:ECHAT.customMiniChat({'echatTag':'order'})

描述:打开一个页内对话窗口,在当前网页中建立一个 iframe 打开对话。
 

pc网页端效果图

手机网页端效果图


 

2、弹窗打开对话

调用方法:ECHAT.customNewWinChat(customObj)
描述:使用 window.open 打开一个对话弹窗,应用于 PC 站点,手机站点不建议使用,因为手机端没有弹出窗口的概念,使用后会在新窗口打开对话

pc网页端效果图


 

3、新窗口打开对话

调用方法:ECHAT.customOpenChat(customObj)
描述:新页面打开对话窗口,此方法多应用在PC站点中,调用此方法后会在新标签页打开一个一洽对话,不建议在手机端使用此方法,因为新窗口打开后
返回上一页会销毁当前的对话窗口

pc网页端效果图


 

4、刷新访客的会员身份

调用方法:ECHAT.refreshVisitorMetaData(metaData,myData)
描述:如果当前访客在对话的过程中进行了登录,可以使用此方法刷新访客的会员身份

参数介绍:

属性名类型必须描述encode
metaDataString当前登录会员的 metaData 信息,详细请查看 会员信息
myDataString自定义参数




 

5、获取对话窗口地址

调用方法:ECHAT.getChatPageUrl()
描述:如果使用了自定义图标通过对话链接打开对话窗口,可通过此方法获取 echat 默认的打开窗口地址,然后根据业务需要追加不同的参数,使用一洽提供的默认对话窗口地址可自动追加对话的打开页面地址、来源信息到对话窗口地址中,同时会将访客的身份追加到参数中,在访客浏览器不支持 cookie 时保证浏览访客和对话访客的身份一致

例如通过百度搜索一洽进入一洽的官网,获取到的对话窗口地址如下:

http://es.echatsoft.com/visitor/pc/chat.html?companyId=1&encryptVID=MlpBrdy+fs8d7XyLvYZF9g==&chatVisitorId=24092361&enterUrl=http://www.echatsoft.com/&enterTitle=一洽客服Echat|专业的电商行业在线客服系统软件和解决方案提供商&firstUrl=http://www.echatsoft.com/&firstTitle=一洽客服Echat|专业的电商行业在线客服系统软件和解决方案提供商&referrer=https://www.baidu.com/link?url=4mToafSCGt-JnuEkpTsHDFxaWjY5XSACzLIjJ18ykDN43f_tuVplNBHiDhp9dopU&wd=&eqid=a595df79000032d50000000559228aac&fromHost=http://www.echatsoft.com&dataHost=http://e.echatsoft.com





 

6、获取访客Id

调用方法:ECHAT.getEchatVisitorId()
描述:获取当前访客在一洽的身份 id,如果需要结合对话业务的数据和页面操作的其他数据做深入的分析,可以通过此ID将对话的业务数据和自己业务系统的数据做对应。


 

7、设置页面标题

调用方法:ECHAT.setPageTitle(title)
描述:一洽在获取到新消息时会变化对话所在页面的title来提示访客有新消息,如果当前页面的 title 会动态变化,那么一洽不会实时获取页面的 title,需要在页面 title 变化后通知一洽。
比如对话时页面的 title 为:订单详细信息 此时新消息提示会将标题设置为 “订单详情信息”和 “您有新消息” 两者之间切换。
如果由于某种业务操作,页面的标题在对话过程中设置为了“我的订单” 那么一洽不会使用此标题切换,需要开发者手动通知一洽变更后的标题。


 

8、页内对话窗口最小化-最大化

页内对话窗口最小化

调用方法:ECHAT.hideMiniChat()
描述:如果您使用页内的对话窗口进行对话,需要手动将一洽的对话窗口最小化可调用此方法。

页内对话窗口最大化

调用方法:ECHAT.maxMiniChat()
描述:如果您使用页内的对话窗口进行对话,需要手动将一洽的对话窗口最大化弹出,仅在 PC 端有效。


 

9、结束对话

调用方法:ECHAT.closeMiniChat(closeParam)
描述:如果您使用页内的对话窗口进行对话,需要手动关闭对话可调用此方法,
closeParam 传入格式为 json
directClose = 1 则直接结束对话(跳过弹窗确认,执行点击确认的操作)
不传 closeParam 默认需要弹窗确认,执行点击确认关闭对话的操作
示例:ECHAT.closeMiniChat({'directClose':1})


 

10、设置手机窗口半屏展示

调用方法:ECHAT.setMobilePageTop(top)
用法:ECHAT.setMobilePageTop(top)
描述:如果希望手机在打开内页窗口时,不覆盖整个屏幕,可使用此方法设置手机内页窗口打开时距离顶部的距离,单位PX。
例如:ECHAT.setMobilePageTop(150);


 

11、获取内页窗口的打开状态

调用方法:ECHAT.getMiniStatus()
描述:通过此方法可判断当前内页窗口是打开状态还是关闭状态,可自定义主动弹开对话窗口的规则。
返回值:
close : 内页窗口关闭状态
open : 内页窗口打开状态


 

12、获取对话状态

调用方法:ECHAT.getChatStatus()
描述:通过此方法可获取当前访客的对话状态。
返回值:
0:不存下对话或者留言
1:请求对话中
2:对话中
3:对话窗口数量过多
4:对话已结束


 

13、获取对话客服信息

调用方法:ECHAT.getChatStaffInfo()
描述:通过此方法可获取当前访客正在对话的客服信息。
返回值:
如果正在与客服对话则返回对话客服的信息(json)
staffId:客服ID
staffNickName:客服的对外昵称
staffPhone:客服的对外电话
staffHead:客服的对外头像
staffInfo:客服的对外信息介绍
如果没有对话的客服则返回空


 

14、获取访客的未读消息数

调用方法:ECHAT.getUnReadMsgCount()
描述:未读消息数量包括对话开始前客服回复访客的留言数量、给发送发送的推送消息数量、以及对话过程中产生的新的未读对话消息数量
返回值:>=0 的整数


 

15、设置PC内页窗口大小以及位置

用法:引入js时进行设置
设置参数名称:pcMiniWinParam
设置参数值:json对象

key类型解释
leftint左边距 不设置则使用样式配置。不为0 则会显示在左侧 优先级高于 right
rightint右边距 不设置则使用样式配置 不为0 则会显示在右侧
bottomint底边距 不设置则使用样式配置
minboolean是否显示最小化按钮 不设置则使用样式配置
maxboolean是否显示最大化按钮 不设置则使用样式配置
closeboolean是否显示关闭按钮 不设置则使用样式配置
widthint窗口宽度 不设置则使用样式配置
heightint窗口高度 不设置则使用样式配置

var _echatServer = ['e.echatsoft.com'];
window._echat=window._echat||function(){(_echat.q=_echat.q||[]).push(arguments)};_echat.l=+new Date;_echat('initParam', { companyId: 1});var pcMiniWinParam = {};pcMiniWinParam.left = 20;pcMiniWinParam.bottom = 20;pcMiniWinParam.min = true;pcMiniWinParam.max = true;pcMiniWinParam.close = false;pcMiniWinParam.width = 320;pcMiniWinParam.height = 450;_echat('initParam', { pcMiniWinParam:pcMiniWinParam});
(function () {var echat = document.createElement('script');echat.type = 'text/javascript';echat.async = true;echat.id = 'echatmodulejs';echat.setAttribute('charset','UTF-8');echat.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'es.echatsoft.com/visitor/echat.js';var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(echat, s);



 

16、发送文本消息

调用方法:ECHAT.sendTextMsg(text)
描述:调用此方法可以实现开发者发送文本消息到对话中


 

17、发送卡片消息

调用方法:ECHAT.pushVisitorEvent(visEvt)
描述:如果访客在对话的过程中需要将指定的订单或者商品以图文卡片信息推送给客服,可以使用此方法


 

18、监听对话事件

echatjs加载完成后可注册事件接收,实现自定义对话的部分高级效果
1.在自定义图标上显示当前页面未读取的新消息数量
注意:如果会员对话,需要在js中传入会员参数

<script type="text/javascript">var _echatServer = ['e.echatsoft.com'];window._echat=window._echat||function(){(_echat.q=_echat.q||[]).push(arguments)};_echat.l=+new Date;_echat('initParam', { companyId: #{companyId}});_echat('initParam', {metaData : #{companyId}}); //会员对话,需要js中传入metaData,确保监听到对应会员数据(function () {var echat = document.createElement('script');echat.type = 'text/javascript';echat.async = true;echat.id = 'echatmodulejs';echat.setAttribute('charset','UTF-8');echat.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'es.echatsoft.com/visitor/echat.js';var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(echat, s);})();_echat('on',{ready: function () {//一洽配置加载完成},newMsg: function (num) {//一洽新消息数量}});
</script>

相关文章:

  • 多模态能解决什么样的业务场景?
  • Python内存使用分析工具深度解析与实践指南(上篇)
  • 装饰器模式深度解析:Java设计模式实战指南与动态功能扩展最佳实践
  • 《Go语言圣经》函数值、匿名函数递归与可变参数
  • NVIDIA开源Fast-dLLM!解析分块KV缓存与置信度感知并行解码技术
  • (链表:哈希表 + 双向链表)146.LRU 缓存
  • React Native【实战范例】弹跳动画菜单导航
  • 基于微信小程序的美食点餐订餐系统
  • 【Dify学习笔记】:RagFlow接入Dify基础教程
  • Flowise工作流引擎的本地部署与远程访问实践
  • Python 操作 MySQL 数据库
  • EfficientVLA:面向视觉-语言-动作模型无训练的加速与压缩
  • Linux——linux的基本命令
  • 全面掌握 C++ 基础:关键特性与进化
  • 深入理解 Git:从版本控制原理到企业级实践
  • 医疗AI大数据处理流程的全面解析:从数据源到应用实践
  • 【世纪龙科技】智能网联汽车装调仿真教学软件数智化赋能实训教学
  • 有方 N58 LTE Cat.1 模块联合 SD NAND 贴片式 TF 卡 MKDV1GIL-AST,打造 T-BOX 高性能解决方案
  • 解锁数据宝藏:数据挖掘之数据预处理全解析
  • react扩展
  • 软件设计模式/宁波seo运营推广平台排名
  • 做网站上海的备案地址/百度移动应用
  • 建站之星网站模板商城/处理事件seo软件
  • 广西网站建设招标公司/做网络营销推广
  • 营销方案 网站/seo的基本内容
  • 网站推广的基本手段/什么叫seo