小程序客服怎么设置:用微信客服还是对话链接

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

作者:沈知|更新于 2026-10-15

小程序做好了,客户想问点事,翻遍页面找不到能说话的地方,只好关掉走人。小程序客服设置这件事,我的判断是:手上有企业微信,就先把客服入口接到微信客服,走免开发授权,一行代码都不用改,坐席回过去,客户在微信里会收到提醒;只有必须让客户待在小程序里聊的时候,才去建一个页面用 web-view 嵌对话链接,这条路要你有一个备案过的自有域名,小程序也得是企业主体。

选哪条,看的是客户聊天时人在哪、走开以后答复能不能追上他。至于消息,两条路最后都落到同一个客服工作台,这一点不用纠结。

小程序客服设置,先定客户要不要待在小程序里

走微信客服,客户点了小程序里的客服入口,会被带到微信客服的聊天界面,对话发生在微信里。坐席在工作台答复后,微信会给客户推一条消息提醒,他中途离开也不会错过。

嵌对话链接,则要在小程序里另开一页,靠 web-view 组件把对话页面装进去。客户眼前是整屏的聊天窗口,顶上还是小程序自己的导航栏,从头到尾没离开小程序。

微信客服 嵌入对话链接
聊天发生在 微信客服的对话界面 小程序内部
客户走开后 微信推消息提醒 不提醒,他再进这一页才看得到
开发量 能做到零开发 新建一页放 web-view
必备条件 企业微信 自有域名,企业主体小程序
对话页能力 受微信规则约束 询前表单、留言表单、商品订单选择器等

我的建议按这个次序:

  1. 已经在用企业微信,目标只是让客户找得到人、答复送得到,接微信客服。
  2. 业务上要求客户别离开小程序,或者你用得上表单、商品订单选择器,嵌对话链接。
  3. 企业微信没有,能传文件的备案域名也没有,那先把其中一个办下来,再谈设置。

两条路并不互斥,可以都建,分别挂在不同页面上。微信客服的入口除了小程序还能挂在哪,参见微信客服接入第三方客服系统的整体说明。

有企业微信的,先接微信客服

理由在于答复能追到人。客户提完问题顺手关了小程序,坐席过一阵才回,这条答复照样作为微信消息送到他手里。对话链接没有这个能力,人一离开页面,答复只能搁在那里等他回来。

具体到合从客服,它的渠道类型里没有单列「小程序」,小程序算作微信客服或对话链接的一个投放位置。所以这里先在工作台新建一个微信客服渠道,由企业微信超级管理员授权一次。之后有两种接法,按你要不要改代码来挑。

不打算改代码,用免开发授权

它借用小程序本来就有的客服入口。已认证的小程序可以,个人类型的小程序也可以,小程序和企业微信的主体也不必一致。前提只有一条:这个小程序开通过小程序客服;从没开通过,就只能看下一种接法。

  1. 进企业微信管理后台,打开「应用管理」>「微信客服」。
  2. 「接入场景」一栏点「在小程序中接入」,勾上这个渠道绑定的那个客服账号。
  3. 页面会提示需要小程序管理员授权,请对方照做。

设置生效后,客户从原来的客服入口发来消息,先收到一张客服名片,点开名片就到了微信客服的对话里。小游戏和微信小商店目前还用不了这种接法。

想在商品页放按钮,再考虑开发接入

如果你要的是把「联系客服」按钮摆在商品页、订单页上,得走开发接入。它的门槛高,下面三条缺一不可:企业微信起码做过企业验证;小程序不是个人主体;两者属于同一主体。

去工作台渠道设置打开刚建的微信客服渠道,左边点「小程序」,页面里能找到一条小程序专用的客服链接,再往下是企业 ID。

合从客服工作台中微信客服渠道的小程序页,上半部分示意两种接入效果,下半部分是小程序专用客服链接及复制按钮

  1. 把企业 ID 复制下来,填进小程序管理后台「功能」>「客服」>「微信客服」。

    小程序管理后台客服页面,右边是微信客服组件的接入入口

  2. 回到工作台这一页,把客服链接也复制下来。

  3. 给按钮写点击事件,调用 wx.openCustomerServiceChat,传入客服链接和企业 ID。

wx.openCustomerServiceChat({
  extInfo: { url: '<客服链接>' },
  corpId: '<企业 ID>'
})

绿色的「联系客服」按钮摆在小程序页面上的样子

链接请用小程序专用的那条。客户经由它进来,工作台会标出来源是「小程序」,你还能给它单配一个接待组。默认客服链接同样能打开对话,代价是看不出客户从哪个入口来。参数说明和兼容写法,文档站的微信客服:在小程序中接入列得更全。

要客户留在小程序里,对话页得放在你自己的域名上

先提醒一句:工作台里现成的默认链接,别直接塞进 web-view,到了真机上是打不开的。微信规定 web-view 只能加载业务域名列表里的地址,而登记业务域名时,要把微信给的校验文件放到该域名根目录;默认链接用的不是你的域名,校验文件无处可放。因此顺序是先让对话页面在你的域名下跑起来,再到小程序后台登记域名。

  1. 打开对话链接渠道的「链接与二维码」,在「使用自己的域名」处下载页面文件 chat.html,让负责网站的同事传到你的域名下。上传后先用浏览器访问 https://你的域名/chat.html,确认能聊起来再做下一步。

    对话链接渠道「链接与二维码」页里「使用自己的域名」区域的下载页面文件按钮

  2. 在小程序管理后台的开发设置里,把这个域名添加到「业务域名」,照提示上传校验文件。域名须支持 HTTPS 且已经备案;每个小程序的业务域名上限是 20 个。

  3. 新增一个页面,wxml 里写一行 <web-view src="https://你的域名/chat.html"></web-view>,别的都不用放。再从首页或个人中心加个入口跳到这页。

  4. 地址后面附上客户身份,例如 ?u=会员ID&n=称呼。u 的值一致,这个人不管在小程序里还是在浏览器里打开,工作台都把他当作同一位客户,以前的对话也续得上。

第 1 步和第 2 步都要往你的域名上放文件,可以一并交给网站运维处理。每一步的细节在文档站对话链接:微信小程序;对话链接适合放在哪些场景,参见对话链接的使用场景。

遇到下面三种情况,我不建议嵌对话链接

  • 个人主体的小程序。它没法配业务域名,嵌不进去;开发接入也把个人主体挡在门外。留给你的只有微信客服的免开发授权,而且要求小程序开通过小程序客服。
  • 你希望客户离开后答复还能送到。嵌入的对话页做不到,客户关了页面就收不到任何提醒,只能等他下回进来。
  • 你想要 App 那种半屏弹起的客服窗口。两条路都给不了:web-view 占满整页,一页只许放一个,还会压住页面上别的组件,返回按钮和悬浮图标只能挪到跳转之前那一页;微信客服则是直接进微信的对话界面。能接受整页聊天,再选对话链接。

设好了收不到消息,先查授权和调用方式

  • 用了免开发授权,工作台却一条消息都没有:去小程序后台看「在客服工作台收发消息」这个开关,它开着,消息就被小程序客服截留了,请管理员关闭。
  • 客户发一句,自动回复回来好几条:说明小程序客服还授权给了其他服务商,到「帐号详情」>「授权管理」里撤掉不用的那家。
  • 开发接入的按钮按下去没动静:wx.openCustomerServiceChat 必须由用户点击触发,写在页面加载里自动执行会失败。它还要求基础库 2.19.0 及以上,不支持 Promise 写法,也不能在小程序插件里调用。
  • 接待到一定人数就接不进来:企业微信未认证时,累计只能接待 100 位客户;已验证且未过期,每天 100 位;已认证没有上限。这条限制来自企业微信,跟你在合从买了多少坐席没关系。上线前到「我的企业」确认一下认证状态。
  • 答复发不出去:微信客服只允许在客户发来消息起 48 小时内回复,最多 5 条。超过了,工作台会在那条消息上注明原因。

常见问题

支付宝、抖音的小程序也能这么接吗?

可以,但只能走对话链接。做法和微信相同:把自有域名报到平台白名单,再用 web-view 打开对话页。区别在配置的地方:支付宝在「H5 域名配置」,改完要重新打包提审;抖音在「webview 域名」。微信客服只能用在微信小程序上。

开发者工具里好好的,真机一打开就白屏?

多半是业务域名没配对。依次排查:

  1. 你写进 web-view 的域名,在小程序后台业务域名列表里有没有。
  2. 在浏览器里访问校验文件的地址,看它是否还在。网站改版时被删掉,或者被重写规则转到别处,校验都会失效。
  3. 浏览器直接访问 https://你的域名/chat.html,看对话页本身能不能聊。

同一位客户在小程序和网站上都来过,会算成两个人吗?

用对话链接、并且两边地址带的是同一个客户 ID(参数 u)时,算一个人。微信客服不做这种跨渠道的识别。

合从客服有 7 天免费体验,到 https://aihecong.com 注册后就能建渠道。我的建议是先只接微信客服,拿自己的微信打开小程序、点客服发一句话,工作台收到就说明通了;等真有客户必须留在小程序里、或要用上表单的时候,再补对话链接。

轻松上手,简单好用

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