一封传话聚合推送高级特性API

107 阅读3分钟

一封传话聚合推送高级特性API

前言

上一次介绍了一封传话的API文档的主要推送API,主要用于实现快速推送到微信、企业微信、钉钉、飞书、邮箱、自定义Webhook。集成该API后仅需1个必传参数,即可实现一次推送多端接收和一次推送多人接收功能。

在电脑端,我们按照官网的创建、测试流程调用的API是send接口,能够满足绝大多数用户的需求。

在移动端提供了更丰富的配置界面,例如预设参数、执行周期选择、消息通道缺省配置自动填充,增强原有API接口后可以实现更加强大的trigger接口,可以满足部分用户的高级需求。

下面是trigger的接口文档和send接口文档比较后发现入参和出参几乎没有区别,这里介绍主要trigger接口相对于send接口增强后的高级特性:

发送提醒接口

  • 请求地址:www.phprm.com/services/pu…
  • 请求URL上的xxxxxxxxxxxxxxxx, 是您创建提醒的口令码
  • 请求方式:GET建议对参数进行urlencode编码, POST方式请求头,Content-Type: application/json
参数名称是否必填默认值说明
head移动端可预设消息标题, 长度200以内
body移动端可预设消息内容, 长度50000以内, 支持markdown格式, 请参考markdown语法
delayMilliseconds0延迟推送毫秒数, 不建议传递, 如需传递最大不超过45天
url移动端可预设不填将使用官方网址进行预览, 填写后将跳转到自定义网址, 例如: weibo.com

GET请求方式样例:

https://www.phprm.com/services/push/trigger/xxxxxxxxxxxxxxxx?head=默认标题&body=默认内容

消息推送接口响应内容样例:

{
	"code": 0,
	"message": "请求成功",
	"data": {
		"messageIdList": [
			"1195026147680247809"
		]
	}
}

trigger具备send所有特性,增加了前置预处理和后置处理。考虑到trigger接口执行步骤多会消耗更多的性能,而且会稍微增加API调用耗时。您可以参考是否使用以下高级特性,再决定使用send接口还是trigger接口。

高级特性

  1. 预置标题head、预置正文body,无需传递任何参数即可完成推送;
  2. 预置标题head、预置正文body支持{{变量}}实现参数映射, 预设{{title}}和{{content}}以后trigger API将通过?title=标题&content=正文调用方式;
  3. 预置标题head和预置正文body的变量属性层级支持10层以内参数映射,例如网页更新提醒的{{data.title}}和{{data.text}}属于第2层;
  4. 新增触发方式:口令触发(send接口也支持)、定时触发(quartz表达式或者按年月日循环执行);
  5. 新增触发一次特性, 允许执行一次推送后自动暂停提醒状态;

可以这么理解,send接口是一个高性能消息推送接口,trigger做一层包装后功能更强大。

特别是通过预置{{参数}}映射其他开源软件参数, 如果您的路由器或者某些软件的webhook参数无法修改,可以试试trigger。理论上绝大多数的软件的webhook都能适配,目前已适配Granfna告警、网页更新提醒、Server酱、Gitee、Github,欢迎到移动端体验。

如果您没有用到以上高级特性可以直接使用send接口,这样http请求延迟会更小一些。

参考:

juejin.cn/post/719928…

juejin.cn/post/719927…

push.phprm.com/api.html