說明文件

更快上手 TicketsX

設定指南、完整指令說明、Premium 功能和 REST API 都在這裡。

13.24

限流與安全

這套 API 的設計目標是:即使權杖外流,也無法被拿來濫用某個伺服器。以下防護對每個請求都生效。

每個端點都會先檢查 Premium,早於查詢權杖,也早於計算任何限流。因此沒有有效訂閱的伺服器總是得到同樣的 402,而不會出現只執行到一半的請求。

  • 不能大量標註。 透過 API 送出的所有訊息(包括 Webhook 訊息與標籤)都停用了 @everyone@here 以及任意身分組標註。開單時只能標註面板設定的身分組與開單者本人。
  • 不能假冒身分。 Webhook 顯示名稱若含有「discord」「clyde」這類保留字會被取代,頭像覆寫也必須是有效的 https:// 連結。
  • 必須有 Premium。 本 API 是 Premium 功能。沒有有效訂閱時,每個請求都會回傳 402premium_required: true,也無法新建或輪替權杖。
  • 限流。 每個權杖依操作分別限流(例如:開單 10 次/分鐘、送訊息 30 次/分鐘、重新命名 2 次/10 分鐘、切換面板 2 次/10 分鐘、編輯面板 10 次/分鐘、重新發送面板 4 次/10 分鐘、讀取 120 次/分鐘)。超出限制會回傳 429 與以秒為單位的 retry_after。可呼叫 GET /api/token 查看最新的對照表。
  • 高負載讀取另外限流。 對話紀錄搜尋與 HTML 下載各為 10 次/分鐘,完整的已索引對話紀錄為 30 次/分鐘,因此不會佔用寬裕的 120 次/分鐘讀取額度。此外,整台伺服器同時最多只跑兩個搜尋,超出時間預算就以 504 中斷,這樣搜尋流量永遠不會拖垮工單操作。
  • 未關閉工單的上限。 一旦伺服器達到未關閉工單的安全上限,API 就不再開新的工單;對黑名單上的使用者,它也會拒絕開單。
  • 最小權限。 敏感權限(讀取工單訊息、檢視對話紀錄、搜尋對話紀錄、下載對話紀錄 HTML、使用標籤、重新命名工單、管理面板、切換工單面板)預設關閉,必須為每個權杖明確開啟。
  • 歷史資料讀取會被稽核。 下載完整 HTML 對話紀錄會連同所用權杖一併寫入伺服器的操作紀錄,API 執行的每一次變更同樣會被記錄。
  • 面板始終綁定你的設定。 管理面板權限只能變更面板的外觀(名稱、嵌入訊息、按鈕)。頻道、分類、標註身分組、表單與客服團隊都無法透過 API 修改。
  • 有效期限與輪替。 權杖可以設定有效期限,也可以在控制台中停用或輪替;輪替會讓原本的密鑰立即失效。
  • 限定伺服器範圍。 權杖只在建立它的那個伺服器中有效,每個請求都會重新對照該伺服器核對一次。