diangong
正常
NEW
基于 _shared 公共题库框架的轻量级接口,接口形态与其他题库完全一致。
协议:HTTP
格式:JSON
版本:v1.0.0日调用量:1268次
健康检查
服务健康检查, 返回题库标识、版本、题型与各项上限。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/ping
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
返回参数说明
| 参数名 | 类型 | 说明 |
| code |
int |
业务状态码, 0 表示成功 |
| msg |
string |
状态描述 |
| data |
object |
业务数据 |
请求示例
返回示例
{"msg":"pong","code":0,"data":{"bank":"diangong","time":"2026-08-01 10:00:00","types":["单选题","多选题","判断题"],"version":"1.0","batch_max":10,"random_max":10,"page_size_max":20}}
数据统计
仅返回服务可用状态与数据更新时间, 不返回题目总量。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/stats
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
返回参数说明
| 参数名 | 类型 | 说明 |
| code |
int |
业务状态码, 0 表示成功 |
| msg |
string |
状态描述 |
| data |
object |
业务数据 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"status":"ok","updated_at":"2026-08-01 08:00:00"}}
分类列表
返回题库分类列表(不含各分类题量)。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/categories
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
返回参数说明
| 参数名 | 类型 | 说明 |
| code |
int |
业务状态码, 0 表示成功 |
| msg |
string |
状态描述 |
| data |
object |
业务数据 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"list":[{"name":"默认分类","slug":"default"}]}}
可查询字段
返回可查询字段及元信息, 用于动态渲染或选择 fields 参数。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/fields
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
返回参数说明
| 参数名 | 类型 | 说明 |
| code |
int |
业务状态码, 0 表示成功 |
| msg |
string |
状态描述 |
| data |
object |
业务数据 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"list":[{"brief":true,"field":"id","label":"ID"}]}}
分页列表
按 ID 升序分页返回题目, 支持分类/题型/难度/年份等筛选。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/list
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| page |
int |
否 |
页码, 默认 1 |
| page_size |
int |
否 |
每页条数, 默认 20, 最大 20 |
| category |
string |
否 |
分类 slug, 多个用逗号分隔 |
| type |
string |
否 |
题型, 多个用逗号分隔 |
| difficulty |
string |
否 |
难度, 多个用逗号分隔 |
| lang |
string |
否 |
语言, 默认 zh |
| module |
string |
否 |
模块过滤 |
| sub_category |
string |
否 |
子分类过滤 |
| region |
string |
否 |
地区过滤 |
| year |
int |
否 |
年份过滤 (1900-2100) |
| has_image |
bool |
否 |
是否含图片 |
| brief |
bool |
否 |
简洁模式, 仅返回基础字段 |
| fields |
string |
否 |
指定返回字段, 逗号分隔 |
| with_answer |
bool |
否 |
是否返回答案, 默认 false |
返回参数说明
| 参数名 | 类型 | 说明 |
| list |
array |
题目列表 |
| list[].id |
int |
题目 ID |
| list[].type |
string |
题型 |
| list[].question |
string |
题目内容 |
| list[].options |
object |
选项 |
| list[].answer |
string |
正确答案 (with_answer=true 时返回) |
| total |
int |
匹配总数 |
| page |
int |
当前页码 |
| page_size |
int |
每页条数 |
| has_more |
bool |
是否还有下一页 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"list":[],"page":1,"total":0,"has_more":false,"page_size":20}}
题目详情
按题目 ID 获取单条题目完整信息。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/detail
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| id |
int |
是 |
题目 ID |
| brief |
bool |
否 |
简洁模式 |
| fields |
string |
否 |
指定返回字段, 逗号分隔 |
| with_answer |
bool |
否 |
是否返回答案, 默认 true |
返回参数说明
| 参数名 | 类型 | 说明 |
| id |
int |
题目 ID |
| type |
string |
题型 |
| question |
string |
题目内容 |
| options |
object |
选项 |
| answer |
string |
正确答案 |
| analysis |
string |
解析 |
| images |
array |
图片 URL 列表 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"id":1,"type":"单选题","answer":"A","images":[],"options":{"A":"选项A","B":"选项B"},"analysis":"","question":"示例题目"}}
关键词搜索
按关键词全文搜索题目, 支持分类/题型筛选。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/search
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| keyword |
string |
是 |
搜索关键词 |
| limit |
int |
否 |
返回条数, 默认 20, 最大 20 |
| offset |
int |
否 |
偏移量, 默认 0 |
| category |
string |
否 |
分类 slug |
| type |
string |
否 |
题型 |
| brief |
bool |
否 |
简洁模式 |
| fields |
string |
否 |
指定返回字段 |
| with_answer |
bool |
否 |
是否返回答案 |
返回参数说明
| 参数名 | 类型 | 说明 |
| list |
array |
题目列表 |
| total |
int |
匹配总数 |
| mode |
string |
匹配模式: fulltext / like / empty |
请求示例
返回示例
{"msg":"success","code":0,"data":{"list":[],"mode":"empty","total":0}}
随机出题
随机返回若干题目, 可按分类/题型筛选。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/random
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| count |
int |
否 |
题目数量, 默认 5, 最大 10 |
| category |
string |
否 |
分类 slug |
| type |
string |
否 |
题型 |
| brief |
bool |
否 |
简洁模式 |
| fields |
string |
否 |
指定返回字段 |
| with_answer |
bool |
否 |
是否返回答案 |
返回参数说明
| 参数名 | 类型 | 说明 |
| list |
array |
随机题目列表 |
| count |
int |
实际返回条数 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"list":[],"count":0}}
题目图片
按文件名读取题目图片, 返回图片二进制流。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
GET
http://www.shujuyu.cn/v1/api/diangong/image
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| filename |
string |
是 |
图片文件名 |
返回参数说明
| 参数名 | 类型 | 说明 |
| (binary) |
binary |
图片二进制流 (Content-Type 为 image/*) |
请求示例
返回示例
{"data":"<binary image stream>","content_type":"image/png"}
答题校验
提交题目 ID 与答案, 返回是否正确。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/diangong/check
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| id |
int |
是 |
题目 ID |
| answer |
string |
是 |
用户答案, 如 A 或 ABD |
返回参数说明
| 参数名 | 类型 | 说明 |
| correct |
bool |
是否答对 |
| answer |
string |
正确答案 |
| analysis |
string |
题目解析 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"answer":"A","correct":true,"analysis":""}}
批量查询
按多个题目 ID 批量获取题目, 最多 10 个。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/diangong/batch
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
您的API密钥,可在个人中心获取 |
| ids |
string |
是 |
题目 ID 列表, 逗号分隔, 最多 10 个 |
| brief |
bool |
否 |
简洁模式 |
| fields |
string |
否 |
指定返回字段 |
| with_answer |
bool |
否 |
是否返回答案 |
返回参数说明
| 参数名 | 类型 | 说明 |
| list |
array |
题目列表 |
| missing |
array |
未找到的 ID 列表 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"list":[],"missing":[]}}
数据导入
导入题目数据(仅限带管理密钥调用)。
调用方式:在接口地址后拼接 ?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
POST
http://www.shujuyu.cn/v1/api/diangong/import
JSON
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| key |
string |
是 |
导入密钥 |
| items |
array |
是 |
题目数组 |
返回参数说明
| 参数名 | 类型 | 说明 |
| inserted |
int |
新增条数 |
| updated |
int |
更新条数 |
| skipped |
int |
跳过条数 |
请求示例
返回示例
{"msg":"success","code":0,"data":{"skipped":0,"updated":0,"inserted":0}}
产品说明
产品概述
基于 _shared 公共题库框架的轻量级接口,接口形态与其他题库完全一致。
使用场景
数据查询:快速集成 diangong 到您的应用中
业务系统:将 diangong 数据嵌入业务流程
开发工具:通过 API 接口获取 教育学习 数据
数据分析:基于 diangong 数据进行分析和决策
费用计算
按次计费单价
¥0.002
/ 次
每次调用接口从账户余额中扣除相应费用,VIP 用户可享折扣
扣费优先级
计费方式详解
· 接口每日免费额度已关闭
· VIP 用户月度免费额度:
· 个人版:每月 5000 次,本接口月上限 5000 次
· 专业版:每月 30000 次,本接口月上限 30000 次
· 企业版:每月 200000 次,本接口月上限 200000 次
· 账户如有注册/活动赠送的免费次数,会优先于接口免费额度扣减
· VIP 月度免费额度仅适用于单次售价不高于 ¥0.0800/次 的接口;接口每日免费额度按接口配置执行
VIP 月度免费额度每月重置,未使用部分不累计至下月。
预付费购买固定调用次数,折算单价与按次付费相同,用完为止。
次数包为独立计费,不与 VIP 折扣叠加。
请在有效期内使用,过期后未使用的次数不可再用。
按次从账户余额扣除费用;所有用户可享量折扣,VIP 用户额外享 VIP 折扣。
扣费公式:实际扣费 = 接口单价 × (1 - VIP 折扣比例 - 量折扣比例),并受总折扣上限和最低利润率保护约束
VIP 折扣:
个人版9折
专业版8折
企业版7折
量折扣:
月付费调用 ≥1000 次享 2%、
月付费调用 ≥10000 次享 5%、
月付费调用 ≥20000 次享 10%
· 量折扣按账号当月全部接口的付费调用次数统计,达到更高档位时按更高档位计算
总折扣上限:VIP 折扣 + 量折扣合计不超过 50%
最低利润率保护:折后价不得低于成本价 × (1 + 15%);若接口售价本身低于该保护价,则取消折扣并按售价计费
余额不足时调用将失败,请及时充值。
VIP 权益对比
| 等级 | 每月免费次数 | 本接口月免费上限 | 折扣 | VIP 折后单价 |
| 免费版 |
按接口配置 |
— |
- |
¥0.002/次 |
| 个人版 |
5000 次 |
5000 次 |
10% |
¥0.0018/次 |
| 专业版 |
30000 次 |
30000 次 |
20% |
¥0.0016/次 |
| 企业版推荐 |
200000 次 |
200000 次 |
30% |
¥0.0014/次 |
* VIP 月度免费额度每月重置。每月免费次数为账号级 VIP 月额度,本接口月免费上限为其中对本接口的限制(接口可单独设置上限或关闭)。VIP 折扣仅适用于余额扣费方式,VIP 折后单价不含量折扣。
本接口已关闭接口级月度免费额度(不影响 VIP 月度免费额度)。接口每日免费额度已关闭。
费用计算示例
* 以下示例未包含量折扣,量折扣按账号当月全部接口的付费调用量另行计算。
示例1:普通用户按次付费
调用 1000 次,费用 = 0.002 × 1000 = ¥2.00
示例2:个人版用户按次付费(仅 VIP 折扣,已考虑最低利润率保护)
调用 1000 次,折扣约 10%,费用 = 0.002 × (1 - 10%) × 1000 ≈ ¥1.80
错误码说明
本接口未定义专属错误码,调用时请参考通用错误码体系。
查看通用错误码参考
| 错误码 | 说明 | 解决方案 |
| 200 | 请求成功 | - |
| 400000 | 请求参数错误 | 检查参数名、格式与取值 |
| 401000 | 认证失败 | 检查 Authorization: Bearer 密钥是否正确、是否过期 |
| 401002 | 缺少 API 认证参数 | 请求未携带 key,请通过 URL 参数 key 或请求头 Authorization 传递密钥 |
| 402000 | 账户余额不足 | 充值后重试 |
| 403000 | 无访问权限 | 确认密钥权限、接口范围与 IP 白名单是否满足要求 |
| 404001 | 接口或端点不存在 | 检查 API 与端点的请求路径 |
| 409000 | 请求冲突 | 请稍后重试 |
| 422000 | 参数校验失败 | 检查参数格式与取值 |
| 429001 | 请求频率超限(QPS) | 降低请求频率,或升级套餐提升额度 |
| 429002 | 分钟级调用频率超限 | 降低调用频率,或升级套餐提升额度 |
| 429003 | 小时级调用额度已用完 | 升级套餐提升额度,或整点后重试 |
| 429004 | 今日调用额度已用完 | 升级套餐提升额度,或次日重试 |
| 500000 | 服务器内部错误 | 携带响应中的 request_id 联系技术支持 |
| 502000 | 服务暂时不可用 | 稍后重试 |
| 503000 | 服务暂时不可用 | 稍后重试 |
| 504000 | 请求超时 | 稍后重试 |