基于模型的高校录取概率预测 - LLM Markdown

# 基于模型的高校录取概率预测

> 来源页面: https://www.gugudata.com/api/details/admission-predict

## 概览

- API 标识: `admission-predict`
- 分类: 教育/高考
- 描述: 高校录取概率预测
- 标签: AI预测 / 高考志愿 / 录取概率
- 短标签: AI / 高考 / 高考录取 / 高等教育
- 详情页: https://www.gugudata.com/api/details/admission-predict
- LLM Markdown: https://www.gugudata.com/api/details/admission-predict/llm.md
- 数据预览: https://www.gugudata.com/preview/admission-predict
- 购买开通: https://www.gugudata.com/order/admission-predict
- APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders

## 给大模型的接入指令

如果你正在帮助用户接入这个 API,请优先使用本文档中的接口地址、请求方式、请求参数、返回参数、状态码、cURL 示例和预览数据生成代码或排查问题。

- 接入目标: 调用 `基于模型的高校录取概率预测`,不要臆造未在文档中出现的参数或返回字段。
- AppKey 获取: 用户登录咕咕数据开发者中心后,在 `APP KEY 管理` 页面复制对应产品的 AppKey。
- AppKey 替换: 示例中的 `YOUR_APPKEY`、`APPKEY`、`{{YOUR_APPKEY}}`、`{{appkey}}`、`{{appKey}}` 都应替换为用户自己的 AppKey。
- AppKey 传递: 推荐使用 `AppKey` 请求头;历史 query 参数 `appkey` 继续兼容。
- 开通与续费: 未开通时引导用户访问购买开通页;已开通或需要续费时,引导用户进入开发者中心或订单与续费页。
- 错误处理: HTTP 状态码代表传输层结果,响应体内的业务状态码代表接口业务结果,代码中应分别处理。
- 生产建议: AppKey 应保存在服务端环境变量或密钥配置中,由服务端统一发起请求,不要写入网页、App 客户端或公开仓库。

关键链接:

- 接口详情页: https://www.gugudata.com/api/details/admission-predict
- LLM Markdown: https://www.gugudata.com/api/details/admission-predict/llm.md
- 数据预览: https://www.gugudata.com/preview/admission-predict
- 购买开通页: https://www.gugudata.com/order/admission-predict
- 开发者中心 APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders

## API 功能

- 基于 LightGBM 梯度提升框架,融合院校分数线、高校与专业录取分数线、分段位次等多源异构数据;
- 采用概率校准机制,对模型输出进行稳定化处理,提升录取概率结果的一致性与可解释性;
- 返回录取概率摘要标签,并提供分差、梯度与统计指标,辅助进行志愿分层判断;
- 支持自定义概率区间分层与每档数量,一次返回保、稳、冲等多档志愿结果;
- 支持按需返回 SHAP 因子解释,辅助理解当前预测结果的主要驱动因素;
- 支持省份过滤、白名单院校、Top-N 控制等高级筛选能力;
- 支持专业级预测;当专业样本不足时,系统会自动切换到可用的预测路径;
- 支持 Query 与 JSON 组合入参,便于脚本与后端系统同时调用;
- 预测结果会结合当前可用的最新招生年份数据与历史样本进行计算;
- 全接口通过 HTTPS 提供服务;
- 全面兼容 Apple ATS;
- 全国多节点 CDN 部署;
- [接口调用状态与状态监控](https://www.gugudata.com/status)

## API 文档

- 接口地址: `https://api.gugudata.com/ai/admission/predict`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `POST`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/ai/admission/predict?appkey=YOUR_APPKEY`
- 接口测试: https://api.gugudata.com/ai/admission/predict/demo
- Apifox: https://doc.gugudata.com/
- Postman: https://www.postman.com/gugudata/gugudata-official/collection/1163860-22cb92f5-771a-48fd-89c0-f20a0790a8ce/?action=share&creator=1163860&active-environment=1163860-a95b31ef-324f-43db-b2fc-faa41f45bd35
- OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json

## 鉴权方式

接口支持以下 AppKey 传递方式,任选一种即可;已有请求示例、Postman 集合和历史代码仍可继续使用原来的 `appkey` 参数方式。

| 传输载体 | 参数 | 示例 | 说明 |
| --- | --- | --- | --- |
| HTTP Header | `AppKey` | `AppKey: YOUR_APPKEY` | 推荐方式,适合服务端接入和统一封装。 |
| HTTP Header | `X-GUGUDATA-APPKEY` | `X-GUGUDATA-APPKEY: YOUR_APPKEY` | 兼容已有客户端的 Header 名称。 |
| HTTP Header | `X-API-Key` | `X-API-Key: YOUR_APPKEY` | 通用 API Key Header,便于和常见 API 客户端集成。 |
| HTTP Header | `Authorization` | `Authorization: Bearer YOUR_APPKEY` | 适合 OpenAI 兼容接口或 Bearer Token 风格客户端。 |
| Query 参数 | `appkey` | `?appkey=YOUR_APPKEY` | 兼容现有示例、Postman 集合、浏览器调试和历史代码。 |

> 部分历史 POST 接口仍兼容表单或 JSON body 中的 `appkey`;新接入建议优先使用 Header 或 Query 参数。

## 请求参数

| 参数名 | 参数类型 | 是否必须 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| appkey | string | 是 | YOUR_APPKEY | 付费后获取的 APPKEY。文档示例默认通过 Query 参数 appkey 传递;历史 Form 或 JSON body 中的 appkey 仍兼容。 |
| province | string | 是 | N/A | 考生所在省份,与历年分数线数据保持一致 |
| subject_type | string | 是 | N/A | 科类/选科:理科、文科、物理类、历史类、综合等 |
| score | number | 是 | N/A | 考生裸分(0-750) |
| rank | integer | 否 | N/A | 考生全省位次,可为空(为空时结合分段位次推断) |
| batch | string | 否 | 本科批 | 报考批次,目前支持普通本科批次 |
| top_n | integer | 否 | 50 | 返回院校数量上限,范围 1-200;传入 probability_tiers 时按各档位数量返回 |
| probability_tiers | array | 否 | [{"name":"safe","label":"保","min_probability":0.98,"limit":3},{"name":"stable","label":"稳","min_probability":0.8,"limit":3},{"name":"reach","label":"冲","min_probability":0.75,"limit":3}] | 概率分层配置,仅支持 JSON Body 传入。示例:[{"name":"safe","label":"保","min_probability":0.98,"limit":3},{"name":"stable","label":"稳","min_probability":0.8,"limit":3},{"name":"reach","label":"冲","min_probability":0.75,"limit":3}]。每项包含 name、label、min_probability、limit;min_probability 必须严格递减,相邻档位自动形成概率区间;可配合 tier_sort 控制每档内部取数顺序,用于一次返回保、稳、冲等多档志愿结果;不传时继续按 top_n 返回。 |
| tier_sort | string | 否 | probability | 概率分层每档内部排序策略,仅在 probability_tiers 生效时使用;可选 probability、college_rank、balanced。probability 按录取概率排序,college_rank 按院校排名优先,balanced 综合院校层次、排名和概率。 |
| include_explanation | boolean | 否 | false | 是否返回 SHAP 补充解释,默认关闭以控制响应时延,开启后仅对部分结果返回解释信息 |
| prefer_local | boolean | 否 | false | 是否在排序时优先本省院校 |
| college_provinces | array | 否 | N/A | 按院校所在省份过滤,留空则不过滤;Query 方式可多次传值,格式 ["江苏", "上海"] |
| target_colleges | array | 否 | N/A | 指定院校名单,仅对名单内院校预测 |
| uuid | string | 否 | N/A | 指定一个院校唯一 ID,仅对该院校预测;可使用全国大学高校基础信息接口返回的 SchoolUUID |
| target_college_uuids | array | 否 | N/A | 指定院校唯一 ID 列表,仅对名单内院校预测;多个值可使用数组或逗号分隔字符串 |
| year | integer | 否 | 2025 | 预测年份,用于匹配最新控制线与分数线 |
| major_name | string | 否 | N/A | 专业名称(用于专业级预测),命中专业样本时优先返回该专业结果;若样本不足,系统可能切换到院校层或其他兼容预测路径 |
| local_batch_name | string | 否 | N/A | 本地批次名称(用于过滤),不提供时默认使用 batch 参数的值 |

## 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.StatusCode | integer | 接口状态码,100 表示成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 返回时间 |
| DataStatus.DataTotalCount | integer | 本次返回院校数量 |
| Data.predictions | array | 预测结果列表 |
| Data.predictions[].college_name | string | 院校名称 |
| Data.predictions[].admission_probability | number | 录取概率 (0-1) |
| Data.predictions[].recommendation | string | 结果摘要标签:录取概率高 / 需要注意梯度,但成功率较高 / 录取概率低,用于快速概览当前结果 |
| Data.predictions[].long_recommendation | string | 面向用户的长句原因解释,结合近年录取线、分差、院校层次、专业匹配情况与补充策略生成 |
| Data.predictions[].evidence | object | 关键证据信息对象,可能包含近三年最低线、加权基线分差、省控线差、院校层次、院校排名、招生计划覆盖率、聚合模式等字段 |
| Data.predictions[].shap_explanation | object | SHAP 解释信息,含 base_probability、predicted_probability、top_features,仅在 include_explanation=true 时返回 |
| Data.predictions[].major_name | string | 命中专业级预测时返回对应专业名称;若结果回退到院校层,则该字段可能为空 |
| Data.predictions[].tier_name | string | 命中的概率档位标识,仅在请求 probability_tiers 时返回 |
| Data.predictions[].tier_label | string | 命中的概率档位展示名称,仅在请求 probability_tiers 时返回 |
| Data.predictions[].tier_min_probability | number | 命中档位的录取概率下限,仅在请求 probability_tiers 时返回;下一档会自动以上一档下限作为概率上界 |
| Data.meta.total_colleges | integer | 返回院校数量 |
| Data.meta.student_score | number | 考生分数 |
| Data.meta.student_province | string | 考生省份 |
| Data.meta.local_colleges | integer | 结果中同省院校数量,无 is_local 字段时为 null |
| Data.meta.score_diff_min | number | 分差绝对值最小值 |
| Data.meta.score_diff_median | number | 分差绝对值中位数,用于梯度判断 |
| Data.meta.prefer_local | boolean | 是否启用本省优先排序 |
| Data.meta.college_provinces | array | 请求中用于过滤院校省份的列表 |
| Data.meta.model_version | string | 模型版本号 |
| Data.meta.probability_tiers | array | 概率分层返回统计,仅在请求 probability_tiers 时返回;每项包含 name、label、min_probability、limit、returned_count,下一档会自动以上一档下限作为概率上界 |
| Data.meta.tier_sort | string | 本次概率分层每档内部排序策略,仅在请求 probability_tiers 时返回 |
| Data.meta.fallback.applied | boolean | 是否启用了 fallback 或补充预测策略 |
| Data.meta.fallback.strategy | string | fallback 策略标识,用于说明当前结果采用的兼容预测路径 |
| Data.meta.fallback.requested_year | integer | 请求中传入的目标预测年份 |
| Data.meta.fallback.effective_year | integer | 实际用于匹配分数线或历史样本的有效年份 |
| Data.meta.fallback.requested_major_name | string | 请求中传入的专业名称 |
| Data.meta.fallback.effective_major_name | string | 实际命中的参考专业名称;若未命中稳定专业样本则为空 |
| Data.disclaimer | string | 免责声明 |

## 响应示例

```json
{
  
  "DataStatus":  {
    
    "RequestParameter":  "{\"province\": \"江苏\", \"subject_type\": \"物理类\", \"score\": 635, \"rank\": 12000, \"batch\": \"本科批\", \"top_n\": 10, \"include_explanation\": false, \"prefer_local\": false, \"college_provinces\": [\"江苏\", \"上海\"], \"target_colleges\": [\"南京大学\", \"东南大学\", \"南京航空航天大学\", \"南京理工大学\", \"苏州大学\", \"南京邮电大学\", \"河海大学\", \"江南大学\", \"上海大学\", \"华东理工大学\"], \"year\": 2026, \"local_batch_name\": \"本科批\"}",
    
    "StatusCode":  100,
    
    "StatusDescription":  "预测成功",
    
    "ResponseDateTime":  "2026-07-13 06:48:03.967",
    
    "DataTotalCount":  3,
    
    "RequestId":  "7a7dd0cb-753f-493c-9b84-96c9f4e1d2ee"
  
  },
  
  "Data":  {
    
    "predictions":  [
      
      {
        
        "college_name":  "南京邮电大学",
        
        "admission_probability":  0.8336255888718451,
        
        "evidence":  {
          
          "recent_3y_min_score":  [
            
            623.0,
            
            623.0
          
          ],
          
          "score_gap":  12.0,
          
          "score_gap_original":  12.0,
          
          "province_line_gap":  172.0,
          
          "is_985":  false,
          
          "is_211":  false,
          
          "is_dual_class":  true,
          
          "college_rank":  122,
          
          "plan_enrollment":  310,
          
          "plan_coverage_ratio":  0.7571258907363421,
          
          "major_hist_avg":  627.0,
          
          "major_recent_min_trend":  0.0,
          
          "aggregation_mode":  "plan_weighted_school_probability",
          
          "matched_plan_rows":  22,
          
          "covered_plan_total":  2550,
          
          "school_plan_total":  3368
        
        },
        
        "shap_explanation":  null,
        
        "recommendation":  "录取概率高",
        
        "long_recommendation":  "当前录取概率较高,按近年录取情况看,你的分数处于相对安全区间。你的分数高于近三年最低线12分,也高于近三年均值线12分。该结果按可匹配专业的招生计划加权汇总,更接近学校整体录取难度。",
        
        "major_name":  null,
        
        "tier_name":  null,
        
        "tier_label":  null,
        
        "tier_min_probability":  null
      
      },
      
      {
        
        "college_name":  "江南大学",
        
        "admission_probability":  0.7824963041558483,
        
        "evidence":  {
          
          "recent_3y_min_score":  [
            
            624.0,
            
            600.0
          
          ],
          
          "score_gap":  27.799999999999955,
          
          "score_gap_original":  11.0,
          
          "province_line_gap":  172.0,
          
          "is_985":  false,
          
          "is_211":  true,
          
          "is_dual_class":  true,
          
          "college_rank":  57,
          
          "plan_enrollment":  61,
          
          "plan_coverage_ratio":  0.8685782556750299,
          
          "major_hist_avg":  627.0,
          
          "major_recent_min_trend":  44.0,
          
          "aggregation_mode":  "plan_weighted_school_probability",
          
          "matched_plan_rows":  42,
          
          "covered_plan_total":  727,
          
          "school_plan_total":  837
        
        },
        
        "shap_explanation":  null,
        
        "recommendation":  "需要注意梯度,但成功率较高",
        
        "long_recommendation":  "当前录取机会较大,但仍需关注同分段竞争和院校梯度波动。你的分数高于近三年最低线11分,也高于近三年均值线35分。该结果按可匹配专业的招生计划加权汇总,更接近学校整体录取难度。",
        
        "major_name":  null,
        
        "tier_name":  null,
        
        "tier_label":  null,
        
        "tier_min_probability":  null
      
      },
      
      {
        
        "college_name":  "苏州大学",
        
        "admission_probability":  0.6833778914183208,
        
        "evidence":  {
          
          "recent_3y_min_score":  [
            
            635.0,
            
            636.0
          
          ],
          
          "score_gap":  -0.7000000000000455,
          
          "score_gap_original":  0.0,
          
          "province_line_gap":  172.0,
          
          "is_985":  false,
          
          "is_211":  true,
          
          "is_dual_class":  true,
          
          "college_rank":  42,
          
          "plan_enrollment":  139,
          
          "plan_coverage_ratio":  0.81099324975892,
          
          "major_hist_avg":  636.0,
          
          "major_recent_min_trend":  -4.0,
          
          "aggregation_mode":  "plan_weighted_school_probability",
          
          "matched_plan_rows":  60,
          
          "covered_plan_total":  2523,
          
          "school_plan_total":  3111
        
        },
        
        "shap_explanation":  null,
        
        "recommendation":  "需要注意梯度,但成功率较高",
        
        "long_recommendation":  "当前录取机会较大,但仍需关注同分段竞争和院校梯度波动。你的分数高于近三年最低线0分,但仍比近三年均值线低1分。该结果按可匹配专业的招生计划加权汇总,更接近学校整体录取难度。",
        
        "major_name":  null,
        
        "tier_name":  null,
        
        "tier_label":  null,
        
        "tier_min_probability":  null
      
      }
    
    ],
    
    "meta":  {
      
      "total_colleges":  3,
      
      "student_score":  635.0,
      
      "student_province":  "江苏",
      
      "local_colleges":  null,
      
      "score_diff_min":  0.0,
      
      "score_diff_median":  11.0,
      
      "prefer_local":  false,
      
      "college_provinces":  [
        
        "江苏",
        
        "上海"
      
      ],
      
      "model_version":  "v1.1.0"
    
    },
    
    "disclaimer":  "本预测结果综合历年真实招生数据、院校录取趋势与机器学习模型推算而成,仅供志愿填报参考。建议结合当年政策、院校最新官方信息及个人实际情况综合判断,最终录取结果以各省考试院和院校官方公布为准。"
  
  }

}
```

## 相关接口

### 专业录取线按录取概率排序

- 请求方式: `POST`
- 资源路径: `/ai/admission/major-line-rank?appkey={{appkey}}`
- 接口地址: `https://api.gugudata.com/ai/admission/major-line-rank?appkey=YOUR_APPKEY`
- 描述: 先查询历年高考专业录取分数线候选集,再结合录取概率预测结果排序返回,适合按省份、科类和分数筛选专业线后做志愿梯度参考

#### 请求参数

| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| appkey | string | 是 | 付费后获取的 APPKEY,可通过 Query (?appkey=) 或 JSON Body 提供 |
| province | string | 是 | 考生所在省份,对应专业录取线的 enrollProvince |
| subject_type | string | 是 | 科类/选科,对应专业录取线的 typeName,例如 物理类、历史类、理科、文科、综合 |
| score | number | 是 | 考生裸分(0-750),用于计算专业线候选项的录取概率 |
| rank | integer | 否 | 考生全省位次,可为空 |
| batch | string | 否 | 报考批次,默认 本科批,对应专业录取线的 batchName |
| year | integer | 否 | 预测年份,默认与 line_year 保持一致 |
| line_year | integer | 否 | 专业录取线年份,默认使用 year |
| major_name | string | 否 | 专业名称过滤条件 |
| school_name | string | 否 | 院校名称过滤条件 |
| uuid | string | 否 | 院校唯一 ID,可用于限定单个院校 |
| schooluuid | string | 否 | 院校唯一 ID,等同于 uuid |
| target_college_uuids | array | 否 | 院校唯一 ID 列表,可用于限定多个院校 |
| subject_selection | string | 否 | 选科要求过滤条件,对应专业录取线的 subjectSelection |
| min_score | integer | 否 | 录取最低分小于等于该值的过滤条件 |
| minrange | string | 否 | 录取最低分区间,格式如 500,700 |
| score_window | integer | 否 | 省份宽查询时围绕考生成绩自动生成候选分数区间,默认 60,传 0 可关闭 |
| sort | string | 否 | 专业线候选集原始排序条件 |
| probability_sort | string | 否 | 录取概率排序方向,支持 desc 或 asc,默认 desc |
| page_index | integer | 否 | 排序后页码,从 1 开始,默认 1 |
| page_size | integer | 否 | 排序后每页数量,默认 10,最大 50 |
| candidate_limit | integer | 否 | 最多参与预测排序的专业线候选数量,默认 30,最大 50 |
| major_name_strict | boolean | 否 | 专业名称是否严格匹配,默认 false |
| exclude_major_category | boolean | 否 | 是否过滤专业大类记录,默认 true |
| include_prediction_evidence | boolean | 否 | 是否返回模型证据字段,默认 false |

#### 请求示例

```json
{
  "method": "POST",
  "url": "https://api.gugudata.com/ai/admission/major-line-rank?appkey=YOUR_APPKEY",
  "content_type": "application/json",
  "body": {
    "province": "河北",
    "subject_type": "物理类",
    "score": 591,
    "rank": 8190,
    "batch": "本科批",
    "line_year": 2025,
    "year": 2026,
    "page_size": 10,
    "candidate_limit": 30,
    "probability_sort": "desc"
  }
}
```

#### 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| Data.items | array | 排序后的专业录取线结果列表 |
| Data.items[].major_line | object | 原始专业录取线数据对象 |
| Data.items[].major_line.SchoolName | string | 院校名称 |
| Data.items[].major_line.SchoolUUID | string | 院校唯一 ID |
| Data.items[].major_line.MajorName | string | 专业名称 |
| Data.items[].major_line.LowestScore | number | 该专业历史录取最低分 |
| Data.items[].admission_probability | number | 录取概率(0-1);未命中可用专业预测结果时为空 |
| Data.items[].admission_probability_percent | number | 录取概率百分比 |
| Data.items[].recommendation | string | 录取概率摘要标签 |
| Data.items[].risk_label | string | 梯度标签:保、稳、冲、极大风险 |
| Data.items[].long_recommendation | string | 面向用户的原因解释 |
| Data.items[].prediction_major_name | string | 模型实际命中的专业名称 |
| Data.items[].prediction_matched | boolean | 是否匹配到可用于排序的预测结果 |
| Data.items[].prediction_error | string | 未匹配预测结果时的原因说明 |
| Data.items[].score_diff | number | 考生成绩与该专业历史最低分的差值 |
| Data.items[].prediction_evidence | object | 模型证据字段,仅 include_prediction_evidence=true 时返回 |
| Data.meta.returned_count | integer | 本页返回数量 |
| Data.meta.ranked_count | integer | 参与排序的候选数量 |
| Data.meta.candidate_limit | integer | 本次最多参与预测排序的候选数量 |
| Data.meta.line_year | integer | 专业录取线年份 |
| Data.meta.prediction_year | integer | 预测年份 |
| Data.meta.probability_sort | string | 录取概率排序方向 |
| Data.meta.prediction_group_count | integer | 本次调用录取概率预测的专业分组数量 |
| Data.meta.prediction_error_count | integer | 预测失败的专业分组数量 |
| Data.meta.prediction_skipped_count | integer | 未使用预测结果排序的专业分组数量 |

## 接口常见 HTTP 响应状态码

> 以下为接口调用中常见的 HTTP 传输层状态码,不等同于响应体内的业务状态码;完整状态码注册表以 IANA HTTP Status Code Registry 为准。

| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理;业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功,并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理,结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空,适用于无需返回数据的操作。 |
| 304 | 资源未变更 | 配合缓存或条件请求使用,表示可继续使用本地缓存。 |
| 400 | 请求参数错误 | 请求参数缺失、格式错误或参数组合不合法。 |
| 401 | 认证失败 | 缺少、无效或未通过认证的访问凭证(如 AppKey)。 |
| 403 | 无权限访问 | 订单到期、权限不足或接口额度不可用。 |
| 404 | 资源不存在 | 请求路径不存在。 |
| 405 | 请求方法不允许 | 当前路径不支持该 HTTP 方法。 |
| 408 | 请求超时 | 客户端请求在服务端等待时间内未完成,可稍后重试。 |
| 409 | 请求冲突 | 请求与当前资源状态冲突,调整参数或业务状态后重试。 |
| 413 | 请求内容过大 | 上传文件或请求体超过接口限制。 |
| 414 | 请求地址过长 | 请求 URL 超过服务端可处理长度,建议减少查询参数或改用 POST。 |
| 415 | 请求内容类型不支持 | 上传或请求体的内容类型不符合接口要求。 |
| 422 | 请求语义错误 | 请求格式正确,但参数取值、语义或业务约束无法处理。 |
| 429 | 请求频率受限 | 默认按来源 IP 限速,单 IP 最多 5 QPS,可满足常规业务调用。超出限制时接口会返回 429 请求频率受限;已购买接口订单可加购 10 QPS 扩展。 |
| 431 | 请求头过大 | 请求头字段过大或过多,建议精简 Header 后重试。 |
| 500 | 服务器内部错误 | 服务端处理异常,请稍后重试。 |
| 502 | 网关或上游错误 | 网关或代理从上游服务收到异常响应。 |
| 503 | 服务暂时不可用 | 服务维护、容量保护或依赖异常导致暂时不可用,请稍后重试。 |
| 504 | 网关超时 | 网关等待上游服务响应超时,可稍后重试或降低请求复杂度。 |

## 接口自定义业务状态码

| 业务状态码 | 业务状态码解释 | 备注 |
| --- | --- | --- |
| 100 | 正常返回 |  |
| 501 | 参数错误 | 缺少 province、subject_type、score 或 appkey 等必填参数 |
| 502 | 请求频率受限 | 请降低请求频率 |
| 503 | APPKEY 过期或订单失效 | 请前往开发者中心确认订单有效期 |
| 504 | APPKEY 错误 | 请检查传递的 APPKEY 是否正确 |
| 505 | 超出调用次数 | 当前 APPKEY 已达到订单调用上限 |
| -9 | 预测失败或服务处理异常 | 模型服务异常、数据源异常或内部处理失败时返回 |

## cURL 请求示例

```bash
curl --location --request POST 'https://api.gugudata.com/ai/admission/predict?appkey=YOUR_APPKEY' \
--header 'Content-Type: application/json' \
--data '{"province":"江苏","subject_type":"物理类","score":635,"rank":12000,"batch":"本科批","top_n":3,"include_explanation":false,"prefer_local":false,"college_provinces":["江苏","上海"],"target_colleges":["南京邮电大学"],"year":2026}'
```

## 常见问题 Q&A

### Q: 数据请求有缓存吗?
A: 接口默认以实时响应为目标。对于日更、月更等具备明确更新周期的数据,会在数据周期内采用缓存与预热策略,以提升响应速度和稳定性;实时查询类接口则以接口说明中的更新频率为准。建议业务侧结合数据时效要求设置本地缓存与重试策略,避免高频重复请求。

### Q: 如何保证请求时 AppKey 的安全性?
A: 用户可以登录咕咕数据开发者中心,在 `APP KEY 管理` 页面复制对应产品的 AppKey;未开通接口时先进入当前接口的购买开通页,已开通或到期续费时进入开发者中心或订单与续费页。建议将 AppKey 保存在服务端环境中,由后端统一调用 API,再向前端或业务系统返回必要结果。不要把 AppKey 写入网页、App 客户端或公开仓库;生产环境建议按系统或业务线拆分 AppKey,并保留调用日志,便于权限控制、审计与问题排查。

### Q: 接口可以用于哪些开发语言?
A: 只要支持 HTTPS 请求的语言和框架均可接入,包括 Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等。推荐由后端统一封装调用逻辑,集中处理鉴权、缓存、限流、重试和错误码映射,让 Web、App、AI Agent、内部系统和自动化任务复用同一套数据能力。

### Q: 接口性能可以保证吗?
A: GuGuData API 按生产环境标准部署,持续关注接口稳定性、响应速度与可用性。实际响应时间会受接口类型、请求参数、数据源更新和网络环境影响;建议生产接入前进行联调与压测,并设置合理的超时、重试、降级和告警策略。批量处理或高并发场景可提前评估 QPS、白名单和专属容量方案。

## 服务协议以及服务免责声明

- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)

## 技术支持

- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7