职业与发展心理测评问卷 - LLM Markdown

# 职业与发展心理测评问卷

> 来源页面: https://www.gugudata.com/api/details/psychology-questionnaires

## 概览

- API 标识: `psychology-questionnaires`
- 分类: 教育/高考
- 描述: 职业发展心理测评题库
- 标签: 心理测评 / 职业发展
- 短标签: 心理测评 / 原创题库 / 职业发展 / 高考心理
- 详情页: https://www.gugudata.com/api/details/psychology-questionnaires
- LLM Markdown: https://www.gugudata.com/api/details/psychology-questionnaires/llm.md
- 数据预览: https://www.gugudata.com/preview/psychology-questionnaires
- 购买开通: https://www.gugudata.com/order/psychology-questionnaires
- 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 传递: 推荐使用 `X-GUGUDATA-APPKEY` 或 `X-API-Key` 请求头;OpenAI 兼容客户端可使用 `Authorization: Bearer <AppKey>`;历史 query 参数 `appkey` 继续有效。
- 开通与续费: 未开通时引导用户访问购买开通页;已开通或需要续费时,引导用户进入开发者中心或订单与续费页。
- 错误处理: HTTP 状态码代表传输层结果,响应体内的业务状态码代表接口业务结果,代码中应分别处理。
- 生产建议: AppKey 应保存在服务端环境变量或密钥配置中,由服务端统一发起请求,不要写入网页、App 客户端或公开仓库。

关键链接:

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

## API 功能

- 支持检索职业与发展心理测评问卷元数据;
- 返回问卷编码、名称、题量、维度和来源,便于后续发起测评或展示问卷库;
- keyword 可按名称、英文名或描述进行筛选;
- 适合职业规划、人才测评、教育咨询和成长发展类产品接入;
- 围绕“职业与发展心理测评问卷”提供标准化能力,便于快速接入现有业务;
- 适合将“职业与发展心理测评问卷”结果接入业务系统、后台工具和自动化流程;
- 适合高考、考研、招生和院校信息产品接入;
- 可与院校、专业、分数线和招生计划接口组合分析;
- 全接口通过 HTTPS 提供服务;
- 全面兼容 Apple ATS;
- 全国多节点 CDN 部署;
- [接口调用状态与状态监控](https://www.gugudata.com/status)

## API 文档

- 接口地址: `https://api.gugudata.com/v1/psychology/questionnaires`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `GET`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/v1/psychology/questionnaires?appkey=APPKEY&keyword=&pageIndex=1&pageSize=20`
- 接口测试: https://api.gugudata.com/v1/psychology/questionnaires/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 | `X-GUGUDATA-APPKEY` | `X-GUGUDATA-APPKEY: YOUR_APPKEY` | 推荐方式,适合服务端接入和统一封装。 |
| 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 | 是 | APPKEY | 付费后获取的 APPKEY。文档示例默认通过 Query 参数 appkey 传递;历史 Form 或 JSON body 中的 appkey 仍兼容。 |
| keyword | string | 否 |  | 问卷名称、英文名或描述关键词。 |
| pageIndex | integer | 否 | 1 | 分页页码,从 1 开始。 |
| pageSize | integer | 否 | 20 | 每页数量。 |

## 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 本次请求的参数摘要字符串。 |
| DataStatus.StatusCode | integer | 接口返回状态码。 |
| DataStatus.Status | string | 接口返回状态,例如 SUCCESS 或 ERROR。 |
| DataStatus.StatusDescription | string | 接口返回状态说明。 |
| DataStatus.ResponseDateTime | string | 接口数据返回时间。 |
| DataStatus.DataTotalCount | integer | 此条件下的数据总量;对象型结果通常为 1,列表型结果为列表数量或分页总数。 |
| Data.QuestionnaireCode | string | 问卷编码。 |
| Data.QuestionnaireName | string | 问卷中文名称。 |
| Data.QuestionnaireNameEn | string | 问卷英文名称。 |
| Data.Description | string | 问卷简介。 |
| Data.QuestionCount | integer | 题目数量。 |
| Data.Dimensions | array | 测评维度列表。 |
| Data.Source | string | 问卷来源或参考体系。 |
| Data.UseCount | integer | 使用次数。 |

## 相关接口

### 获取问卷详情

- 请求方式: `GET`
- 资源路径: `/v1/psychology/questionnaires/{{questionnaireCode}}`
- 接口地址: `https://api.gugudata.com/v1/psychology/questionnaires/{{questionnaireCode}}`
- 描述: 获取指定问卷的详细信息和所有题目

#### 请求参数

| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| questionnaireCode | string | 是 | 问卷编码(路径参数)。可选值:HOLLAND_SDS(霍兰德职业兴趣测验)、TYPE_A_BEHAVIOR(A型行为量表)、ACHIEVEMENT_MOTIVATION(成就动机量表)、ONET_IP_30(O*NET 职业兴趣画像(30题))、CAAS_SF_24(生涯适应力量表短版(24题))、CDSE_SF_25(职业决策自我效能短量表(25题))、CDDQ_34(职业决策困难问卷(34题))、LBDQ_40(领导行为描述问卷(40题))、MBI_ES_22(职业倦怠量表(22题))、GD_CAREER_INTEREST_24(职业兴趣画像问卷(24题))、GD_CAREER_ADAPT_20(职业适应力问卷(20题))、GD_DECISION_CONFIDENCE_20(职业决策信心问卷(20题))、GD_DECISION_BARRIER_24(职业决策障碍问卷(24题))、GD_LEADERSHIP_STYLE_24(团队领导行为问卷(24题))、GD_WORK_ENGAGEMENT_18(工作投入度问卷(18题))、GD_JOB_STRESS_20(岗位压力体验问卷(20题))、GD_JOB_BURNOUT_18(职业倦怠风险问卷(18题))、GD_CAREER_VALUES_24(职业价值观问卷(24题))、GD_JOB_SEARCH_EFFICACY_16(求职执行效能问卷(16题))、GD_TEAM_COLLAB_18(团队协作质量问卷(18题))、GD_CAREER_COMMITMENT_16(职业承诺问卷(16题))、GD_GRAD_TRANSITION_STRESS_20(毕业过渡压力问卷(20题))、GD_GRAD_EMPLOYABILITY_20(毕业就业能力问卷(20题))、GD_ACADEMIC_BURNOUT_18(学习倦怠风险问卷(18题))、GD_LEARNING_MOTIVATION_20(学习动机问卷(20题))、GD_SELF_ESTEEM_12(自我评价问卷(12题))、GD_RESILIENCE_12(心理韧性问卷(12题))、GD_SOCIAL_SUPPORT_12(社会支持感知问卷(12题))、GD_PERCEIVED_STRESS_12(主观压力体验问卷(12题))、GD_EXAM_ANXIETY_20(考试焦虑体验问卷(20题))、GD_STATE_TENSION_12(即时紧张状态问卷(12题))、GD_ACHIEVEMENT_GOAL_15(学业目标取向问卷(15题))、GD_STUDY_EFFICACY_15(学习效能问卷(15题))、GD_MOOD_RISK_SCREEN_12(情绪风险筛查问卷(12题)) |
| appkey | string | 是 | APPKEY(查询参数) |

#### 请求示例

```json
{
  "questionnaireCode": "GD_CAREER_INTEREST_24"
}
```

#### 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 当前请求的核心参数摘要 |
| DataStatus.StatusCode | integer | 接口返回状态码,100 为成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口响应时间 |
| DataStatus.DataTotalCount | integer | 本次返回的数据条数 |
| Data.QuestionnaireCode | string | 问卷编码 |
| Data.QuestionnaireName | string | 问卷名称 |
| Data.QuestionnaireNameEn | string | 问卷英文名称 |
| Data.Description | string | 问卷描述及理论基础说明 |
| Data.QuestionCount | integer | 题目数量 |
| Data.Dimensions | array | 问卷维度列表 |
| Data.Dimensions[].DimensionCode | string | 维度编码 |
| Data.Dimensions[].DimensionName | string | 维度名称 |
| Data.Dimensions[].Description | string | 维度说明 |
| Data.Instructions | string | 答题说明 |
| Data.Source | string | 问卷来源或题库版本 |
| Data.Questions | array | 题目列表 |
| Data.Questions[].QuestionNumber | integer | 题号 |
| Data.Questions[].QuestionText | string | 题目内容 |
| Data.Questions[].QuestionType | string | 题型,当前为 rating |
| Data.Questions[].Options | array | 题目可选项列表 |
| Data.Questions[].Options[].OptionKey | string | 选项编码 |
| Data.Questions[].Options[].OptionText | string | 选项文本 |

#### 响应示例

```json
{
  "DataStatus": {
    "RequestParameter": "questionnaireCode=GD_CAREER_INTEREST_24",
    "StatusCode": 100,
    "StatusDescription": "Request successful.",
    "ResponseDateTime": "2026-03-15 18:35:00.000",
    "DataTotalCount": 1
  },
  "Data": {
    "QuestionnaireCode": "GD_CAREER_INTEREST_24",
    "QuestionnaireName": "职业兴趣画像问卷(24题)",
    "QuestionnaireNameEn": "Career Interest Profile 24",
    "Description": "用于识别个体在职业兴趣上的优势方向与偏好结构。",
    "QuestionCount": 24,
    "Dimensions": [
      {
        "DimensionCode": "PRACTICAL",
        "DimensionName": "实践动手",
        "Description": "在真实任务中偏好动手解决问题"
      }
    ],
    "Instructions": "请根据你最近一个月的真实状态作答。每题仅选一个最符合你的选项。",
    "Source": "GuGuData Original Item Bank (2026.03)",
    "Questions": [
      {
        "QuestionNumber": 1,
        "QuestionText": "在职业探索中,我会主动围绕实践动手能力制定可执行的做法。",
        "QuestionType": "rating",
        "Options": [
          {
            "OptionKey": "1",
            "OptionText": "非常不符合"
          },
          {
            "OptionKey": "2",
            "OptionText": "较不符合"
          },
          {
            "OptionKey": "3",
            "OptionText": "一般"
          },
          {
            "OptionKey": "4",
            "OptionText": "较符合"
          },
          {
            "OptionKey": "5",
            "OptionText": "非常符合"
          }
        ]
      }
    ]
  }
}
```

### 提交测试答案

- 请求方式: `POST`
- 资源路径: `/v1/psychology/tests`
- 接口地址: `https://api.gugudata.com/v1/psychology/tests`
- 描述: 提交用户答案,自动计算得分并生成测评结果

#### 请求参数

| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| appkey | string | 是 | APPKEY(URL 查询参数) |
| questionnaireCode | string | 是 | 问卷编码(请求体)。可选值:HOLLAND_SDS(霍兰德职业兴趣测验)、TYPE_A_BEHAVIOR(A型行为量表)、ACHIEVEMENT_MOTIVATION(成就动机量表)、ONET_IP_30(O*NET 职业兴趣画像(30题))、CAAS_SF_24(生涯适应力量表短版(24题))、CDSE_SF_25(职业决策自我效能短量表(25题))、CDDQ_34(职业决策困难问卷(34题))、LBDQ_40(领导行为描述问卷(40题))、MBI_ES_22(职业倦怠量表(22题))、GD_CAREER_INTEREST_24(职业兴趣画像问卷(24题))、GD_CAREER_ADAPT_20(职业适应力问卷(20题))、GD_DECISION_CONFIDENCE_20(职业决策信心问卷(20题))、GD_DECISION_BARRIER_24(职业决策障碍问卷(24题))、GD_LEADERSHIP_STYLE_24(团队领导行为问卷(24题))、GD_WORK_ENGAGEMENT_18(工作投入度问卷(18题))、GD_JOB_STRESS_20(岗位压力体验问卷(20题))、GD_JOB_BURNOUT_18(职业倦怠风险问卷(18题))、GD_CAREER_VALUES_24(职业价值观问卷(24题))、GD_JOB_SEARCH_EFFICACY_16(求职执行效能问卷(16题))、GD_TEAM_COLLAB_18(团队协作质量问卷(18题))、GD_CAREER_COMMITMENT_16(职业承诺问卷(16题))、GD_GRAD_TRANSITION_STRESS_20(毕业过渡压力问卷(20题))、GD_GRAD_EMPLOYABILITY_20(毕业就业能力问卷(20题))、GD_ACADEMIC_BURNOUT_18(学习倦怠风险问卷(18题))、GD_LEARNING_MOTIVATION_20(学习动机问卷(20题))、GD_SELF_ESTEEM_12(自我评价问卷(12题))、GD_RESILIENCE_12(心理韧性问卷(12题))、GD_SOCIAL_SUPPORT_12(社会支持感知问卷(12题))、GD_PERCEIVED_STRESS_12(主观压力体验问卷(12题))、GD_EXAM_ANXIETY_20(考试焦虑体验问卷(20题))、GD_STATE_TENSION_12(即时紧张状态问卷(12题))、GD_ACHIEVEMENT_GOAL_15(学业目标取向问卷(15题))、GD_STUDY_EFFICACY_15(学习效能问卷(15题))、GD_MOOD_RISK_SCREEN_12(情绪风险筛查问卷(12题)) |
| userId | string | 否 | 用户标识(请求体,可选) |
| timeSpent | integer | 否 | 答题耗时秒数(请求体,可选) |
| answers | object | 是 | 答案对象(请求体),必须包含该问卷全部题号 |

#### 请求示例

```json
{
  "questionnaireCode": "GD_CAREER_INTEREST_24",
  "userId": "doc_example_user",
  "timeSpent": 180,
  "answers": {
    "1": "4",
    "2": "3",
    "3": "5"
  }
}
```

#### 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 当前请求的核心参数摘要 |
| DataStatus.StatusCode | integer | 接口返回状态码,100 为成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口响应时间 |
| DataStatus.DataTotalCount | integer | 本次返回的数据条数 |
| Data.TestId | string | 本次测试记录 ID |
| Data.QuestionnaireCode | string | 问卷编码 |
| Data.QuestionnaireName | string | 问卷名称 |
| Data.TotalScore | integer | 总分 |
| Data.DimensionScores | array | 各测评维度的得分明细 |
| Data.DimensionScores[].DimensionCode | string | 维度编码 |
| Data.DimensionScores[].DimensionName | string | 维度名称 |
| Data.DimensionScores[].Score | integer | 维度实际得分 |
| Data.DimensionScores[].MaxScore | integer | 维度满分 |
| Data.DimensionScores[].ScoreRate | number | 维度得分率,按百分比表示 |
| Data.DimensionScores[].Interpretation | string | 该维度的结果解释 |
| Data.ResultType | string | 结果类型或等级标签 |
| Data.Interpretation | string | 总体结果解释 |
| Data.Suggestion | string | 后续建议 |
| Data.TestDateTime | string | 测试完成时间 |

#### 响应示例

```json
{
  "DataStatus": {
    "RequestParameter": "questionnaireCode=GD_CAREER_INTEREST_24&userId=doc_example_user&answerCount=24",
    "StatusCode": 100,
    "StatusDescription": "Request successful.",
    "ResponseDateTime": "2026-03-15 18:35:00.000",
    "DataTotalCount": 1
  },
  "Data": {
    "TestId": "c8c1cc8db35340b796e5bf706bb434d2",
    "QuestionnaireCode": "GD_CAREER_INTEREST_24",
    "QuestionnaireName": "职业兴趣画像问卷(24题)",
    "TotalScore": 84,
    "DimensionScores": [
      {
        "DimensionCode": "PRACTICAL",
        "DimensionName": "实践动手",
        "Score": 22,
        "MaxScore": 30,
        "ScoreRate": 73.33,
        "Interpretation": "实践动手反映你在在真实任务中偏好动手解决问题方面的当前表现水平。"
      }
    ],
    "ResultType": "较好",
    "Interpretation": "职业兴趣画像问卷(24题)结果:整体表现较好,建议扩大到更复杂场景中验证。",
    "Suggestion": "建议增加高质量实践,强化跨场景迁移能力。",
    "TestDateTime": "2026-03-15 18:35:00"
  }
}
```

### 查询测试结果

- 请求方式: `GET`
- 资源路径: `/v1/psychology/tests/{{testId}}`
- 接口地址: `https://api.gugudata.com/v1/psychology/tests/{{testId}}`
- 描述: 根据测试ID查询测试结果详情

#### 请求参数

| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| testId | string | 是 | 测试记录ID(路径参数) |
| appkey | string | 是 | APPKEY(查询参数) |

#### 请求示例

```json
{
  "testId": "c8c1cc8db35340b796e5bf706bb434d2"
}
```

#### 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 当前请求的核心参数摘要 |
| DataStatus.StatusCode | integer | 接口返回状态码,100 为成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口响应时间 |
| DataStatus.DataTotalCount | integer | 本次返回的数据条数 |
| Data.TestId | string | 测试记录 ID |
| Data.QuestionnaireCode | string | 问卷编码 |
| Data.QuestionnaireName | string | 问卷名称 |
| Data.Answers | object | 用户原始答案,键为题号,值为选项编码 |
| Data.TotalScore | integer | 总分 |
| Data.DimensionScores | array | 各测评维度的得分明细 |
| Data.DimensionScores[].DimensionCode | string | 维度编码 |
| Data.DimensionScores[].DimensionName | string | 维度名称 |
| Data.DimensionScores[].Score | integer | 维度实际得分 |
| Data.DimensionScores[].MaxScore | integer | 维度满分 |
| Data.DimensionScores[].ScoreRate | number | 维度得分率,按百分比表示 |
| Data.DimensionScores[].Interpretation | string | 该维度的结果解释 |
| Data.ResultType | string | 结果类型或等级标签 |
| Data.Interpretation | string | 总体结果解释 |
| Data.Suggestion | string | 后续建议 |
| Data.TestDateTime | string | 测试完成时间 |
| Data.TimeSpent | integer | 答题耗时,单位秒 |

#### 响应示例

```json
{
  "DataStatus": {
    "RequestParameter": "testId=c8c1cc8db35340b796e5bf706bb434d2",
    "StatusCode": 100,
    "StatusDescription": "Request successful.",
    "ResponseDateTime": "2026-03-15 18:35:00.000",
    "DataTotalCount": 1
  },
  "Data": {
    "TestId": "c8c1cc8db35340b796e5bf706bb434d2",
    "QuestionnaireCode": "GD_CAREER_INTEREST_24",
    "QuestionnaireName": "职业兴趣画像问卷(24题)",
    "Answers": {
      "1": "4",
      "2": "3"
    },
    "TotalScore": 84,
    "DimensionScores": [
      {
        "DimensionCode": "PRACTICAL",
        "DimensionName": "实践动手",
        "Score": 22,
        "MaxScore": 30,
        "ScoreRate": 73.33,
        "Interpretation": "实践动手反映你在在真实任务中偏好动手解决问题方面的当前表现水平。"
      }
    ],
    "ResultType": "较好",
    "Interpretation": "职业兴趣画像问卷(24题)结果:整体表现较好,建议扩大到更复杂场景中验证。",
    "Suggestion": "建议增加高质量实践,强化跨场景迁移能力。",
    "TestDateTime": "2026-03-15 18:35:00",
    "TimeSpent": 180
  }
}
```

### 用户测试历史

- 请求方式: `GET`
- 资源路径: `/v1/psychology/tests`
- 接口地址: `https://api.gugudata.com/v1/psychology/tests`
- 描述: 查询用户的历史测试记录列表,支持按问卷类型过滤

#### 请求参数

| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| appkey | string | 是 | APPKEY(查询参数) |
| filter | string | 是 | 过滤条件,格式:userId="xxx" 或 userId="xxx" AND questionnaireCode="yyy"。questionnaireCode 可选值:HOLLAND_SDS(霍兰德职业兴趣测验)、TYPE_A_BEHAVIOR(A型行为量表)、ACHIEVEMENT_MOTIVATION(成就动机量表)、ONET_IP_30(O*NET 职业兴趣画像(30题))、CAAS_SF_24(生涯适应力量表短版(24题))、CDSE_SF_25(职业决策自我效能短量表(25题))、CDDQ_34(职业决策困难问卷(34题))、LBDQ_40(领导行为描述问卷(40题))、MBI_ES_22(职业倦怠量表(22题))、GD_CAREER_INTEREST_24(职业兴趣画像问卷(24题))、GD_CAREER_ADAPT_20(职业适应力问卷(20题))、GD_DECISION_CONFIDENCE_20(职业决策信心问卷(20题))、GD_DECISION_BARRIER_24(职业决策障碍问卷(24题))、GD_LEADERSHIP_STYLE_24(团队领导行为问卷(24题))、GD_WORK_ENGAGEMENT_18(工作投入度问卷(18题))、GD_JOB_STRESS_20(岗位压力体验问卷(20题))、GD_JOB_BURNOUT_18(职业倦怠风险问卷(18题))、GD_CAREER_VALUES_24(职业价值观问卷(24题))、GD_JOB_SEARCH_EFFICACY_16(求职执行效能问卷(16题))、GD_TEAM_COLLAB_18(团队协作质量问卷(18题))、GD_CAREER_COMMITMENT_16(职业承诺问卷(16题))、GD_GRAD_TRANSITION_STRESS_20(毕业过渡压力问卷(20题))、GD_GRAD_EMPLOYABILITY_20(毕业就业能力问卷(20题))、GD_ACADEMIC_BURNOUT_18(学习倦怠风险问卷(18题))、GD_LEARNING_MOTIVATION_20(学习动机问卷(20题))、GD_SELF_ESTEEM_12(自我评价问卷(12题))、GD_RESILIENCE_12(心理韧性问卷(12题))、GD_SOCIAL_SUPPORT_12(社会支持感知问卷(12题))、GD_PERCEIVED_STRESS_12(主观压力体验问卷(12题))、GD_EXAM_ANXIETY_20(考试焦虑体验问卷(20题))、GD_STATE_TENSION_12(即时紧张状态问卷(12题))、GD_ACHIEVEMENT_GOAL_15(学业目标取向问卷(15题))、GD_STUDY_EFFICACY_15(学习效能问卷(15题))、GD_MOOD_RISK_SCREEN_12(情绪风险筛查问卷(12题)) |
| pageSize | integer | 否 | 每页数量,默认 20,最大 100 |
| pageToken | integer | 否 | 页码,默认 1 |

#### 请求示例

```json
{
  "filter": "userId=\"doc_example_user\"",
  "pageSize": 20,
  "pageToken": 1
}
```

#### 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 当前请求的核心参数摘要 |
| DataStatus.StatusCode | integer | 接口返回状态码,100 为成功 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口响应时间 |
| DataStatus.DataTotalCount | integer | 本次返回的数据条数 |
| Data | array | 历史测试记录列表 |
| Data[].TestId | string | 测试记录 ID |
| Data[].QuestionnaireCode | string | 问卷编码 |
| Data[].QuestionnaireName | string | 问卷名称 |
| Data[].TotalScore | integer | 总分 |
| Data[].ResultType | string | 结果类型或等级标签 |
| Data[].TestDateTime | string | 测试完成时间 |

#### 响应示例

```json
{
  "DataStatus": {
    "RequestParameter": "filter=userId=\"doc_example_user\"&pageToken=1&pageSize=20",
    "StatusCode": 100,
    "StatusDescription": "Request successful.",
    "ResponseDateTime": "2026-03-15 18:35:00.000",
    "DataTotalCount": 1
  },
  "Data": [
    {
      "TestId": "c8c1cc8db35340b796e5bf706bb434d2",
      "QuestionnaireCode": "GD_CAREER_INTEREST_24",
      "QuestionnaireName": "职业兴趣画像问卷(24题)",
      "TotalScore": 84,
      "ResultType": "较好",
      "TestDateTime": "2026-03-15 18:35:00"
    }
  ]
}
```

## 接口常见 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 | 参数错误 | 检查必填参数、问卷编码、答案格式(answers 必须为对象且包含全部题号) |
| 502 | 请求频率受限 | 网关/CDN 可能返回 429 或业务状态码 502 |
| 503 | 账号欠费或订单过期 | 请前往开发者中心检查订单有效期 |
| 504 | APPKEY 错误 | 请检查传递的 APPKEY 是否正确 |
| 900 | 服务器内部错误 | 请联系技术支持 |

## cURL 请求示例

```bash
curl --location --request GET 'https://api.gugudata.com/v1/psychology/questionnaires?appkey=APPKEY&keyword=&pageIndex=1&pageSize=20'
```

## 常见问题 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