开发者接入OpenAPI 3.1 契约5 个 API 端点

开发者接入说明

先了解认证、游标和公开数据边界,再查看交互式 API 参考,获取完整参数、响应结构和测试请求。

01 / 快速开始

快速开始

StickerHub API 为每个已批准的集成签发一把仅供服务端保存的 API Key,并从当前站点的 /api/v1 路径提供公开目录数据。

01

取得 API Key

从服务管理员处取得调用方密钥。它与 Turso 数据库 Token 完全分离。

02

发送请求头

在每次请求中发送 X-API-Key。不要把密钥写进公开前端代码。

03

继续游标

列表响应返回 nextCursor。下一次请求应原样传回,不要解析或展示它。

每个集成使用独立凭据
API Key 由 StickerHub 运营方为已批准的具体集成创建,具有独立的限流、过期和撤销状态。当前不提供匿名自助注册;请申请访问权限,并通过安全渠道接收只展示一次的 Key。

第一个请求

先调用经过认证的健康检查,确认凭据和目录连接都可用。

Shell
curl https://stickerhub.lius.me/api/v1/health \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Accept: application/json'

02 / 身份验证

身份验证

全部五个端点都需要 API 密钥。密钥缺失或无效时返回 401;请求过多时返回 429。健康检查端点同样需要验证,因此它可以同时确认服务可用性和客户端凭据。

请把密钥保留在服务器端。
在 X-API-Key 请求头中发送签发的 API 密钥。不要把它放进公开浏览器代码,也不要提交到代码仓库。

03 / 分页与错误

游标分页

集合端点返回 data 数组和可为空的 nextCursor。下一次请求应原样传回该游标。默认每页 24 条,允许范围为 1 至 50。游标是不透明值,客户端不应解析它,也不应把它作为面向用户的页码显示。

常见状态码
HTTP常见状态码
400请求参数不合法
401API Key 缺失或无效
404资源不存在
429超过请求频率限制
500服务无法完成请求

JavaScript 示例

所有错误都使用同一个安全结构:error.code 供程序判断,error.message 供用户阅读。服务器异常不会直接暴露。

JavaScript
const response = await fetch('/api/v1/albums?q=cat&limit=24', {
  headers: {
    Accept: 'application/json',
    'X-API-Key': process.env.STICKERHUB_API_KEY,
  },
})

if (!response.ok) {
  const { error } = await response.json()
  throw new Error(error.code + ': ' + error.message)
}

const { data, nextCursor } = await response.json()

04 / 资源与边界

资源地图

GET/api/v1/health

健康检查

验证 API Key 和服务连接。

GET/api/v1/albums

表情包资源

搜索、分页并读取公开的表情包元数据。

GET/api/v1/members/{md5}

贴纸资源

列出或按 MD5 读取安全的贴纸元数据。

公开数据边界
API 永不返回 aes_key、encrypt_url、raw_json、数据库凭据或来源追踪字段。表情包名称、作者和说明保持目录原文。