Appearance
开发接入
按你拿到的东西判断在对接哪种渠道,再进对应的开发文档。
先确认你在对接哪种渠道
合从的接入渠道有四种,装法和能用的能力不完全一样。你手上拿到的东西就能判断:
| 你拿到的是 | 那就是 | 从这里开始 |
|---|---|---|
一段 <script> 接入代码 | 网页接入渠道 | 接入代码与配置项 |
一个链接,或一个要你部署的 chat.html | 对话链接渠道 | 对话链接概述 |
| 一个渠道 ID,要装进 iOS / Android APP | APP 渠道 | APP 接入概述 |
| 企业微信里的微信客服账号,要接进合从 | 微信客服渠道 | 微信客服概述 |
| 都没拿到,只知道要「对接客服」 | 先去问是哪种渠道 |
接入代码长这样:<script src="...hecong.js" data-channel-id="...">;链接长这样:https://.../?c=...。都没拿到的话,去工作台 设置 > 渠道管理 看渠道类型,或问建渠道的同事。
网页接入和对话链接的命令和事件是同一套 JS 接口,业务代码基本可以照搬。差别有三处:
- 拿到命令对象的入口名不同 —— 网页接入是
window.hecong(cb),对话链接是window.hecongLink(cb) - 网页接入能程序化开关聊天窗,对话链接是整页聊天,没有窗口可开关
- 对话链接能通过网址参数带入客户资料,网页接入没有这条路;而对话链接要写 JS 则必须用自有域名部署,官方域名的链接你没有地方写代码
APP 渠道用的是 iOS 和 Android 原生 SDK,方法名按两端的语言习惯来写,能做的事和上面基本对应:传客户资料、带入咨询内容、指定技能组、选择器、监听会话事件。用 uni-app、React Native、Flutter 开发的 APP 不装原生 SDK,用 WebView 打开对话链接,走对话链接那一套。
微信客服渠道不用写代码对接合从,在工作台连接企业微信、绑定微信客服账号即可。唯一可能要写代码的,是在你自己的小程序里放入口,调用的是微信的接口,见在小程序中接入。
网页接入渠道
装在你自己的网站上,访客点聊天按钮咨询。
| 能力 | 说明 |
|---|---|
| 接入代码与配置项 | script 标签、两个可配属性、就绪回调 |
| 传客户资料给客服 | 客户 ID 的取值要求、字段上限、失败处理 |
| 打开与关闭聊天窗 | 用页面上自己的按钮触发咨询 |
| 切换聊天窗的界面语言 | 多语言站点跟随站点语言 |
| 带入咨询内容 | 把访客正在看的商品、订单或一段文字带进聊天窗 |
| 商品、订单与文章选择器 | 访客把正在看的商品直接发给客服 |
| 指定由哪个技能组接待 | 你的系统算好归属,接待直接进对应的组 |
| 监听聊天窗事件 | 埋点统计、联动你自己的业务逻辑 |
| React 与 Vue 接入示例 | 框架项目的完整写法 |
| 接口速查 | 全部命令、事件与类型定义 |
| 接入问题排查 | 按报错现象查原因 |
对话链接渠道
一个链接点开就是聊天页,发给客户、印成二维码、嵌进小程序都行。
| 能力 | 说明 |
|---|---|
| 接入形态选型 | 用官方域名还是自己的域名,责任边界在哪 |
| 自有域名部署 | 下载 chat.html 放到自己的服务器上 |
| 传客户资料给客服 | 网址参数与页面内调用两种做法 |
| 商品、订单与文章选择器 | 客户把要问的那一件发给客服 |
| 带入咨询内容 | 把客户正在看的商品、订单或一段文字带进聊天页 |
| 监听聊天页事件 | 埋点统计、联动你自己的业务逻辑 |
| 接口速查 | 全部命令、事件与类型定义 |
| 区分投放来源 | 一条链接投多处,用 utm 参数分辨来源 |
| 指定由哪个技能组接待 | 链接挂参数或用代码指定,各门店进各自的组 |
| 嵌入小程序 | 微信、支付宝、抖音三个平台的配置差异 |
APP 渠道
在你自己的 iOS、Android APP 里装原生 SDK,客户不跳出 APP 就能咨询。
| 能力 | 说明 |
|---|---|
| 装进 Android | Maven 依赖与初始化 |
| 装进 iOS | Swift Package Manager 依赖与初始化 |
| 聊天页的四种形态 | 整页、半屏弹层、嵌进自己的布局、整屏沉浸 |
| 传客户资料与退出登录 | 会员 ID、自定义业务字段、退出时解绑 |
| 带入咨询内容 | 把客户正在看的商品、订单或一段文字带进聊天页 |
| 商品与订单选择器 | 客户在聊天里直接选一件发给客服 |
| 指定技能组接待 | 会员等级、来源页面决定进哪个组 |
| 监听会话事件 | 客服回消息时震动、埋点统计 |
| 未读消息与红点 | 客户离开客服页后,在入口上显示未读数 |
| 客户不在 APP 时的消息推送 | 开启离线消息通知,合从通知你的服务端,由你发系统推送 |
| 接口速查 | 两端全部配置项、方法与回调 |
| 接入问题排查 | 按现象查原因 |
不分渠道的能力
这两类跟你用哪种渠道无关。
| 能力 | 说明 |
|---|---|
| 在工作台右栏嵌入自有页面 | 客服接待时直接看到你系统里的订单、工单 |
| 用 HTTP 接口扩展 AI 能力 | 配一个 HTTP API 工具,机器人查订单、查物流、建工单 |
| 接入 MCP 服务 | 用 MCP 协议把已有工具接给机器人 |
这些做不到
以下能力不提供,做方案前先核对:
| 你可能想做 | 现状 |
|---|---|
| 用代码替客户发一条消息 | 做不到 |
| 你的服务器调用合从的接口 | 不提供 |
| 合从把事件推送到你的服务器 | 只有 APP 渠道的离线消息通知,其他事件不推送 |
| 指定分给具体某一位客服 | 做不到,只能指定由哪个技能组接待 |
几种渠道可以同时用。网页接入、对话链接、APP 这三种里,同一个客户传同一个会员 ID,会归到同一个客户。
npm 包与渠道 ID
合从不提供 npm 包
npm registry 上没有 @hecong/* 包。网页接入和对话链接都通过 script 标签接入,React、Vue 项目也一样;APP 渠道的 SDK 从 Maven 和 Swift Package Manager 安装,见装进 Android、装进 iOS。
文档示例里的渠道 ID 都是占位值,要换成你自己的。网页接入、对话链接、APP 渠道的渠道 ID 都在 设置 > 渠道管理 > 选择渠道 > 开发者 的 接入参数 里;网页接入从 安装代码 复制的代码已经填好了。