# API dữ liệu mở

Mọi thứ được đăng trên Tempussit — khóa học, bài viết blog, khái niệm và câu hỏi thường gặp — đều có ở dạng JSON cho chương trình và trợ lý AI. Chỉ đọc, không cần khóa hay đăng ký.

## Có những gì

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

Mục lục: ngôn ngữ của trang, danh mục khóa học và liên kết tới mọi tệp dữ liệu.

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

Khóa học của một ngôn ngữ danh mục, 100 khóa mỗi trang (tham số ?page=).

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

Thẻ của một khóa học đã đăng: tên, mô tả, tác giả, ngôn ngữ, giá, chương trình, địa chỉ trang và ảnh bìa.

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

Khái niệm, câu hỏi thường gặp, chuyên mục và bài viết blog bằng một ngôn ngữ của trang.

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

Mô tả mọi phản hồi theo định dạng OpenAPI 3.1.

## Ví dụ yêu cầu

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

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

## Điều kiện

- Chỉ đọc: chỉ chấp nhận yêu cầu GET và HEAD.
- Số yêu cầu từ một địa chỉ IP mỗi phút bị giới hạn. Vượt giới hạn, phản hồi là 429 kèm tiêu đề Retry-After.
- Phản hồi có thể được lưu bộ nhớ đệm 5 phút và được gọi từ trình duyệt trên bất kỳ trang nào (Access-Control-Allow-Origin: \*).
- Chỉ những gì hiển thị trên các trang công khai: không có bản nháp, giao dịch mua hay dữ liệu cá nhân.
- Phiên bản là một phần của địa chỉ (/data/v1/). Các địa chỉ cũ không có phiên bản vẫn hoạt động.

cập nhật 9 tháng 11, 2026
