PUSHMSG DOCUMENTATION

管理控制台

管理公众号通道、调用方密钥、消息记录和人工重试。

更新 2026-10-267 分钟阅读

打开 PushMsg 管理后台,使用管理员 API Key 登录。该域名使用可信 HTTPS 证书。

管理员与业务应用

密钥 使用位置 权限
管理员 API Key 管理控制台、/api/admin/* 管理公众号、接入应用、消息和人工重试
每个系统的 API Key + API Secret CRM 或其他调用系统服务端 在授权通道内向已绑定的 OpenID 推送,并查询自己的消息

控制台登录状态仅将管理员密钥保存在当前浏览器会话存储中。完成管理操作后,可使用“退出登录”清除会话。调用系统使用独立的 Key 和 Secret,不能访问管理接口。

配置公众号通道

在“公众号通道”中点击添加,填写通道标识、公众号名称、AppID、AppSecret,以及可选的回调 Token。

字段 说明
通道标识 id 小写字母或数字开头,后续可包含小写字母、数字、下划线和短横线,最长 64 字符
名称 name 最长 100 字符,便于识别公众号
AppID 目标公众号的 AppID
AppSecret 新增时必填;加密保存,查询接口不返回其明文或密文
回调 Token 可选,仅在使用本系统可选明文回调时配置
启用状态 停用会阻止该通道继续接收或处理新的发送任务

通道 ID 与 AppID 创建后不可修改;切换公众号身份应新增通道。修改已有通道时,AppSecret 和回调 Token 留空会保留原值。

当前已配置 xianbao 通道,对应“仙宝科技”公众号。微信接口 IP 白名单、模板消息权限等配置见 公众号准备。

创建业务接入应用

  1. 进入“接入应用”,点击创建。
  2. 填写应用名称,例如“CRM 信息推送”。
  3. 勾选允许使用的公众号通道,例如 xianbao。
  4. 创建后立即复制 API Key 和一次性展示的 API Secret,保存到对应业务系统服务端配置中。
  5. 在该系统的“接收人”管理中添加通道、OpenID 与接收人名称,并启用。

Key 用于识别调用系统,可在后台查看;Secret 仅在创建或轮换时返回,服务端保存摘要,之后无法查询原文。新增或编辑必须明确选择通道;空通道列表不授予任何权限。

调用系统每次请求须同时提供 X-API-Key 与 X-API-Secret。Key 也可通过 Authorization: Bearer 提供,此时 Secret 仍必填。旧版只有 Key 的系统须先在后台轮换凭据并配置接收人,再更新调用系统配置。

接收人隔离

每个调用系统维护独立的接收人白名单,授权按“系统 + 通道 + OpenID”精确匹配,OpenID 区分大小写。新系统没有接收人时不能发送。即使两个系统拥有同一公众号通道权限,也不能使用未绑定到自己的 OpenID。

  1. 选择要管理的调用系统,打开“接收人”。
  2. 选择该系统已获授权的公众号通道。
  3. 填写接收人名称与完整 OpenID,并提交添加。
  4. 不再需要接收时停用或删除该授权;以后如需恢复,可重新授权。

未绑定、停用或删除的接收人会返回 403 RECIPIENT_FORBIDDEN,不会入队。重复提交和队列真正发送前也会检查接收人权限;撤销后尚未开始发送的任务会被阻止。获取 OpenID、关注公众号或在 CRM 内绑定员工,不会自动添加此白名单。

编辑、停用与轮换凭据

编辑系统可修改名称和授权通道。移除通道后,该系统不能继续向该通道提交;已有接收人记录不代表仍有通道权限,需同时满足两项授权。

轮换会同时生成新的 Key 和 Secret,旧凭据立即失效。请在后台确认后复制新凭据并更新调用系统配置。轮换保留系统 ID、接收人、历史消息和幂等范围;同一系统的新凭据仍能查询该系统的历史消息。

停用应用后,该密钥将不能继续接入;队列中尚未发送的该应用任务也会被阻止。已经进入微信发送调用的请求无法撤销。

读取模板与接收人

“推送测试”页面可选择公众号、读取已有微信模板并生成字段。读取模板只查询配置;点击提交测试后才会进入正式队列并调用微信。

可通过“读取关注用户”分页读取该公众号的关注用户 OpenID,并由管理员选择接收人。也可让接收人在自己的微信中打开 OpenID 获取页面,获取后交给管理员,在对应调用系统下配置接收人。

关注用户 OpenID 属于目标公众号,使用时需核对通道与接收人。不同公众号下的同一微信账号通常具有不同 OpenID。

查看运行概览与消息记录

“运行概览”显示累计消息、等待处理、微信已接收和需要关注的任务数量。“消息记录”可按状态筛选,并分页查看调用方、公众号、尝试次数、微信消息 ID 和错误说明。

状态 管理操作
PENDING / PROCESSING / RETRY 观察队列处理情况,通过原任务跟踪
SENT 微信接口已接受,按需由接收人在微信确认
FAILED 根据错误说明修正模板、OpenID、账号权限或其他配置
UNKNOWN 核实微信实际发送情况后,再决定是否人工重试

人工重试

控制台仅允许人工重试 FAILED 或 UNKNOWN 任务。重试会将原任务重新置为 PENDING,清空错误、重置尝试次数,并继续使用原任务记录。

UNKNOWN 表示发送可能已发生。人工重试可能重复通知,控制台会提示先确认实际情况。详细的自动重试与超时恢复规则见 运行维护。

管理接口速查

下列接口使用管理员密钥,管理后台的生产前缀为 https://pmsg.admin.xianboss.com/admin,例如 https://pmsg.admin.xianboss.com/admin/api/admin/clients。也可通过原 IP 入口 https://14.103.113.229 调用,下表路径不含管理后台的 /admin 挂载前缀。

方法 路径 用途
GET /api/admin/overview 统计
GET / POST /api/admin/channels 查询或新增公众号通道
PUT /api/admin/channels/{id} 更新通道名称、凭据及状态
GET /api/admin/channels/{id}/templates 读取微信模板
GET /api/admin/channels/{id}/followers?nextOpenId= 分页读取关注用户 OpenID
GET / POST /api/admin/clients 查询或新增业务应用
PUT /api/admin/clients/{id} {"name":"CRM","channelIds":["xianbao"]} 修改名称和通道权限
PATCH /api/admin/clients/{id} {"enabled":false} 停用业务应用
POST /api/admin/clients/{id}/credentials/rotate 轮换 Key 和 Secret,旧凭据立即失效
GET / POST /api/admin/clients/{id}/recipients 查询或添加该系统的接收人
PATCH /api/admin/clients/{id}/recipients/{recipientId} {"enabled":false} 停用接收人授权
DELETE /api/admin/clients/{id}/recipients/{recipientId} 删除接收人授权
GET /api/admin/messages?status=FAILED&page=0&size=20 筛选和分页查询消息
GET /api/admin/messages/{id} 查询指定消息
POST /api/admin/messages 管理员提交消息
POST /api/admin/messages/{id}/retry 人工重试失败或不确定任务

创建通道、业务应用及消息所需的业务校验,仍由服务端执行。API 错误处理见 故障排查。

创建系统与接收人

创建系统请求:

{"name":"CRM 信息推送","channelIds":["xianbao"]}

首次创建或轮换凭据响应示例;Secret 仅在此时返回:

{"id":"CLIENT_ID","name":"CRM 信息推送","apiKey":"YOUR_CRM_API_KEY","apiSecret":"YOUR_CRM_API_SECRET"}

GET /api/admin/clients 返回系统的 id、name、enabled、channelIds、createdAt、apiKey、credentialReady 和 recipientCount。旧系统尚未轮换时 apiKey 可能为 null,credentialReady 表示双凭据是否已配置,recipientCount 为已启用接收人数。接口不返回 Secret 或其摘要。

添加接收人请求:

{"channelId":"xianbao","openId":"YOUR_OPENID","name":"CRM 负责人","enabled":true}

接收人响应包含 id、clientId、channelId、openId、name、enabled、createdAt。同一系统、同一通道重复添加相同 OpenID 返回 409;接收人启停与删除同时按系统 ID 和接收人 ID 定位,不能修改其他系统的记录。

PushMsg 文档内容以当前部署的接口与配置为准。

输入关键词搜索全部文档。