在线客服系统对接自己的系统,能做到哪一步

合从在线客服系统首页 / 文章列表 / 详情2026-10-28 18:00:00

作者:周屿|更新于 2026-10-28

老板或者产品过来说一句:把客服系统和咱们的会员系统、订单系统对接一下。活就落到了开发头上。

在线客服系统对接这种活,开发一般先去找 API 文档。找有没有服务端接口,有没有消息回调。想的是自己的服务器去调客服系统,客户来了消息,客服系统再推到自己的服务器上。这两样有了,工期好排,方案也好写。

结果在合从的文档里翻了一圈,找不到服务端接口,也没有消息回调。方案写到一半就卡住了,不知道这个对接还能怎么接。

其实能接,只是接的地方不一样。

回头看老板要的对接,落到实处多半是这几件事。会员来问,客服一看就知道是谁。咨询分给管这块的人。客服不用切到别的系统就能看订单。夜里没人的时候,机器人也能查物流。这几件都能做,下面一件一件讲。

会员来问,客服一看就知道是谁

会员登录了网站,点开聊天来问。客服那边要是看不出他是谁,就得再问一遍会员号,再去自己的系统里搜。客户换个手机、清一下浏览器,回来又成了一个新来的人。

那就在会员登录以后,把他是谁告诉合从。网站上,在登录成功之后调一次 identify,把会员 ID 和名字传过去:

async function onLoginSuccess(user) {
  window.hecong(hc => hc.identify({
    id: String(user.id),
    profile: { name: user.name }
  }))
}

会员点开聊天来问,客服回消息的页面右边,就能看到他的名字和资料。这个页面在合从里叫工作台。

工作台对话右边的客户资料,姓名显示林嘉树,业务字段里会员等级是金卡会员,红框框住这两项

网站上的聊天按钮还没装的,先看网站贴一段代码就能接待。

会员 ID 传什么

合从是按这个 ID 认人的。两个客户传了同一个 ID,后来的那位就会看到前一位的聊天记录。

很多人一上来想传手机号,省事。可手机号别人一猜就中,客户换了号,ID 也跟着变了。邮箱也是一样。自增的数字、订单号,同样容易被猜出来。

稳妥的做法,是用数据库里的 UUID,或者用你自己的盐对用户 ID 做一次哈希。这样每个客户不一样,不会变,别人也猜不到。

拿不到会员 ID 的时候,就不传。客户照样能问,客服照样能回,只是不知道他是谁。

自己测一遍

调好以后,自己登录网站,点开聊天窗,再去工作台看。资料要等聊天窗点开了才发出去,不点开,工作台上是看不到的。

网站有好几个页面的,每次跳转都会重新加载,每个页面都要调一次 identify。换两个页面再点开聊天试试,看客服那边是不是还认得。

从对话链接、APP 来的

对话链接,就是一个点开就能聊天的网址。会员从这里来,在网址后面拼上参数就行,比如 ?u=a3f9c2&n=张三,u 放会员 ID,n 放名字。这个网址由你的系统拼好,再跳过去。

会员在 APP 里点开聊天的,也一样要把他的 ID 传过来,APP 那边用的是 iOS 和 Android 的原生 SDK。还没定是嵌网页还是装 SDK 的,见App 里内嵌客服选 H5 还是 SDK。

同一个会员,从网站来、从对话链接来、从 APP 来,只要传的是同一个 ID,客服看到的就是同一个人。传过来的资料在工作台上怎么看,见客服系统自带的客户资料能记哪些。

咨询分给管这块的人

老会员来问售后,结果进了售前的那几个人手里,还得再转一遍。

合从自己分的时候,只知道客户从哪个入口来,不知道他是谁。他是哪个等级的会员、买的哪条产品线,只有你的系统知道。

那就由你的页面告诉合从,这条咨询该进哪个组。比如会员下过单,来问的多半是售后,就调 setRouting,把售后组的名字传过去:

hc.setRouting('售后组')

售后组,就是你们在工作台里建好的那个组。

测的时候要是发现咨询还是进了原来的组,先看是不是调晚了。要在客户发第一条消息之前调好,晚了的话,要到下一次咨询才起作用。

时间没问题,再对一下名字。括号里的名字要和工作台里的一模一样,中文照写。

客服不用切系统就能看订单

客户问:「我上周那单发了没有?」客服就得切到自己的后台,搜这个人,翻订单,再切回来回。同时接着几个客户的时候,切来切去更乱。

那就把你的订单页嵌进工作台。嵌进去以后,客服回消息的时候,右边一栏就是你的页面。查到的内容能填进输入框,也能直接发给客户。

客服回消息的页面,右边嵌着官方示例页面,能把内容回填到输入框或直接发送

先由团队创建者或管理员把页面加上。打开「设置」,在「客户」下面找到「扩展页面」,点「添加页面」。

添加扩展页面的弹窗,填名称和网址

名称随便起,比如「订单系统」。网址填你的页面,要是 https 开头的公网地址。填好保存。

自己的页面还没写好的,列表空着的时候可以先选「添加示例页面」,看看嵌进去是什么样。

你的页面要做的事

还是拿那个问「上周那单发了没有」的客户来说。

客服点开他的对话,你的页面得先知道这是谁。工作台会把当前对话的信息推过来,叫 context。里面带着这个客户的会员 ID,就是前面 identify 传进来的那个。

拿这个 ID,去你自己的系统里查他的订单,显示在页面上。

客服看完,觉得可以回了。可以把内容填进客服的输入框,客服看一眼再发。也可以直接用客服的身份发给客户。

直接发的时候要防一件事。查订单要几百毫秒,这中间客服可能已经点到了别的客户。这时候发出去,A 客户的订单就到了 B 客户那里。

所以发的时候,带上当前对话的 ID。你的页面不用装 SDK,往工作台发东西用浏览器的 postMessage 就行:

window.parent.postMessage({
  channel: 'hecong-extension',
  type: 'sendMessage',
  conversationId: currentContext.conversationId,   // 见下,务必传
  requestId: 'req-1',                              // 可选,回执会原样带回
  text: '您的订单预计明天送达。',
}, WORKSPACE_ORIGIN)

带上了,工作台一看对不上,就不发。

页面嵌不进去

加好了,客服那边却看到浏览器自己的错误页,多半是你的网站不让别人嵌。被拦的时候没有别的提示,所以上线前要真的嵌一次试试。

在服务器响应头里加上这一行:

Content-Security-Policy: frame-ancestors https://workpro.aihecong.com

同时去掉 X-Frame-Options: DENY 或 SAMEORIGIN。

完整的字段和回执,在文档站「开发一个扩展页面」那一页。

夜里机器人也能查物流

半夜客户来问:「我的快递到哪了?」客服都下班了,AI 机器人在接。可它看不到你的订单系统,答不上来。

接上你的接口以后,就不一样了。客户报个订单号,机器人从聊天里拿到它,去调你查物流的接口,拿到结果再用自己的话回给客户。

做法是给机器人加一个 HTTP API 工具。在左边栏点「AI Agent」,点「工具」,选「添加自定义工具」,再选「HTTP API 工具」。

创建 HTTP API 工具的页面:显示名称、工具描述、请求方法、请求地址、认证方式

请求地址填你查物流的那个接口。

要多花点心思的是「工具描述」。这段话是写给机器人看的,它靠这段话判断什么时候该去调你的接口。所以要写清楚:客户问物流、问快递到哪了的时候用它,查的时候要用订单号。

配好以后,自己去问一句物流试试。机器人没查到的话,先看两处:接口是不是公网能访问,是不是 13 秒内返回。

对接前先划掉的几件

再回到开头写方案时的设想,有几件是走不通的,写方案前就可以划掉。

让自己的服务器去调合从,走不通,合从不提供这类接口。上面那几件,都是换了个地方接。

消息来了推到你的服务器,也没有。要在消息来了的时候埋点、联动页面,就在客户打开的网页里监听。

想指定某一位客服来接,做不到,只能分到组。

想用代码替客户发一条消息,也做不到。带进聊天的商品、订单这些咨询内容,要客户自己点发送才会发出去。

下一步

先把老板要的那几件列出来,对一下上面这几件,看哪件能做、哪件要换个做法。

动手的话,先在网站上把 identify 调通。再去设置里加一个示例扩展页面,看一眼客服那边是什么样。然后再写自己的页面。

常见问题

微信客服能通过 API 对接吗?

不用写代码对接。在工作台里连上企业微信、绑定微信客服账号,客户在微信里发的消息就进工作台。只有在自己的小程序里放客服入口时,可能要写代码,那里调的是微信的接口。

小程序客服怎么对接?

两条路。一是走微信客服,在小程序里放入口。二是把对话链接嵌进小程序,微信、支付宝、抖音三家小程序的配置不一样。两条路怎么选,见小程序客服用微信客服还是对话链接。

有开发者文档吗,能监听消息吗?

有,在文档站的「开发接入」,按入口分好了。

消息能在网页里用 hc.on 监听,拿来做埋点,或者联动你自己的页面。下面这个事件,客服、机器人和系统发来的消息都会触发:

const off = hc.on('message:incoming', function (msg) {
  console.log('客服发来一条消息', msg.text)
})

// 不需要再监听时
off()

这些都是在网页里收到的,你的服务器那边收不到。只有 APP 的离线消息通知会推过去,见下一条。

APP 的离线消息通知怎么接?

客户离开 APP 以后,客服回了消息,合从会发一个请求到你填的回调地址。你再用自己的推送通道,推给客户。

回调地址在工作台里 APP 渠道的详情页填,左边有一栏「离线消息通知」。

有 npm 包吗?

没有。React、Vue 项目也是用 script 标签接。网站和对话链接用的是同一套 JS 接口,代码基本能照搬,只是入口名不一样:网站上是 window.hecong(cb),对话链接里是 window.hecongLink(cb)。

已经有 MCP 服务,能给机器人接上吗?

能。在添加自定义工具的地方选「MCP 服务」接进来。只能接公网上走 HTTP 的远程服务,在本机跑的 stdio 服务接不进来。

轻松上手,简单好用

多渠道统一服务,提升营销转化,降低人工回复成本,客服团队协助更高效