AI 使用情况调研 API · v2
匿名问卷,浏览器会话与 CSRF 校验。提交一次后可查看汇总,管理员可查看建议及导出统计。
建立会话
POST /api/session,JSON:device_key(32–128 位随机字母数字或连字符)、fingerprint(64 位十六进制摘要)。返回 csrf、voted、receipt、wait_ms;保存 HttpOnly Cookie。
读取问卷
GET /api/poll:questions、schema、candidates 和开放状态。
提交反馈
POST /api/votes。所有 POST 必须带 Content-Type: application/json、X-Requested-With: Vote;提交另带 X-CSRF-Token 和会话 Cookie。
{
"answers": {
"frequency": "daily",
"tools_used": ["codex", "chatgpt"],
"other_used": "",
"preferred": "codex",
"other_preferred": "",
"tasks": ["coding", "testing"],
"other_tasks": "",
"coding_share": "medium",
"priorities": ["accuracy", "integration"],
"feedback": ""
},
"request_id": "每次提交生成16至128位随机标识_重试保留原值",
"website": ""
}完整选项和约束参见 /api/poll。frequency=never 时跳过的体验题不计入分母。关注点选择 1–3 项;建议可留空。201 为新提交,200 为同一请求重试。已提交的新请求返回 409,未通过 CSRF 返回 403。
汇总与实时更新
GET /api/results:仅已提交会话或管理员可读;sections 内提供各题 respondents、options、count 和 percent。多选题总占比可能超过 100%。GET /api/events:同权限的 SSE 更新通知,客户端重取汇总。公开汇总不包含建议原文。
管理接口
POST /api/admin/login;GET /api/admin/status;POST /api/admin/poll;GET /api/admin/export.csv;GET /api/admin/feedback;POST /api/admin/logout。需要独立管理 Cookie,写操作需要管理 CSRF。此版本使用独立调研数据库,之前单题投票记录保留,不合并统计。