进群审核系统 · API 驱动

每一次进群验证
都有据可依

提交申请并通过 Cloudflare 人机验证,上传学生证明等材料;审核通过后获得唯一审核单号, 进群时发送单号,机器人实时校验,显示通过即放行。

0
累计审核单
0
已通过
0
待审核
0
已拒绝
0
进群验证次数

工作流程

接口支持

REST API 连接机器人,或转人工后台审核。

了解详情 →
获取单号

审核时生成唯一单号,状态全程可追踪。

了解详情 →
进群验证

群里发送单号,机器人实时校验放行。

了解详情 →

申请审核

三步完成:CF 人机验证 → 滑块验证 → 提交信息与材料

1
2
3

人机验证 · Cloudflare Turnstile

登记前需先通过 Cloudflare 人机验证,通常只需勾选一次,无需输入任何内容。

验证组件加载中…

人机验证

拖动滑块,将拼图块对齐到缺口处完成安全验证。

按住滑块拖动,对齐缺口位置
»

提交申请

须上传学生证 / 学生卡 / 在读证明等有效材料。支持 jpg、png、webp、pdf,单文件不超过 4MB,最多 5 份。未上传材料的申请无法通过审核。

将文件拖到此处,或点击选择文件

申请已提交

这是你的专属审核单号,请妥善保存。
审核通过后,进群时向机器人发送该单号即可自动放行。

AG00000000
已复制到剪贴板

待审核 可随时在「单号查询」页跟踪进度

单号查询

输入审核单号,实时查询审核进度。

管理后台

人工审核通道:核对申请材料后通过或拒绝。未上传材料的申请无法通过审核。后台为密码登录制,会话 7 天有效。

API 文档

所有接口均为 REST 风格,返回 JSON。机器人审核与管理后台共用同一套接口。

核心接口

GET/api/stats— 统计数据
POST/api/orders— 创建审核单(需 CF Turnstile token + 滑块 token + materials 材料列表)
GET/api/orders/{order_no}— 查询单号状态
GET/api/turnstile/config— Turnstile 站点键(前端渲染用)
POST/api/verify— 进群验证(机器人调用)
POST/api/admin/setup / /api/admin/login— 首次设置管理密码 / 登录换取会话凭证(7 天)
POST/api/admin/orders/{order_no}/review— 人工审核(需会话凭证;approve 前置校验:必须已有材料)
GET/api/admin/orders / /api/admin/logs / /api/admin/materials/{no}/{file}— 列表 / 日志 / 材料文件
GET/api/wallpaper— 背景壁纸(Bing 公开 API 代理,每小时自动更换)

机器人接入示例:进群时校验单号

用户进群发送「AG 开头的单号」后,机器人调用该接口,pass 为 true 即放行:

# 请求
curl -X POST http://localhost:8000/api/verify \
  -H "Content-Type: application/json" \
  -d '{"order_no":"AG12345678","group_name":"技术交流 1 群"}'

# 响应(通过)
{ "order_no":"AG12345678", "pass":true,
  "detail":"审核已通过,允许进群",
  "nickname":"张三", "status":"approved" }

创建审核单(含材料)

# materials 至少 1 份,data 为文件 base64,
# 支持 jpg/png/webp/pdf/heic,单文件 ≤ 4MB
curl -X POST http://localhost:8000/api/orders \
  -H "Content-Type: application/json" -d '{
    "nickname":"张三", "group_name":"技术交流 1 群",
    "turnstile_token":"…", "captcha_token":"…",
    "materials":[{"name":"student-card.jpg",
                  "content_type":"image/jpeg","data":"…"}]
  }'

# 验证服务说明:未配置邮件服务时为演示模式(验证码页面直显);
# 在管理后台「邮件服务」配置 SMTP / Brevo / Resend 后即真实发送。

人工审核(需登录会话)

# 首次使用先设置管理密码(仅一次,至少 8 位)
curl -X POST http://localhost:8000/api/admin/setup \
  -H "Content-Type: application/json" -d '{"password":"你的管理密码"}'

# 登录换取会话凭证(7 天有效,连续失败 5 次锁定 10 分钟)
curl -X POST http://localhost:8000/api/admin/login \
  -H "Content-Type: application/json" -d '{"password":"你的管理密码"}'
# → {"ok":true,"token":"…","ttl":7200}

# 携带会话凭证审核(approve 前置校验:必须已有材料)
curl -X POST http://localhost:8000/api/admin/orders/AG12345678/review \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"action":"approve"}'