pushplus(推送加) 文档中心
pushplus文档
生态产品
常用工具
智能助手
官网
pushplus文档
生态产品
常用工具
智能助手
官网
  • 简介

    • 介绍
    • 服务协议
    • 用户隐私协议
    • 联系我们
  • 使用说明

    • 一对一消息
    • 一对多消息
    • 好友消息
    • 积分群组
    • 发邮件来推送消息
    • 文本命令
    • 图片服务
    • 会员功能
    • 收/发消息设置
    • 系统功能额度
    • 实名认证说明
    • 预处理信息配置
    • 消息规则
  • API文档

    • 消息接口文档
    • 开放接口文档
    • 消息回调说明
    • 返回码说明
    • SDK说明
    • Demo代码
    • pushplus MCP Server
    • pushplus Skill 使用说明
  • 渠道配置

    • 发送渠道说明
    • 绑定自己的微信服务号
    • APP渠道使用说明
    • 浏览器插件使用教程
    • 桌面应用程序使用教程
    • webhook渠道配置
    • 微信ClawBot渠道使用说明
    • 企业微信应用配置
    • 邮件渠道配置
    • QQ机器人渠道使用说明
    • 短信渠道配置
    • 语音渠道配置
  • 消息模板

    • 消息模板说明
    • 阿里云监控
    • Jenkins插件
    • 路由器插件
    • 支付成功通知模板
  • 扩展应用

    • xxl-job推送设置
    • 推送到企业微信机器人
    • 推送到钉钉机器人教程
    • 推送到飞书机器人教程
    • 通过腾讯轻联实现发短信
    • 通过集简云发送企业微信消息
    • 调用IFTTT的webhook
    • 自定义webhook配置
    • 使用pushplus接收短信内容
    • 使用网页侦探+pushplus监控黄金价格
  • 常见问题

    • 常见问题
    • APP上没有通知弹框
    • Get请求导致的问题
    • 实名认证相关问题
    • 用户token和消息token有什么区别
    • 发送消息接口限制
    • 微信消息模板是否可以自定义
    • 收不到消息如何排查
    • 才收到几条消息却被限制发送了
    • IP被禁止访问原因
    • 如何解封账号
    • 一对多消息为什么只有我自己收到
    • 提示无用户接收消息
    • 发送消息有延迟
    • 如何在公众号中显示推送内容
    • 菜单上的激活消息有什么用
    • 是否支持发送图片
    • 消息内容中如何换行
    • 用户信息状态不合法
    • 接口是否支持https
    • json模板如何正确展示
    • pushplus官网
    • 如何注销账户

消息规则使用教程

一. 场景说明

   很多第三方工具、定时任务、现成脚本集成pushplus的时候,并没有很好的实现pushplus的接口参数,一方面pushplus在不断的增加新功能、扩展新渠道,一方面第三方开发者图省事只完成了最基本的请求就认为完成了。

   比如有的脚本工具上没有to参数,无法发送好友消息;有的脚本上只支持填写一个渠道参数,无法同时推送到多个渠道消息。往往还有很多脚本发布以后没有人维护更新,使用者也无法联系到对应开发者。使用者便来联系pushplus,希望把逻辑都放到pushplus上来实现。

   消息规则就是为了解决上面的问题,把这段逻辑放到 pushplus 上:第三方只需要请求原来的发送地址,平台按你配置的规则提取字段、判断是否命中、改写标题和内容,再转发到一个或多个渠道。

第三方请求经过消息规则引擎后拆成多渠道消息

典型场景包括:

  • 阿里云监控、主机监控、Prometheus 等只能填写一个 Webhook,需要同时通知微信和群机器人。
  • Jenkins、路由器插件、老脚本已经写死了 pushplus 请求,无法改代码,但想补标题、改渠道或套预处理。
  • 邮件推送到 {令牌}@yp9.cn 后,按主题或正文再分发到不同渠道。

注意:消息规则功能仅对会员开放。非会员或未开启总开关时,请求仍按原来的直推逻辑发送。

配置流程可以概括为五步:

开通会员、新增规则、提取变量、改写内容、多渠道发出

二. 工作原理

   开启消息规则后,消息接口和邮件推送都会先进入规则引擎,不再立刻按请求里的 channel 直发。

处理顺序如下:

  1. 确认账号是会员,并且总开关已开启。
  2. 按绑定令牌、触发来源筛出可用规则,再按匹配顺序从小到大执行。
  3. 从请求头、Query、请求体或邮件主题/正文中提取变量。
  4. 判断是否在触发时间段、是否满足条件、是否被频率限制。
  5. 用标题模板、内容模板、消息模板和预处理编码改写消息。
  6. 按发送目标拆成一条或多条消息发出。目标里没填的字段,仍沿用原请求的值。

总开关有三种模式,在「我的」->「个人中心」->「消息规则」里切换:

模式说明
关闭(推送与原来一致)不走规则,和以前一样直推
开启,未命中时仍按默认方式推送命中规则就按规则发;一条都没命中时,仍按原请求推送
开启,未命中时不推送命中才发;全部未命中则返回「未命中任何消息规则」

打开消息规则页面

三. 配置操作

配置前请先开通会员。然后进入「我的」->「个人中心」->「消息规则」。

消息规则列表与总开关

1. 开启消息规则

在页面上方把「消息规则」从关闭改成两种开启模式之一。只新增规则、不打开总开关,请求仍会直推,规则不会生效。

建议先选「开启,未命中时仍按默认方式推送」,确认规则命中正常后再改成严格模式。

2. 新增一条规则

点击「新增消息规则」,进入 forwardRule.html。先填写基础信息:

规则名称、匹配顺序、绑定Token、触发来源

  • 规则名称:方便自己识别,例如「阿里云监控多渠道」。
  • 匹配顺序:数字越小越先匹配。多条规则可以同时命中;如果勾选「命中后不再匹配后续规则」,命中后会停止。
  • 绑定 Token:全部令牌、用户令牌,或指定某个消息令牌。只想改某一个脚本时,给它单独建消息令牌并绑到这条规则上。
  • 触发来源:全部 / 消息接口 / 邮件。阿里云监控、脚本走消息接口。
  • 状态:保存后是否启用这条规则。

3. 提取模板变量

从请求里取出字段,供条件和通知内容使用。日常用「序列化数据」即可,键填字段名;请求体是 JSON 时可用点路径,如 alerts.0.job。

从请求体提取 alertName 变量

来源适用场景提取方式
请求体消息接口 POST JSON / 表单序列化数据、JSONPath、正则、原始全文
Query参数URL 上的 title、template、topic序列化数据、正则
请求头User-Agent、自定义头序列化数据、正则
主题 / 邮件正文邮件推送原始全文、正则、JSONPath

不需要自己提取的内置变量可以直接用:

  • 消息接口:title、content、body、template、token、ip、method、contentType
  • 邮件:另外还有 subject、from、to、cc

模板和条件里都写成 {{变量名}}。Query 与请求体有同名字段时,内置 title / content 以 Query 为准;若要单独取 Body 里的字段,请再加一个自定义变量。页面上的「填写说明」也有同样的对照表。

4. 设置触发条件

不添加条件则每次请求都转发。也可以按变量做过滤,例如只转发 alertState 等于 ALERT 的告警。

alertState 等于 ALERT 时转发

支持同时满足全部条件,或满足任一条件。运算符包括等于、包含、正则、大于、在列表中、为空等。熟悉表达式时,可以切到表达式模式,例如 alertState == 'ALERT' && Number(curValue) >= 90。图形模式下会同步显示等价表达式,方便核对。

5. 改写通知内容

用变量拼标题和内容

  • 消息标题、消息内容留空,则沿用原标题和原内容。
  • 需要补全或重排时,用 {{变量名}} 拼新内容,也可点「插入变量」。
  • 消息模板可选 html / markdown / txt / json,也可改成变量。
  • 预处理信息是在内容渲染完成后再加工,适合做替换、追加。请先在预处理信息里创建编码。

这一步就是「对无法修改的脚本做补全」:脚本只传了 content,规则可以补上标题、模板、渠道和预处理。

6. 添加发送目标

一条规则最多 5 个发送目标。每个目标都可以指定:

发送到微信服务号一对一

  • 发送渠道:微信公众号、Webhook、企业微信、邮件、App、QQ 机器人等;留空则用该 Token 的默认渠道。
  • 渠道参数:Webhook 编码、企业微信编码、邮箱编码等,对应发送接口的 option。
  • 消息类型:一对一、一对多、好友消息。一对多再选群组,好友消息再选好友。

渠道、参数、类型都可以改成变量,按请求内容动态决定发到哪里。需要同时通知多个渠道时,再点「添加发送目标」。

7. 高级设置和在线测试

高级设置里可以限制「N 秒内最多触发几次」、生效时间段和星期。跨零点时间段有效,例如 22:00 到 06:00。全不勾选星期表示每天生效。

频率限制、触发时间段和星期

配完后先点「在线测试」,用一条真实报文模拟,不会真正发送。确认变量提取正确、条件能命中、标题内容渲染符合预期,再保存。

用模拟请求体测试规则,条件满足会转发

上图是把阿里云风格的 JSON 贴进去后的结果:条件 alertState == 'ALERT' 满足,规则会转发。

8. 查看触发记录

回到消息规则列表,切换到「触发记录」。可以看到每次请求命中了哪条规则、结果是已转发、条件不满足、频率限制、不在时间段还是执行异常。点详情能看到原始请求和提取到的变量,方便排查。

触发记录列表,可按匹配结果筛选

列表上方可以按匹配结果筛选。新规则刚保存、还没实际请求时,这里会显示「暂无触发记录」,属正常现象。

四. 使用场景

1. 阿里云监控:一个 Webhook 变成多渠道消息

阿里云监控的报警回调只能填一个地址。按阿里云监控接入后,告警只会发到 Token 的默认渠道。如果同时要通知微信、企业微信群和邮件,用消息规则拆开即可。

阿里云一个 Webhook 经消息规则拆成多渠道

配置步骤:

  1. 在 pushplus 中准备好要接收的渠道,例如企业微信机器人 Webhook,记下编码 qywx。
  2. 开通会员,打开消息规则,选择「开启,未命中时仍按默认方式推送」。
  3. 新增规则,触发来源选「消息接口」,绑定对应 Token。
  4. 从请求体提取 alertName、alertState、instanceName、curValue。
  5. 条件设为 alertState 等于 ALERT,恢复通知可不转发,避免打扰。
  6. 标题填 {{alertName}},内容填实例和当前值。
  7. 添加多个发送目标:微信公众号一对一、Webhook(qywx)、如有需要再加邮件。
  8. 阿里云回调地址保持原样,不必改成多个地址:
http://www.pushplus.plus/send/{token}?template=cloudMonitor

阿里云监控报警规则

报警回调只填一个地址

发生告警时,阿里云仍然只 POST 一次。pushplus 命中规则后,会按目标拆成多条消息。主机监控和事件监控的报文不同,可用在线测试把真实 JSON 贴进去验证。

2. 无法修改的脚本、工具:补全 pushplus 请求

很多现成工具已经写死了请求体,例如只传 token 和 content,没有 title、channel、template。源码改不了,或者改了下次升级又会被覆盖。

只带 token 和 content 的请求经规则补全后发出

常见来源:

  • 路由器插件、旧版 Jenkins / xxl-job 任务,只配了 token。
  • 第三方「通知到 Webhook」功能,JSON 字段和 pushplus 不完全对应。
  • 同事留下的脚本,只能改 Token,不能改请求体。

做法:

  1. 给这个工具单独建一个消息 token,规则只绑定这个 token,避免影响你自己的其他推送。
  2. 触发来源选「消息接口」。
  3. 用内置变量 content / body 做条件,例如内容包含 ERROR 才转发,或内容不为空就转发。
  4. 在通知内容里补全标题,例如 生产环境告警,或 {{content}} 截一段当标题。
  5. 需要整理正文时,套一条预处理编码,把原始文本替换、追加说明。
  6. 发送目标改成你真正要收的渠道。目标里指定了 channel / option 后,会覆盖脚本里缺省或错误的渠道。

脚本继续这样调用即可,不用改代码:

{
  "token": "消息token",
  "content": "disk usage 92% on gateway-01"
}

规则命中后,实际发出的消息可以是:标题「网关磁盘告警」,内容补上主机名和时间,同时发到微信和企业微信。

如果工具连 JSON 都不能改、只能填一个 URL,把地址写成:

https://www.pushplus.plus/send/{消息token}

其余 title、channel、template、topic 都交给规则补。

上一页
预处理信息配置