# 开放数据 API

Tempussit 上发布的一切——课程、博客文章、概念和常见问题——都以 JSON 格式向程序和 AI 助手开放。只读，无需密钥或注册。

## 提供的内容

**`GET /data/v1/index.json`**

目录：网站语言、课程目录以及所有数据文件的链接。

**`GET /data/v1/courses/{languageKey}.json`**

某一目录语言的课程，每页 100 门（参数 ?page=）。

**`GET /data/v1/course/{slug}.json`**

一门已发布课程的卡片：标题、描述、作者、语言、价格、课程大纲、页面地址和封面。

**`GET /data/v1/{languageCode}/{kind}.json`**

网站某一语言的概念、常见问题、博客栏目和文章。

**`GET /data/v1/openapi.json`**

以 OpenAPI 3.1 格式描述的全部响应。

## 请求示例

```
curl https://tempussit.com/data/v1/index.json
curl https://tempussit.com/data/v1/courses/zh-hans.json
curl https://tempussit.com/data/v1/course/{slug}.json
curl -I https://tempussit.com/data/v1/zh-Hans/faq.json

fetch("https://tempussit.com/data/v1/zh-Hans/glossary.json")
  .then(response => response.json());
```

## 使用条件

- 只读：仅接受 GET 和 HEAD 请求。
- 每个 IP 地址每分钟的请求次数有限。超出限制时返回 429 并附带 Retry-After 标头。
- 响应可缓存 5 分钟，并可从任何网站的浏览器中请求（Access-Control-Allow-Origin: \*）。
- 仅限公开页面上可见的内容：不含草稿、购买记录或个人数据。
- 版本是地址的一部分（/data/v1/）。此前不带版本的地址继续可用。

更新于 2026年11月9日
