API 文档

供 Discourse 插件或第三方集成。Base URL 为部署域名。

Discourse 集成:见仓库 discourse-plugin/discourse-snowball,安装后访问论坛 /snowball

POST /api/challenge

创建挑战,返回 5 个工号(不区分种子/探测)。

{
  "username": "zhangsan"
}

响应:

{
  "challenge_id": "uuid",
  "expires_at": 1750000000000,
  "employee_ids": ["00501967", "00612345", "..."]
}

有效期 5 分钟(300 秒)。Cookie sb_uid 用于防刷指纹。

POST /api/verify

{
  "challenge_id": "uuid",
  "username": "zhangsan",
  "answers": [
    { "employee_id": "00501967", "surname": "董" },
    { "employee_id": "00612345", "resigned": true }
  ]
}

通过条件:3 个种子姓氏全对,或 2 对 + 1 离职。

GET /api/status?username=zhangsan

查询是否已验证通过。

管理 API

请求头:X-Admin-Password: <密码>(见管理页展示)

工号区间

种子题工号来自种子库(0050000000900000)。探测题在 0060000000900000 内随机生成,且排除种子库已有工号。

防刷