# pushplus 接口文档 V1.0

1.0 接口更新日期:2020-06-01
支持多种请求方式,基于不同模板展示不同内容

# 一、发送消息接口

  • 请求地址:http://pushplus.hxtrip.com/send
  • 请求方式:GET,POST,PUT,DELTE
  • 请求参数,均支持url参数和body参数:
  • Content-Type: application/json
参数名称 是否必填 默认值 说明
token 用户令牌,可直接加到请求地址后,如:http://pushplus.hxtrip.com/send/{token}
title 消息标题
content 具体消息内容,根据不同template支持不同格式
topic 群组编码,不填仅发送给自己
template html 发送模板
  • 模板枚举。默认使用html模板
模板名称 描述
html 默认模板,支持html文本
json 内容基于json格式展示
cloudMonitor 阿里云监控报警定制模板
jenkins jenkins插件定制模板
route 路由器插件定制模板
  • 响应内容
    目前接口均采用同步模式。发送成功返回code为200,其他值为失败。
    可以根据判断code的值来确定消息发送成功还是失败。
{
    "code": 200,
    "msg": "请求成功",
    "data": "发送消息成功"
}

# 二、示例

  接口设计考虑尽可能多的支持各种请求方式。以下举例几种常用的请求方式仅供参考,接口不仅局限于以下几种请求。

# 示例一,最简单的例子

  • 请求地址:http://pushplus.hxtrip.com/send?token={token}&content=pushplus消息内容
  • 请求方式: GET
  • 说明:具体使用的时候将请求地址上的{token}替换成自己的token。content中如包含中文需要UrlEncode编码处理下。

# 示例二,POST方式推送消息

  • 请求地址:http://pushplus.hxtrip.com/send/
  • 请求方式: POST
  • 请求内容:
{
    "token":"{token},
    "title":"标题",
    "content":"消息内容",
    "topic":"test"
}
  • 说明:具体使用的时候将请求内容中的{token}替换成自己的token

# 示例三,一对多消息的例子

  • 请求地址:http://pushplus.hxtrip.com/send/
  • 请求方式: POST
  • 请求内容:
{
    "token":"{token}",
    "title":"标题",
    "content":"消息内容",
    "topic":"code",
    "template":"html"
}
  • 说明:消息将会发送给加入群组编码为code的成员

# 示例四,json格式的例子

  • 请求地址:http://pushplus.hxtrip.com/send
  • 请求方式:POST
  • 请求内容:
{
    "token":"{token}",
    "title":"标题",
    "content":"{'name':'名称','size':'大小','number':'数量'}",
    "template":"json"
}
  • 说明:当template参数为json并且放在body中的时候,pushplus会解析content中的json格式内容,以更加友好的方式展示出来。如template参数放在url地址上,会将整个body内容视为content进行解析,具体见下面的例子。
  • json模板和html模板效果对比
    json模板 html模板

# 示例五,webhook的例子

  • 请求地址:http://pushplus.hxtrip.com/send/{token}?template=json
  • 请求方式:POST
  • 请求内容:
{
    "userName":"pushplus",
    "updateTime":"2020-04-29 14:59:35",
    "projectId":82
}
  • 说明:这个例子适用于外部第三方webhook接口,仅能填写url地址,无法修改body内容。示例中整个body内容被当成content处理。

# 三、常用问题

  1. 是否支持https请求?
    目前的接口地址支持http和https了

  2. 在url上和body中同时传递相同参数会取哪个?
    参数取值优先取body上的参数,如body上不存在则取url上的,如url上不存在则会取默认值。