RESTful API v2.5

开发者友好的
API 接口

完整的 RESTful API,支持短链创建、访问统计、积分签到与 AI 对话生成(已上线), 批量生成、速率限制与 Webhook 正在开发中。简洁的请求格式,结构化的响应,丰富的代码示例,助你快速集成。

🚀 查看接口 代码示例

API 认证方式

两种认证方式,灵活选择

🔑 API Key 认证

在请求头中携带 Authorization: Bearer YOUR_API_KEY,适合服务端集成与自动化脚本。

Authorization: Bearer sk_live_xxxxxxxxxxxx
👤 登录态认证

通过用户登录接口获取会话 Cookie,后续请求自动携带。适合前端应用与用户中心相关接口。

POST /api.php?action=login
Cookie: session=xxx (自动携带)

8 个核心接口

覆盖短链全生命周期管理(标注"开发中"的接口尚未开放)

POST /api.php?action=create 🔒 API Key 创建短链接
请求参数
参数名 类型 必填 说明
url string 必填 原始长链接 URL,需包含协议(http/https)
custom_code string 可选 自定义短码,3-16 位字母数字,不填则自动生成
password string 可选 访问密码,为空则不设密码
expire_hours int 可选 过期时间(小时),为空则永久有效
template_id int 可选 跳转模板 ID,默认使用系统默认模板
folder_id int 可选 所属文件夹 ID
响应示例
{
  "code": 0,
  "message": "创建成功",
  "data": {
    "short_url": "https://duan.hshen.eu.cc/abc123",
    "code": "abc123",
    "created_at": "2024-01-15 10:30:00"
  }
}
GET /api.php?action=get_stats 🔒 API Key 获取链接统计
请求参数
参数名 类型 必填 说明
code string 必填 短码
响应示例
{
  "code": 0,
  "data": {
    "total_visits": 1234,
    "unique_visitors": 567,
    "devices": {"pc": 600, "mobile": 500, "tablet": 134},
    "browsers": {"Chrome": 500, "Safari": 300, "Firefox": 200},
    "daily_stats": [
      {"date": "2024-01-14", "visits": 100}
    ]
  }
}
POST /api.php?action=batch_create ⚠ 开发中 🔒 API Key 批量创建短链接(开发中)
请求参数
参数名 类型 必填 说明
urls array 必填 URL 数组,每项可包含 url/custom_code/password 等字段
common_settings object 可选 通用设置(密码、有效期、模板等)
响应示例
{
  "code": 0,
  "message": "批量创建成功",
  "data": {
    "total": 10,
    "success": 9,
    "failed": 1,
    "results": [...]
  }
}
GET /api.php?action=list 🔒 API Key 获取链接列表
请求参数
参数名 类型 必填 说明
page int 可选 页码,默认 1
limit int 可选 每页数量,默认 20,最大 100
folder_id int 可选 按文件夹筛选
status string 可选 状态筛选:enabled/disabled/expired
响应示例
{
  "code": 0,
  "data": {
    "total": 156,
    "page": 1,
    "limit": 20,
    "links": [...]
  }
}
POST /api.php?action=update 🔒 API Key 更新链接信息
请求参数
参数名 类型 必填 说明
code string 必填 要更新的短码
password string 可选 新密码(为空则移除密码)
expire_hours int 可选 新的过期时间
status string 可选 enabled/disabled
响应示例
{
  "code": 0,
  "message": "更新成功"
}
POST /api.php?action=delete 🔒 API Key 删除短链接
请求参数
参数名 类型 必填 说明
code string 必填 要删除的短码
响应示例
{
  "code": 0,
  "message": "删除成功"
}
POST /api.php?action=points_signin 🔒 登录态 / API Key 积分签到
请求参数
参数名 类型 必填 说明
无参数
响应示例
{
  "code": 0,
  "message": "签到成功",
  "data": {
    "points_earned": 10,
    "total_points": 150,
    "consecutive_days": 5
  }
}
POST /api.php?action=ai_chat 🔒 API Key AI 对话生成短链
请求参数
参数名 类型 必填 说明
message string 必填 自然语言指令,如"生成 example.com 的短链"
session_id string 可选 会话 ID 以保持上下文
响应示例
{
  "code": 0,
  "message": "AI 处理完成",
  "data": {
    "reply": "已为您生成短链",
    "short_url": "https://duan.hshen.eu.cc/abc123",
    "action": "create"
  }
}

多语言代码示例

复制即用,5 分钟完成集成

命令行
前端
服务端
脚本
# 创建短链接
curl -X POST 'https://duan.hshen.eu.cc/api.php?action=create' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'url=https://example.com&custom_code=mylink'

# 获取统计
curl 'https://duan.hshen.eu.cc/api.php?action=get_stats&code=mylink' \
  -H 'Authorization: Bearer YOUR_API_KEY'
// 创建短链接
const response = await fetch('https://duan.hshen.eu.cc/api.php?action=create', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: new URLSearchParams({
    url: 'https://example.com',
    custom_code: 'mylink'
  })
});
const data = await response.json();
console.log(data.short_url);
<?php
$ch = curl_init('https://duan.hshen.eu.cc/api.php?action=create');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
  'url' => 'https://example.com',
  'custom_code' => 'mylink'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer YOUR_API_KEY'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
echo $data['data']['short_url'];
import requests

# 创建短链接
response = requests.post(
    'https://duan.hshen.eu.cc/api.php?action=create',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    data={
        'url': 'https://example.com',
        'custom_code': 'mylink'
    }
)
data = response.json()
print(data['data']['short_url'])

状态码参考

统一格式的错误响应,便于调试与处理

0
成功
400
请求参数错误
401
未授权(API Key 无效或缺失)
403
权限不足
404
短码不存在
409
短码已被占用
429
请求过于频繁
500
服务器内部错误
💡 错误响应格式
{ "code": 400, "message": "参数错误:url 不能为空", "data": null }

速率限制 ⚠ 开发中

速率限制与套餐配额体系正在开发中,当前 API 免费开放,暂不限制调用频率

100
次 / 小时
免费版(规划)
1K
次 / 小时
基础版(规划)
5K
次 / 小时
专业版(规划)
10K+
次 / 小时
企业版(规划)
上线后响应头将包含 X-RateLimit-RemainingX-RateLimit-Reset 便于客户端限流控制(开发中)

Webhook 回调 ⚠ 开发中

实时事件推送正在开发中,上线后无需轮询即可获得链接动态

link.created
新短链创建时触发(开发中)
{"code": "abc123", "url": "...", "created_at": "..."}
link.clicked
短链被访问时触发(开发中)
{"code": "abc123", "ip": "...", "device": "...", "timestamp": "..."}
link.expired
短链过期时触发(开发中)
{"code": "abc123", "expire_at": "..."}
points.earned
积分变动时触发(开发中)
{"user_id": 123, "points": 10, "type": "signin"}
⚡ Webhook 配置(开发中)

上线后可在用户中心 > 开发者设置中配置 Webhook URL,选择需要订阅的事件类型,并支持自定义签名密钥验证请求来源。

// Webhook 签名验证(HMAC-SHA256) $signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE']; $expected = hash_hmac('sha256', $payload, $webhook_secret); if (hash_equals($expected, $signature)) { // 处理事件 }

开始集成 API

注册账号,获取 API Key,5 分钟完成第一个接口调用

🚀 注册获取 API Key 在线体验