TouchGal Docs

独立脱敏 Galgame Metadata API

TouchGal API Docs

TouchGal API 文档

稳定、脱敏、可限流的 Galgame 元数据 API。公开业务接口需要 API token;健康检查与就绪检查无需 token。游戏搜索、详情、资源与补丁接口默认只返回 SFW 条目;调用方可通过 `allowNsfw=true` 显式允许 NSFW 条目。

快速开始

01

注册开发者账号

通过邮箱验证码登录开发者门户;登录态只使用 HttpOnly Cookie。

02

提交 API 申请

在开发者门户提交账号级应用申请,等待管理员 approved。

03

创建 API token

审批通过后创建 tgal_live token。明文只在创建响应中返回一次。

04

调用 /v1 接口

使用 Authorization Bearer 或 X-API-Token 调用业务接口,并处理 400 / 401 / 404 / 429 等状态。

Endpoints

接口目录

7 endpoints
GET

健康检查

/v1/health

返回 API 进程是否存活,不访问 PostgreSQL、Redis 或源数据库。适合负载均衡的轻量存活探针。
GET

就绪检查

/v1/ready

检查 clean PostgreSQL 与 Redis 依赖是否可用,不触碰 TouchGal 主库。适合部署平台的 readiness probe。
GET

Token 自检

/v1/me

验证当前 token,并返回该 token 所属应用与实际生效的请求额度。不会返回 token 明文或 token hash。
GET

搜索条目

/v1/games/search

按关键词搜索 clean DB 中未删除的公开 Galgame 条目。默认只返回 SFW;传入 `allowNsfw=true` 时会同时返回 SFW 与 NSFW 条目。搜索结果按相关度排序:标题匹配优先,其次是别名匹配,最后是标签、厂商等其他索引文本。
GET

条目详情

/v1/games/{uniqueId}

按公开 uniqueId 返回游戏详情、别名、标签、会社与评分聚合。默认只返回 SFW;传入 `allowNsfw=true` 时允许返回 NSFW。响应不包含内部来源 ID、主站用户、评论或资源下载链接。
GET

Galgame 资源

/v1/games/{uniqueId}/resources

按公开 uniqueId 返回该条目下 Galgame 资源分类的公开资源元数据。默认只允许 SFW 条目;传入 `allowNsfw=true` 时允许返回 NSFW 条目的资源。响应不包含真实资源下载地址、提取码、上传者或内部 source 字段。
GET

Galgame 补丁

/v1/games/{uniqueId}/patches

按公开 uniqueId 返回该条目下 Galgame 补丁分类的公开资源元数据。默认只允许 SFW 条目;传入 `allowNsfw=true` 时允许返回 NSFW 条目的补丁。响应不包含真实资源下载地址、提取码、上传者或内部 source 字段。

鉴权

`/v1/games/*` 与 `/v1/me` 支持 `Authorization: Bearer <api_token>` 或 `X-API-Token`。API token 由开发者门户生成,明文只展示一次;前端页面不要把 token 存入 localStorage 或暴露给不可信浏览器环境。

限流

token 认证接口会按 token、账号、应用三维独立计数。响应头包含 `X-RateLimit-Limit-Minute`、`X-RateLimit-Remaining-Minute`、`X-RateLimit-Limit-Day`、`X-RateLimit-Remaining-Day`。

响应约定

所有 JSON 响应都使用统一 envelope。成功响应为 `success: true`;失败响应为 `success: false` 并返回稳定错误码。

success
{
  "success": true,
  "data": {}
}
error
{
  "success": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "Invalid request parameters"
  }
}