文档

更快上手 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 修改。
  • 有效期与轮换。 令牌可以设置有效期,也可以在控制台中停用或轮换;轮换会让原来的密钥立即失效。
  • 限定服务器范围。 令牌只在它被创建的那个服务器中有效,每个请求都会重新按该服务器核对一次。