接口概览
API推送服务平台提供简单易用的HTTP API,支持多种消息推送渠道。您可以通过API将消息推送到企业微信、钉钉、飞书、邮件等渠道。
API基础地址:
接口版本:V1
https://pushhub.fengye.wang接口版本:V1
接口特点
- ✅ 支持 GET 和 POST 请求方式
- ✅ 支持多渠道同时发送
- ✅ 按渠道数量扣费,发送多个渠道扣多次额度
- ✅ 实时返回发送结果和剩余配额
认证方式
所有API请求都需要通过Token进行认证。Token可以在用户中心的 "API令牌" 页面创建和管理。
安全提示:请妥善保管您的API Token,不要在客户端代码中暴露Token。如需在公共环境使用,建议配合后端服务调用。
请求方式
将Token作为URL参数传递:
URL参数
/api/send?token=YOUR_API_TOKEN
配额说明
系统采用三级配额管理机制:
| 配额类型 | 说明 | 重置周期 |
|---|---|---|
| 日配额 | 每天最多调用次数 | 每天0点重置 |
| 月配额 | 每月最多调用次数 | 每月1号重置 |
| 总配额 | 整个使用期间最多调用次数 | 永不重置 |
扣费规则:按渠道数量扣费。例如:发送给企业微信和邮件两个渠道,扣2次额度。
发送消息
通过此接口发送消息到指定渠道。如果不指定渠道,将发送到Token绑定的所有渠道。
请求地址
GET/POST
https://pushhub.fengye.wang/api/send
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | string | 是 | API令牌(已绑定渠道) |
| title | string | 否 | 消息标题 |
| content | string | 是 | 消息内容 |
渠道说明:Token 在创建时已绑定指定渠道,调用 API 时会自动发送到这些渠道,无需额外指定渠道参数。
响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| status | boolean | 请求是否成功 |
| code | int | 状态码,200表示成功 |
| msg | string | 响应消息 |
| data.success_count | int | 成功发送的渠道数量 |
| data.total_count | int | 总共发送的渠道数量 |
| data.results | object | 各渠道发送结果 |
| data.remaining_quota | object | 剩余配额信息 |
成功响应示例
200 OK - 发送成功
{
"status": true,
"code": 200,
"msg": "发送成功",
"data": {
"success_count": 1,
"total_count": 1,
"results": {
"wecom": {
"status": true,
"msg": "发送成功"
}
},
"remaining_quota": {
"daily": 79,
"monthly": 2979,
"total": 379
}
},
"time": 1774967730
}
错误响应示例
401 Unauthorized
{
"status": false,
"code": 401,
"msg": "Token无效或已过期",
"data": [],
"time": 1774966976
}
状态码说明
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 401 | Token无效或已过期 |
| 403 | 无权限访问(IP不在白名单或会员已过期) |
| 429 | 配额已用完(日/月/总限制) |
| 500 | 服务器内部错误 |
cURL示例
GET方式发送
Bash
curl "https://pushhub.fengye.wang/api/send?token=YOUR_TOKEN&title=测试标题&content=测试内容"
PHP示例
GET方式
PHP
<?php
// 你的API Token
$token = 'YOUR_TOKEN';
$title = urlencode('告警通知');
$content = urlencode('服务器异常,请尽快处理');
// 构建请求URL
$url = 'https://pushhub.fengye.wang/api/send?token=' . $token . '&title=' . $title . '&content=' . $content;
$response = file_get_contents($url);
$result = json_decode($response, true);
if ($result['status']) {
echo "发送成功!剩余日配额:" . $result['data']['remaining_quota']['daily'];
} else {
echo "发送失败:" . $result['msg'];
}
Python示例
Python
import requests
import urllib.parse
token = 'YOUR_TOKEN'
title = '系统告警'
content = '磁盘空间不足,请及时清理'
# 编码参数
title_encoded = urllib.parse.quote(title)
content_encoded = urllib.parse.quote(content)
url = f"https://pushhub.fengye.wang/api/send?token={token}&title={title_encoded}&content={content_encoded}"
response = requests.get(url)
result = response.json()
if result['status']:
print(f"发送成功!剩余配额:日{result['data']['remaining_quota']['daily']}")
else:
print(f"发送失败:{result['msg']}")
JavaScript示例
JavaScript
const token = 'YOUR_TOKEN';
const title = encodeURIComponent('新订单通知');
const content = encodeURIComponent('您有新的订单,请及时处理');
const url = `https://pushhub.fengye.wang/api/send?token=${token}&title=${title}&content=${content}`;
fetch(url)
.then(response => response.json())
.then(data => {
if (data.status) {
console.log('发送成功!');
console.log('剩余日配额:', data.data.remaining_quota.daily);
} else {
console.error('发送失败:', data.msg);
}
})
.catch(error => {
console.error('请求错误:', error);
});