小程序订阅消息
参考现有通知中心后台布局,新增 SUB 通道模板配置与发送联动演示。
| ID | 内部模板ID / templateId | 内部模板名称 / name | 微信模板名称 | 微信模板ID / externalId | 创建人 | 创建时间 | 修改人 | 修改时间 | 操作 |
|---|
新建内部模板
基于生产后台 NotifyConfig 扩展:沿用 templateId / externalId / jumpUrl / jumpAppId / jumpPagePath / mappings 字段;新增 SUB 类型。
基础信息
OA / SUB 均支持同步当前微信账号已添加模板;EMP 采用手动录入。
跳转配置
公众号模板消息:支持 url 跳 H5,也支持 miniprogram.pagepath 跳小程序。
字段映射配置
内部变量名 (internalKey)
微信模板字段 (externalKey / externalKeyName)
操作
实时预览
公众号模板消息
未命名模板
TMPL_PENDING_XXX
当前 V3 重点新增:按生产后台拆分 OA / SUB 两套配置页,同时补齐触达节点、标准 API、发送统计和失败回收。
今日调用用户数
12,480
进入发送队列
11,936
发送成功
10,982
发送失败
954
OA / SUB 消息统计漏斗
用于回答“哪个系统在什么时候,调用了哪个消息接口,给多少用户下发,成功多少、失败多少、失败原因是什么”。
| 调用时间 | 来源系统 | 调用接口 | 消息类型 | 内部模板ID | 下发用户数 | 成功 | 失败 | 成功率 | 失败原因 |
|---|---|---|---|---|---|---|---|---|---|
| 2026-05-12 09:40:21 | 车务系统 | /api/v1/messages/send | 小程序订阅 | SUB_VIOLATION_NEW | 1 | 1 | 0 | 100.00% | - |
| 2026-05-12 09:37:06 | CRM | /api/v1/messages/batch-send | 公众号 | MSG_BILL_001 | 3,200 | 3,071 | 129 | 95.97% | openid_invalid |
| 2026-05-12 09:31:55 | 财务系统 | /api/v1/messages/send | 小程序订阅 | SUB_RENT_DUE | 1 | 0 | 1 | 0.00% | no_subscribe_quota |
失败归因
按归一化失败码聚合,避免各业务系统直接理解微信原始 errcode。
| 失败码 | 失败说明 | 消息类型 | 影响用户数 | 是否可重试 | 处理建议 |
|---|---|---|---|---|---|
| openid_invalid | openid 缺失、无效或与账号不匹配 | OA / SUB | 129 | 否 | 回收到触达任务失败用户列表,由业务系统补齐用户标识 |
| no_subscribe_quota | 用户未授权或订阅额度已耗尽 | SUB | 64 | 否 | 引导用户在小程序内重新订阅 |
| wechat_api_error | 微信接口异常、限流或网络错误 | OA / SUB | 21 | 是 | 进入重试队列,超过阈值后告警 |
内部模板总数
0
SUB 模板数
0
剩余订阅额度
0
发送日志数
0
操作日志
新增 `SUB` 通道过滤项,记录模板的新增 / 修改 / 删除,以及授权与发送联动行为。
| 时间 | 通道 | 动作 | 对象 | 操作人 | 详情 |
|---|
任务分组
对齐司机触达平台左侧任务分组。
全部
产品验收⌄
产品验收分组
车务自动触达⌄
违章/年检提醒
触达任务管理
新增“公众号模板消息”和“小程序订阅消息”两个节点;节点配置从通知中心接口取模板,也支持手动填。
任务详情 / 节点编排
右侧流程画布对齐生产“任务详情”页面,中间节点链路新增 OA 与 SUB。
已进入人数
8,420
触达人次
16,708
触达成功率
96.4%
失败回收
312
开始
流程开始
1
公众号模板消息查看
通知中心模板:OA_INSPECTION_DUE
失败回收:openid_invalid
失败回收:openid_invalid
1
小程序订阅消息查看
通知中心模板:SUB_VIOLATION_NEW
仅配置 page 跳小程序
仅配置 page 跳小程序
1
等待查看
固定时间:2026-05-12 18:00
1
短信查看
兜底触达:阿里短信平台 - 地上铁
节点配置抽屉示意
触达引擎只保存节点参数,模板详情由通知中心统一维护。
GET /api/v1/notify/templates?channel=SUB
标准 API 接口
给内部系统统一调用 OA / SUB,通知中心负责模板映射、微信调用、失败码归一化和统计落库。
GET
/api/v1/notify/templates?channel=SUB
触达引擎与业务系统获取可用内部模板列表。
{
"channel": "SUB",
"items": [
{
"templateId": "SUB_VIOLATION_NEW",
"name": "新违章通知",
"externalId": "TMPL_PENDING_003",
"page": "pages/violation/detail?id={violationId}"
}
]
}
POST
/api/v1/notify/messages/send
单用户发送,适合订单、车务、维保等实时事件。
{
"sourceSystem": "vehicle-service",
"channel": "SUB",
"templateId": "SUB_VIOLATION_NEW",
"receiver": { "openId": "oABCDEFGHIJKLMN" },
"data": {
"plateNo": "粤B12345",
"violationTime": "2026-05-12 09:40"
}
}
POST
/api/v1/notify/messages/batch-send
批量发送,返回批次号,异步统计成功/失败。
{
"sourceSystem": "crm",
"channel": "OA",
"templateId": "OA_INSPECTION_DUE",
"receivers": [
{ "openId": "oa_001", "data": { "plateNo": "粤B12345" } }
]
}
GET
/api/v1/notify/message-batches/{batchId}/statistics
查询调用批次漏斗和失败原因,供触达任务详情回显。
{
"calledUsers": 3200,
"queuedUsers": 3180,
"success": 3071,
"failed": 129,
"failReasons": [
{ "code": "openid_invalid", "count": 129 }
]
}
小程序订阅消息联动演示
模拟“小程序授权 → 额度写入 → 业务触发 → 消息发送”三端链路,便于和 DEV / PRD 对齐。
① 小程序端模拟
按分组授权;每个模板每次授权 +1 次额度。
等待授权操作...
② 用户订阅额度表
对应 PRD 中的 `user_subscribe_quota` Mock 视图。
| openId | 内部模板ID | quota | 更新时间 |
|---|
③ 消息发送模拟
发送前校验额度,成功后 quota -1,失败写 no_quota 日志。
等待发送操作...
发送流水
对应 PRD 中的 `subscribe_send_log` Mock 视图。
| 时间 | 状态 | openId | 内部模板 | 微信模板ID | 失败原因 / 数据 |
|---|