DEVELOPER / PUSH API

用 URL 与 API 发送手机推送通知

把脚本、自动化任务和服务状态接入 aaPush。GET、POST 表单和 JSON 使用相同字段,不需要会员 API 密钥。

API

请求地址与参数

请求地址:https://aapush.com/p/设备码。将“设备码”换成你的固定 8 位设备码;GET 和 POST 的参数含义完全一致,旧推送链接继续可用。请保管推送链接,持有链接的人可向设备发送消息。

请求参数

参数必填说明
b是通知正文,最多 4096 字;也支持 body。
t否通知标题,最多 200 字;也支持 title。
url否HTTPS 链接,用于消息中的跳转地址。
request_id否重试时使用同一值以避免重复发送。16–128 位,支持英文字母、数字、下划线和连字符。

GET 使用查询参数;POST 使用表单或 application/json。中文使用 UTF-8,URL 中的空格、&、# 等特殊字符需要编码;命令行表单可使用 --data-urlencode。

请求示例

以下示例中的“设备码”需要自行替换。复制示例不会发送消息。

GET · 直接打开 URL

https://aapush.com/p/设备码?t=通知标题&b=通知内容

POST · 表单

curl -X POST 'https://aapush.com/p/设备码' \
  --data-urlencode 't=通知标题' \
  --data-urlencode 'b=通知内容'

POST · JSON

curl -X POST 'https://aapush.com/p/设备码' \
  -H 'Content-Type: application/json' \
  -d '{"t":"通知标题","b":"通知内容"}'

返回结果

请求成功时返回 JSON,data.message_id 为消息编号。accepted 表示推送服务已接受,queued 表示仍在排队;接口接受请求并不等于手机已经展示通知。浏览器直接打开 GET 地址时显示发送结果页。

HTTP 状态含义
200 / 202请求已处理或已进入队列,请结合返回状态查看。
400正文缺失、长度超限或参数格式有误。
401 / 403设备码无效、设备未启用或当前账号无权发送。
409同一 request_id 的请求内容发生变化。
429请求过快或当日额度已用完,按返回说明处理。

DELIVERY & QUOTA

投递状态、额度与重试

每台接收设备各占用一条推送额度,API 与 Telegram 来源共享账号的当日额度;按 Asia/Shanghai 零点重置。额度不足的请求不留到次日补发。

业务重试应复用同一个 request_id 和相同内容;同一编号改变内容返回 409。成功入队不等于手机展示或用户阅读,超时后先核对结果,避免重复发送。

固定设备码只提供发送入口,不能用于登录、读取消息或接管设备。不要将真实设备码、完整推送 URL 和消息正文写入公开代码或日志。

查看纯文本协议说明 →