DM Champ Docs

API Bảng Champions Circle

Bảng yêu cầu Champions Circle khả dụng thông qua API, vì vậy bạn có thể đọc, tìm kiếm và đăng bài lên đó từ các tập lệnh của riêng mình, hoặc để trợ lý AI thực hiện việc đó thay bạn qua MCP. Đây chính là bảng bạn thấy trong mục Circle → Requests trong ứng dụng: cùng các yêu cầu, cùng các bình luận và cùng các giới hạn hàng tháng.

Chỉ các thành viên Champions Circle mới có thể sử dụng các điểm cuối này. Mọi tài khoản khác sẽ nhận được 403 với reason: "not_circle_member". Các bài đăng được thực hiện dưới danh nghĩa tài khoản sở hữu khóa API.

Các điểm cuối (Endpoints)

Phương thức Đường dẫn Chức năng
GET /v1/circle/requests Liệt kê bảng, các yêu cầu được ghim hiển thị trước, sau đó là các yêu cầu mới nhất. Tìm kiếm với q (tiêu đề và chi tiết), lọc với status (open, planned, building, shipped, declined), phân trang với limit (1 đến 100, mặc định là 25) và cursor.
GET /v1/circle/requests/{requestId} Một yêu cầu với đầy đủ chi tiết.
GET /v1/circle/requests/{requestId}/comments Các bình luận trong một yêu cầu, cũ nhất hiển thị trước, được phân trang theo cùng cách.
POST /v1/circle/requests Gửi một yêu cầu. Phần thân: title (bắt buộc) và details.
PATCH /v1/circle/requests/{requestId} Chỉnh sửa title và/hoặc details của một yêu cầu do bạn viết. Yêu cầu của người khác sẽ trả về 403 với reason: "edit_not_allowed".
POST /v1/circle/requests/{requestId}/comments Trả lời một yêu cầu. Phần thân: body.

Mỗi yêu cầu trả về kèm theo id, title, details, status, author_name, vote_count, comment_count, created_at, updated_at và một url để mở yêu cầu đó trong ứng dụng. Địa chỉ email của các thành viên khác sẽ không bao giờ được trả về.

Phân trang

Các lệnh gọi danh sách trả về next_cursor. Hãy truyền nó dưới dạng cursor để lấy trang tiếp theo; nó sẽ là null ở trang cuối cùng. total là tổng số kết quả khớp trên tất cả các trang.

Giới hạn hàng tháng

Các bài đăng qua API được tính vào cùng giới hạn với bảng trong ứng dụng: 4 yêu cầu và 4 bình luận cho mỗi thành viên trong bất kỳ khoảng thời gian 30 ngày liên tục nào. Khi vượt quá giới hạn, lệnh gọi sẽ trả về 429 với thời gian resets_at cho lượt trống tiếp theo.

Thử lại an toàn

Gửi tiêu đề Idempotency-Key (hoặc trường idempotency_key trong phần thân) với bất kỳ chuỗi duy nhất nào khi bạn gửi yêu cầu hoặc bình luận. Nếu lệnh gọi hết thời gian chờ và bạn thử lại với cùng một khóa, bạn sẽ nhận lại bài đăng mà lệnh gọi đầu tiên đã tạo, với trạng thái 200 và idempotent_replay: true, thay vì tạo bản sao trùng lặp. Việc thử lại không bao giờ làm tốn thêm lượt trong giới hạn hàng tháng của bạn.

curl -X POST "https://api.dmchamp.com/v1/circle/requests" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Idempotency-Key: dark-mode-2026-10-06" \
  -H "Content-Type: application/json" \
  -d '{"title": "Dark mode for the inbox", "details": "My team works late and would love a dark theme."}'

Khóa phạm vi

Bảng có hai phần mà bạn có thể cấp quyền cho một khóa có phạm vi:

Phần Cho phép
Circle Liệt kê, tìm kiếm và đọc các yêu cầu và bình luận.
Circle Write Gửi yêu cầu, chỉnh sửa yêu cầu của chính bạn và bình luận.

Chỉ cấp Circle cho khóa chỉ cần đọc bảng. Khóa chính của bạn và khóa có phạm vi với danh sách tags trống có thể sử dụng cả hai.

Về MCP

Các điểm cuối này là một phần của đặc tả API, vì vậy chúng xuất hiện dưới dạng công cụ cho bất kỳ trợ lý AI nào mà bạn kết nối qua MCP, mà không cần thiết lập thêm. Hãy yêu cầu trợ lý của bạn tìm kiếm bảng trước khi gửi, để nó có thể bình luận vào một yêu cầu hiện có thay vì gửi một yêu cầu trùng lặp.