电商系统对接指南
本文面向技术对接人员,说明第三方电商系统如何与微语客服系统完成基础数据、业务对象和客服入口的集成。
适用场景:
- 商城 H5、PC Web、App 接入在线客服
- 在客服侧展示店铺、商品、订单上下文
- 将电商用户体系映射为客服访客体系
- 将业务系统中的订单、商品数据同步到客服工作台
核心概念区分
在微语系统中,需要明确区分两类身份:
1. 注册用户 User
注册用户对应后端 UserEntity,是系统中的正式账号。
典型特征:
- 需要登录
- 可以被分配组织、角色、权限
- 可以作为管理员、客服、主管、运营人员等后台账号
- 可以参与 RBAC 权限控制
- 具备
username、email、mobile、currentOrganization、currentRoles等账号属性
典型用途:
- 登录管理后台
- 作为客服接待访客
- 作为管理员维护店铺、商品、订单、组织、角色权限
2. 访客 Visitor
访客对应后端 VisitorEntity,是会话侧的轻量身份。
典型特征:
- 默认无需登录
- 不参与后台权限控制
- 不分配管理员、客服、主管等系统角色
- 主要用于承载会话中的访客身份、来源渠道和扩展资料
- 具备
visitorUid、nickname、avatar、mobile、email、extra等会话属性
典型用途:
- 网站访客发起咨询
- App 用户进入客服会话
- 电商会员在商品页、订单页咨询客服
3. 两者之间的关系
请重点区分以下事实:
- 业务系统中的“已登录会员”在接入客服时,通常仍然映射为微语的
VisitorEntity - 前端传入
visitorUid仅用于标识会话访客身份,并不等于创建了后台UserEntity - 传入
nickname、avatar、mobile、email只是补充访客资料,并不会自动获得任何后台权限 - 只有显式创建并分配角色的
UserEntity,才能成为管理员、客服、主管等后台用户
简化理解:
UserEntity负责“登录与权限”VisitorEntity负责“会话与访客身份”
推荐接入顺序
建议按以下顺序推进,便于快速形成最小可用闭环:
- 获取 Token,打通 API 认证
- 梳理注册用户 User 与访客 Visitor 的边界
- 对接访客信息,保证会话身份可识别
- 对接组织信息,确定数据归属组织
- 对接店铺信息,建立业务店铺上下文
- 对接商品信息,让客服识别咨询商 品
- 对接订单信息,让客服识别咨询订单
- 对接客服、工作组与路由策略
- 接入会话历史、售后等扩展能力
最小闭环方案
如果希望先快速上线一个可工作的电商客服入口,最少需要完成以下内容:
- 获取
accessToken - 在前端初始化客服组件时传入
org、sid、t - 传入
visitorUid、nickname、avatar - 在商品详情页传入
goodsInfo - 在订单详情页传入
orderInfo
完成后即可实现:
- 访客从电商页面进入客服会话
- 客服侧看到访客身份
- 客服侧看到当前商品或订单上下文
对接前提
开始之前请确认以下信息已经准备完成:
- 微语服务端访问地址,例如
http://127.0.0.1:9003 - 对应组织的
orgUid - 工作组 uid、客服 uid 或机器人 uid
- 电商系统的用户主键、店铺主键、商品主键、订单主键定义
- 是否需要管理端主动同步商品、订单、店铺数据
- 是否需要访客端 H5 直连,还是通过前端 SDK 集成
主键映射建议
为避 免后续排查困难,建议从一开始就区分“微语系统 uid”和“业务系统主键”:
uid:微语系统内部记录主键,通常由系统生成visitorUid:第三方业务用户主键,建议直接使用电商用户 idshopUid:第三方业务店铺主键goodsUid:第三方业务商品主键orderUid:订单中的商品主键,不是订单记录 uid
建议:
- 不要把微语内部
uid当作外部系统主键长期保存 - 外部系统应长期持有自己的业务主键,并映射到
visitorUid、shopUid、goodsUid - 调用查询详情、更新、删除接口时,再使用微语返回的记录
uid
数据归属原则
电商系统接入时,数据通常按组织和店铺两层归属:
orgUid:用于组织级隔离,是大部分管理端接口的必要条件shopUid:用于标识具体店铺,适用于多店铺场景visitorUid:用于将会话与业务用户绑定
推荐做法:
- 单组织单店铺:所有接口固定传
orgUid,按需传shopUid - 单组织多店铺:商品、订单、客服路由都显式带上
shopUid - 多组织多租户:优先保证组织隔离,再处理店铺维度
Token信息对接
用途:
- 调用管理端 API
- 后台同步商品、订单、店铺数据
- 做服务端到服务端集成
注册用户对接
建议重点关注:
- 注册用户是后台账号,对应
UserEntity - 注册用户可被赋予角色和权限,例如管理员、客服、主管
- 注册用户需要登录后才能访问后台及管理端 API
- 如果业务侧只是把已登录会员带入聊天窗口,不代表该会员会成为系统注册用户
访客信息对接
建议重点关注:
- 访客对应
VisitorEntity - 访客默认无需登录
- 访客不参与后台角色与权限体系
- 前端聊天组件中传入的
visitorUid、nickname、avatar本质上是在描述访客身份 - 如果业务系统已有会员体系,建议将会员 id 稳定映射到
visitorUid
组织信息对接
建议重点关注:
- 获取并固定业务使用的
orgUid - 不同组织之间不要复用访客或店铺上下文
权限信息对接
适用场景:
- 多角色后台
- 客服、主管、管理员权限隔离
- 店铺数据的查询、修改、导出权限控制
店铺信息对接
典型用途:
- 在管理端维护电商店铺资料
- 将客服、工作组与店铺绑定
- 在多店铺场景下区分商品和订单归属
商品信息对接
典型用途:
- 商品详情页打开客服时,将当前商品上下文带给客服
- 通过管理端接口导入或同步商品数据
- 让客服工作台右侧展示咨询商品信息
订单信息对接
典型用途:
- 订单详情页发起售前、售后咨询
- 将订单状态、商品信息、收货信息同步给客服
- 通过
orgUid + visitorUid在客服侧查询用户最近订单
一对一客服对接
适用场景:
- 指定专属客服
- 会员客服、VIP 客服
- 二线技术支持或售后专员
工作组对接
适用场景:
- 售前、售后、物流、退换货分组接待
- 按业务线或店铺路由到不同工作组
访客历史会话对话
推荐对接链路
链路一:商品详情页咨询
- 前端页面拿到当前登录会员
- 将该会员映射为访客身份,组装
visitorUid、nickname、avatar - 组装当前商品
goodsInfo - 打开客服组件或跳转 H5 会话页
- 客服侧查看商品卡片并继续沟通
链路二:订单详情页咨询
- 前端页面拿到当前登录会员和订单数据
- 将该会员映射为访客身份,组装
visitorUid - 组装
orderInfo - 打开客服组件
- 客服侧查看订单状态、商品、收货信息
链路三:后台批量同步商品/订单
- 服务端获取
accessToken - 定时任务或事件驱动调用管理端 API
- 使用创建接口或 Excel 导入同步数据
- 客服工作台按访客或组织查询上下文信息
实施建议
前端集成建议
- 商品页和订单页优先使用 SDK 动态传参
- H5 跳转场景注意 URL 编码和长度限制
- 图片地址统一使用 HTTPS
- 对于
extra字段,优先传结构化 JSON 字符串
服务端同步建议
- 管理端同步建议由服务端发起,不建议在浏览器暴露后台写接口能力
- 为商品、订单、店铺建立幂等规则,避免重复导入
- 订单状态变化时可按业务需要做增量更新
安全建议
- 不要在前端硬编码管理端账号密码
accessToken应仅用于受控服务端调用或可信管理端页面- 订单收货地址、手机号等敏感信息建议脱敏后再展示给客服
常见问题
1. 应该先同步商品订单,还是先接前端聊天入口?
建议先打通前端聊天入口和访客身份,再逐步补商品、订单同步。这样上线速度更快,也便于分阶段验收。
这里的“用户身份”在大多数电商接入场景中,指的是“业务会员映射为访客身份”,不是先创建后台注册用户。
2. 商品和订单一定要走管理端 API 吗?
不一定。访客发起会话时,可以直接通过 goodsInfo、orderInfo 将当前上下文传给客服组件。管理端 API 更适合做后台沉淀、批量导入和统一查询。