Vortmall使用文档

消息与通知

消息与通知

本文档面向购买 VortMall 电商系统的平台运营方,说明消息模块(站内信、消息模板、即时通讯 IM)、订单类通知、邮件模板及跨境版模板翻译等典型业务流程。消息模块负责收件箱、模板管理与客服会话;IM 基于 EMQX/MQTT 实现实时客服聊天;消息模板支持 {order_sn}{total_amount} 等变量占位符;跨境版支持消息模板多语言翻译;订单通知覆盖新单、支付、发货、收货、退款等;交易类邮件通过邮件模板发送。


1. 订单消息通知流程

系统在订单生命周期的关键节点自动触发消息通知,覆盖下单成功、支付成功、发货、确认收货、退款等场景,并通过站内信、短信、App 推送等渠道触达买家与商家,保证双方及时获知订单状态。

参与角色: 买家、商家/店铺、订单与支付子系统、消息中心、通知渠道(站内信/短信/推送等)。

flowchart TD
    orderEvent[订单状态变更事件]
    ruleMatch[匹配通知规则与模板]
    channelSelect[选择通知渠道]
    sendUser[向用户侧发送]
    sendMerchant[向商家侧发送]
    deliveryResult[记录投递结果]
    orderEvent --> ruleMatch
    ruleMatch --> channelSelect
    channelSelect --> sendUser
    channelSelect --> sendMerchant
    sendUser --> deliveryResult
    sendMerchant --> deliveryResult

步骤说明:

  1. 订单子系统在状态变更时产生事件(如下单、已支付、已发货、已收货、退款完成等)。
  2. 消息服务根据事件类型与业务规则匹配对应的消息模板与变量(如订单号、金额、物流单号)。
  3. 按配置为买家与商家分别确定需触达的渠道(站内信必选或可叠加短信、推送等)。
  4. 组装个性化内容后,向用户侧渠道投递通知。
  5. 若业务需要,同步或异步向商家侧投递通知。
  6. 记录发送结果与失败原因,便于对账与补发。

说明与规则:

  • 同一订单节点可能对用户与商家使用不同模板或渠道组合,以配置为准。
  • 变量须与订单事实一致,避免在支付未确认前发送「支付成功」类通知。
  • 失败投递应支持重试或告警,避免关键节点无感知。

2. 站内信发送与管理流程

平台管理员在后台编写系统站内信,选择全体用户或指定用户范围后发送;用户在商城消息中心查看列表与详情,并可标记已读,实现运营公告与定向通知的统一管理。

参与角色: 平台管理员、站内信服务、目标用户。

flowchart TD
    compose[管理员编写站内信]
    chooseScope[选择目标范围]
    submitSend[提交发送任务]
    persistStore[持久化消息与投递任务]
    userInbox[用户消息中心展示]
    markRead[用户标记已读]
    compose --> chooseScope
    chooseScope --> submitSend
    submitSend --> persistStore
    persistStore --> userInbox
    userInbox --> markRead

步骤说明:

  1. 管理员在后台编辑标题、正文及生效策略(如立即发送或定时发送)。
  2. 选择目标:全部用户、按标签/等级筛选,或导入指定用户列表。
  3. 提交后系统校验权限与内容规范,生成发送任务。
  4. 服务将消息写入各目标用户的收件箱(或分片队列异步落库)。
  5. 用户登录后在消息中心看到未读列表,点击查看详情。
  6. 用户可单条或批量标记已读,已读状态回写服务端。

说明与规则:

  • 「全部用户」类广播需评估性能,宜采用异步批量写入与限流。
  • 敏感内容应走审核策略(若平台已启用),未通过不得发送。

3. 消息模板管理流程

运营人员创建消息模板并设置类型(订单、营销、系统等),在正文中使用 {变量} 占位符;模板可启用或禁用,业务事件触发时由系统自动匹配已启用模板并填充变量后下发。

参与角色: 平台运营/管理员、消息模板服务、触发业务的各子系统。

flowchart TD
    createTpl[创建或编辑模板]
    setType[设置模板类型与编码]
    editContent[编写内容含占位符]
    toggleState[启用或禁用模板]
    eventFire[业务事件触发]
    matchTpl[匹配启用模板]
    fillVars[填充变量并渲染]
    createTpl --> setType
    setType --> editContent
    editContent --> toggleState
    eventFire --> matchTpl
    matchTpl --> fillVars

步骤说明:

  1. 在模板管理中新建模板,填写名称、唯一编码及适用渠道说明。
  2. 选择模板类型:如订单类、营销类、系统类,便于检索与权限控制。
  3. 编写标题与正文,插入平台支持的占位符,例如 {order_sn}{total_amount}
  4. 保存后默认可设为禁用,确认无误后启用;禁用模板不参与自动匹配。
  5. 当订单、支付等事件发生时,消息服务按事件类型与模板编码查找启用模板。
  6. 从业务上下文读取变量值,替换占位符后生成最终文案并进入发送流程。

说明与规则:

  • 占位符名称需与接口约定一致,缺失变量时应记录日志并可用兜底文案或阻断发送(依产品策略)。
  • 同一事件若存在多个候选模板,应有优先级或唯一编码规则避免歧义。

4. 在线客服 IM 流程

消费者在商品或订单页发起咨询,系统将会话分配给在线客服;客户端与 EMQX 建立 MQTT 连接后进行实时收发,客服处理问题后结束会话,会话记录可供后续质检与纠纷处理。

参与角色: 消费者、客服坐席、IM 网关(EMQX/MQTT)、会话分配与路由服务。

flowchart TD
    userStart[消费者发起咨询]
    assignAgent[系统分配客服]
    mqttConnect[建立MQTT连接]
    exchangeMsg[双方收发消息]
    handleIssue[客服处理问题]
    closeSession[结束会话]
    userStart --> assignAgent
    assignAgent --> mqttConnect
    mqttConnect --> exchangeMsg
    exchangeMsg --> handleIssue
    handleIssue --> closeSession

步骤说明:

  1. 用户在客户端点击咨询入口,创建或恢复会话请求。
  2. 会话服务根据排队规则、技能组或负载将会话分配给可用客服。
  3. 客户端通过 MQTT 与 EMQX 建立长连接,订阅会话主题并完成鉴权。
  4. 双方消息经 IM 服务路由,经 MQTT 实时推送到对端,消息持久化可选。
  5. 客服在工单或订单上下文中处理用户问题,可发送文本、图片等(以产品能力为准)。
  6. 用户或客服结束会话,释放坐席并归档会话记录。

说明与规则:

  • 连接需带用户与租户身份,防止串台;断线重连应恢复最近会话上下文。
  • 消息体大小与频率宜有限流,避免恶意刷屏影响 EMQX 与下游服务。

5. 邮件模板与发送流程

管理员配置 SMTP 等邮件发送服务后,创建邮件模板并绑定触发条件(如注册成功、订单发货);事件发生时系统自动渲染模板并发送,运营可在发送记录中查询状态与失败原因。

参与角色: 平台管理员、邮件服务(SMTP)、业务事件源、邮件发送与记录服务。

flowchart TD
    smtpConfig[配置SMTP等发信参数]
    mailTpl[创建邮件模板]
    bindTrigger[设置触发条件]
    evtOccur[业务事件发生]
    renderSend[渲染并发送邮件]
    logView[查看发送记录]
    smtpConfig --> mailTpl
    mailTpl --> bindTrigger
    bindTrigger --> evtOccur
    evtOccur --> renderSend
    renderSend --> logView

步骤说明:

  1. 在系统设置中配置发件域名、SMTP 地址、端口、账号及加密方式,并完成连通性校验。
  2. 创建邮件模板:主题、HTML/纯文本正文,可含与消息模板类似的变量占位符。
  3. 为模板绑定触发条件,例如「订单支付成功」「发货」「退款申请已受理」等。
  4. 对应业务事件发生时,邮件服务拉取模板与变量数据。
  5. 渲染邮件后通过 SMTP 投递,并异步更新投递状态(成功、退信、拒收等)。
  6. 管理员在发送记录中按时间、收件人、状态筛选,用于对账与问题排查。

说明与规则:

  • 大批量营销邮件与交易类邮件宜分通道或子账号,降低主站交易邮件信誉风险。
  • 需遵守 CAN-SPAM 等区域法规时,退订与发件人信息应在模板中体现。

6. 消息模板多语言翻译流程(跨境版)

【overseas 版】消息模板在库中保存原文与变量定义;发送侧仍按存储的原文与变量参与匹配;用户读取展示时,根据用户语言偏好选择翻译后的模板文案,再填入变量值,最终展示本地化内容。

参与角色: 运营人员、翻译资源或翻译管理、消息模板服务、终端用户。

flowchart TD
    storeOrigin[存储原文模板与变量]
    sendMatch[发送时按原文匹配模板]
    readRequest[用户读取消息]
    resolveLang[解析用户语言偏好]
    loadTranslation[加载对应语言译文]
    fillValues[用变量值填充译文]
    displayLocalized[展示本地化内容]
    storeOrigin --> sendMatch
    sendMatch --> readRequest
    readRequest --> resolveLang
    resolveLang --> loadTranslation
    loadTranslation --> fillValues
    fillValues --> displayLocalized

步骤说明:

  1. 在跨境版中为每条模板维护默认语言原文及变量列表,并可维护多语言译文条目。
  2. 触发通知时,系统仍使用原文模板键与变量参与路由与存储,保证与境内逻辑一致、便于对账。
  3. 用户打开消息中心或推送详情时,请求携带或推断用户语言(账户设置、站点语言等)。
  4. 消息服务根据语言解析结果选取已审核的译文;若无译文则回退到默认语言原文。
  5. 将业务侧变量值按占位符规则填入译文,生成最终展示字符串。
  6. 前端展示翻译后的标题与正文;日志与运营后台可仍查看原文与变量快照。

说明与规则:

  • 变量名在每种语言译文中应保持一致,避免翻译误改占位符导致无法替换。
  • 译文发布前建议走审核流程;缺失译文时回退策略需在产品中明确告知运营方。
消息与通知
请输入搜索内容
大纲
消息与通知
1. 订单消息通知流程
2. 站内信发送与管理流程
3. 消息模板管理流程
4. 在线客服 IM 流程
5. 邮件模板与发送流程
6. 消息模板多语言翻译流程(跨境版)