接入性格测试 API 的关键是从答题开始就固定版本:完整版对应 93 题,简版对应 28 题;取题、保存答案和提交计算必须使用同一版本,并严格保持题目顺序与选项值一致。
完整版适合愿意投入更多时间、希望获得完整答题体验的场景,简版适合活动页、首次体验和移动端快速测试,但产品文案不应暗示题目越多就必然形成专业诊断。
极速数据性格测试 API 提供 MBTI 相关的 93 题完整版和 28 题简版。题目接口与答题接口都使用 version 参数:
full:完整版,93 题,也是文档标注的默认版本。simple:简版,28 题。版本选择应在创建答题会话时完成,并写入会话记录。用户开始答题后,不要因为页面刷新、灰度配置变化或默认值调整而自动切换版本。否则,前端显示的题目集合与后端计算时采用的版本可能不一致,可能触发“答案不足”,也可能造成答案与题目映射错误。
推荐的会话结构可以包含:
{
"sessionId": "YOUR_SESSION_ID",
"version": "full",
"questionOrder": ["QUESTION_ID_1", "QUESTION_ID_2"],
"answers": {},
"startedAt": "ISO_TIMESTAMP",
"submittedAt": null
}
这同样是业务侧结构,不代表官方接口的完整原始字段。保存题目顺序的目的,是确保用户恢复答题或提交答案时仍沿用最初取得的顺序。
题目接口应在服务端按指定版本获取,前端只接收完成必要映射后的题目数据,同时保留接口返回的题目顺序和选项值。
当前官方文档标注题目接口支持 GET 和 POST。下面使用 GET 演示取题:
GET https://api.jisuapi.com/character/questions
完整版请求示例:
curl --get "https://api.jisuapi.com/character/questions" \
--data-urlencode "appkey=YOUR_APPKEY" \
--data-urlencode "version=full"
简版只需将版本改为 simple:
curl --get "https://api.jisuapi.com/character/questions" \
--data-urlencode "appkey=YOUR_APPKEY" \
--data-urlencode "version=simple"
不要根据题目文字自行推导选项值,也不要在前端重新排序后只保存“第几个选项”。官方返回字段包括 id、number、type1 和 type2;业务侧应保存题目标识、原始顺序和实际选项值。若界面为了体验需要随机显示题目,提交前也必须恢复为取题响应对应的答案顺序。
题目数据可以按版本缓存,但缓存键必须包含 version。当官方题库可能更新时,新创建的会话可使用新缓存,已经开始的会话则应继续使用原题目快照或明确提示用户重新开始,不能把新旧题目混在同一次提交中。
答题接口要求把各题对应的选项值按顺序连接成字符串,并使用英文半角逗号分隔;提交前必须校验版本、数量、顺序和空答案。
当前官方文档也标注答题接口支持 GET 和 POST。下面使用 POST,避免把完整答案串放入 URL 和常见查询日志:
POST https://api.jisuapi.com/character/answer
请求结构示例:
curl -X POST "https://api.jisuapi.com/character/answer" \
--data-urlencode "appkey=YOUR_APPKEY" \
--data-urlencode "version=YOUR_VERSION" \
--data-urlencode "answer=YOUR_ANSWER_VALUES"
YOUR_ANSWER_VALUES 应由程序根据当前会话的题目顺序生成,而不是让用户手工输入。分隔符要使用 ASCII 半角逗号 ,,不要混入中文逗号、空格或题号。
提交前建议依次检查:
version 是否与取题时完全一致。为避免用户重复点击造成多次计算,可给提交操作增加幂等标识。第一次成功后保存结果快照,再次提交相同会话时直接返回已保存结果;若用户要修改答案,则创建新一次测试或明确进入重新作答流程。
结果页可以展示性格类型、类型名称、简介、特征以及适合的职业方向等内容,但应把它定位为自我探索参考,而不是医学诊断、心理治疗结论或录用淘汰依据。
官方文档显示,答题结果包含性格类型,以及相关名称、介绍、性格特征和职业方向信息。业务侧可以把接口结果映射为卡片、报告或分享页,但不应擅自把描述扩展成“绝对适合某职业”“一定不适合某岗位”等确定性判断。
建议在结果页明确三个边界:
如果结果用于分享,默认不要把完整答案、会话标识或其他个人信息放入公开链接。分享页可只呈现用户主动选择公开的类型与摘要,并允许用户撤销。
中断恢复应依赖服务端会话或本地加密存储,恢复时必须同时还原版本、题目快照、顺序和已选答案。
仅保存“已答到第 15 题”是不够的,因为题库缓存更新或显示顺序变化后,第 15 题可能不再是原来的题目。更完整的恢复数据应包含题目标识和对应选项值,并在恢复时验证题目快照是否仍完整。
对于未登录用户,可以使用短期会话令牌,并设置合理有效期;对于登录用户,可以把答题进度与账号关联,但仍要提供删除记录的能力。性格测试答案可能反映用户自我认知,日志和分析系统不应采集不必要的完整答案内容。
“答案不足”应引导用户返回未完成题目,“没有信息”应作为可识别的业务状态;鉴权或系统异常则交给统一接口层处理。
官方文档列出的业务错误包括:
201:答案不足。检查是否漏题、版本错误、顺序丢失或答案字符串拼接失败。210:没有信息。停止无意义的自动重试,记录请求上下文并给用户可理解的提示。101 至 108:涉及 APPKEY 为空或过期、数据权限、调用次数或 IP 限制、接口维护与停用等通用状态,由服务端统一转换和告警。程序不应在收到 201 后自动补默认答案,因为这会改变用户真实选择。更合适的方式是定位未完成题目,让用户确认后再次提交。临时网络异常可以有限重试,但要配合幂等机制,避免一次点击生成多份结果。
APPKEY 必须由服务端持有,答题答案也应按最小必要原则存储,不要把密钥或完整答案暴露在浏览器日志、公开链接和监控查询参数中。
推荐调用链路为:客户端从自有后端创建会话并取题,答题完成后把选项值提交到自有后端,再由后端请求极速数据接口。这样既能保护 APPKEY,也便于做版本锁定、答案校验、频率限制、幂等和隐私控制。
上线前还应准备删除机制和保留周期。若业务只需要即时展示结果,可以在计算完成后删除逐题答案,仅保存用户明确同意保留的结果摘要;如果确需保存完整答案,应说明用途、期限和访问范围。
full 或 simple,取题和提交使用同一版本。截至 2026 年 8 月 14 日,版本定义、请求参数和错误码可在极速数据性格测试 API 官方文档核对。正式接入前,应再次以当前文档和联调响应为准。


© 2015-2025 杭州极速互联科技有限公司 版权所有 浙ICP备17047587号-4 浙公网安备33010502005096 增值电信业务经营许可证:浙B2-20190875