# 盲派八字推理
> 来源页面: https://www.gugudata.com/api/details/bazi-fortune-teller
## 概览
- API 标识: `bazi-fortune-teller`
- 分类: 国学/娱乐
- 描述: 八字排盘与个人趋势解读
- 标签: 命理分析 / 八字运势 / 传统文化 / AI
- 短标签: AI / 八字命理 / 传统文化
- 详情页: https://www.gugudata.com/api/details/bazi-fortune-teller
- LLM Markdown: https://www.gugudata.com/api/details/bazi-fortune-teller/llm.md
- 数据预览: https://www.gugudata.com/preview/bazi-fortune-teller
- 购买开通: https://www.gugudata.com/order/bazi-fortune-teller
- 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/bazi-fortune-teller
- LLM Markdown: https://www.gugudata.com/api/details/bazi-fortune-teller/llm.md
- 数据预览: https://www.gugudata.com/preview/bazi-fortune-teller
- 购买开通页: https://www.gugudata.com/order/bazi-fortune-teller
- 开发者中心 APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders
## API 功能
- 支持结构化出生资料,也兼容 userinfo 自然语言输入,便于已有调用方式继续使用;
- 支持公历与农历出生日期,并提供农历闰月标记,适合按照不同历法整理个人资料;
- 返回标准化出生信息,便于用户核对日期、时间和历法后再阅读对应的文化解读;
- 提供公历与农历换算结果,可在个人报告中同时展示两种日期,减少手工整理步骤;
- 分别返回年柱、月柱、日柱和时柱,便于制作四柱排盘视图与完整的八字资料卡;
- 提供五行相关文化分析,适合将传统概念与个人排盘资料组织成分章节的阅读内容;
- 包含大运等传统命理维度的解读,便于文化研究者对照不同章节理解相关术语;
- 按学业事业、关系等生活主题组织解读,便于读者选择感兴趣的章节进行阅读;
- 支持同步返回与异步任务获取,长篇解读可以先提交任务,再在完成后展示全文;
- 支持流式呈现解读过程,适合需要逐步显示内容的传统文化问答与报告阅读页面;
- 默认最大 QPS:5,可在开发者中心自助升级,月付年付订单接口调用次数不限。
- [接口调用状态与状态监控](https://www.gugudata.com/status)
## API 文档
- 接口地址: `https://api.gugudata.com/ai/bazi-fortune-teller`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `POST`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/ai/bazi-fortune-teller?appkey=YOUR_APPKEY`
- 接口测试: https://api.gugudata.com/ai/bazi-fortune-teller/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 | 是 | YOUR_APPKEY | 购买本接口后获得的 APPKEY。推荐通过 Query 参数 appkey、请求头 X-GUGUDATA-APPKEY 或 X-API-Key 提供;JSON Body 中的 appkey 仅用于兼容已有接入。 |
| userinfo | string | 否 | N/A | 旧版自然语言兼容参数。必须同时写明性别、历法、出生日期和出生时间,例如:我是男性,我的公历出生日期是2016年11月23日,出生时间是18:00。与结构化参数同时提供时,以 gender、calendarType、birthDate、birthTime 等结构化参数为准。 |
| gender | string | 否 | N/A | 结构化调用时必填。性别,支持:男、女、male、female。 |
| calendarType | string | 否 | 公历 | 结构化调用时必填。birthDate 使用的历法,支持:公历、农历、solar、gregorian、lunar。 |
| birthDate | string | 否 | N/A | 结构化调用时必填。出生日期,严格使用 YYYY-MM-DD 格式,支持范围为 1901-01-01 至 2100-12-31;calendarType=农历时填写农历年月日。 |
| birthTime | string | 否 | N/A | 结构化调用时必填。出生时间,推荐使用 HH:mm 24 小时制,例如 18:00。支持丑时至亥时等传统时辰输入,并按该时辰的中间时刻标准化;子时跨越两个公历日期,必须改用 HH:mm 明确具体时间。 |
| birthPlace | string | 否 | N/A | 出生地点,用于文化解读背景。当前排盘统一按 Asia/Shanghai 时区和输入的北京时间计算,不根据经度进行真太阳时校正。 |
| isLeapMonth | boolean | 否 | false | 仅 calendarType=农历时有效。出生月份是否为闰月;公历输入必须为 false。 |
| streaming | boolean | 否 | false | 是否使用 SSE 流式响应。false 返回完整 JSON;true 先发送 type=content 的文本片段,最后发送 type=done,其中 result 为包含确定性排盘基础的完整结果。 |
| responseMode | string | 否 | sync | 响应模式,支持 sync、task。sync 在当前请求中返回结果;task 先返回 operationId,再调用任务状态查询接口轮询。responseMode=task 不能与 streaming=true 同时使用。 |
## 返回参数
| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.RequestParameter | string | 本次请求采用的标准化参数摘要,不包含完整 APPKEY。 |
| DataStatus.StatusCode | integer | 业务状态码。100 表示成功;101 表示参数错误;102 表示请求频率受限;104 表示 APPKEY 无效或未购买本接口。 |
| DataStatus.StatusDescription | string | 业务状态说明;参数错误时会指出缺少或格式不正确的字段。 |
| DataStatus.ResponseDateTime | string | 接口响应生成时间。 |
| DataStatus.DataTotalCount | integer | 当前返回的业务结果数量;同步成功时通常为 1。 |
| Data.排盘基础 | object | 由历法组件计算并固定返回的排盘依据,包含标准化输入、历法换算、四柱和八字。文化解读以此字段为准。 |
| Data.排盘基础.输入信息 | object | 标准化后的性别、历法、出生日期、出生时间、出生地点、闰月标识及时间标准化说明。 |
| Data.排盘基础.历法换算.公历时间 | string | 排盘实际采用的公历时间,格式为 YYYY-MM-DD HH:mm:ss;农历输入会先换算为此时间。 |
| Data.排盘基础.历法换算.农历日期 | string | 排盘实际对应的农历日期。 |
| Data.排盘基础.历法换算.时区 | string | 排盘使用的时区,固定为 Asia/Shanghai。 |
| Data.排盘基础.历法换算.日界规则 | string | 日期换日规则。23:00 至 23:59 仍属于输入的公历日期,次日 00:00 后进入下一日。 |
| Data.排盘基础.四柱 | object | 确定性计算得到的年柱、月柱、日柱、时柱。 |
| Data.八字 | string | 按年柱、月柱、日柱、时柱顺序拼接的八字结果,与 Data.排盘基础.四柱保持一致。 |
| Data.五行 | object | 基于排盘基础生成的五行属性、强弱及喜忌文化解读,具体子字段可能随命盘内容变化。 |
| Data.命宫 | string | 命宫相关文化解读。 |
| Data.身宫 | string | 身宫相关文化解读。 |
| Data.大运 | array | 分阶段的大运文化解读。每项通常包含起始年份、终止年份、干支或阶段主题,具体字段以实际返回为准。 |
| Data.运势分析 | object | 学业与事业、关系、财务、健康、体貌特征及关键阶段等维度的文化解读。 |
| Data.综合评价 | string | 基于排盘基础生成的综合文化解读。 |
| Data.免责声明 | string | 结果使用边界说明,仅供传统文化研究与娱乐参考。 |
| Data.operationId | string | 仅 responseMode=task 时返回,作为后续任务状态查询的唯一标识。 |
| Data.status | string | 仅任务模式返回,可能值为 PENDING、RUNNING、SUCCEEDED、FAILED、EXPIRED。 |
| Data.pollingUrl | string | 仅任务模式返回,用于轮询任务状态的相对路径。 |
| Data.expiresAt | string | 仅任务模式返回,任务结果的过期时间。 |
| Data.result | object | 任务状态为 SUCCEEDED 时返回的完整业务结果,字段结构与同步模式的 Data 相同。 |
| Data.error | object | 任务状态为 FAILED 时返回的业务侧失败信息。 |
| SSE.done.result | object | 仅 streaming=true 时,在最后一个 type=done 消息中返回的完整且已校验结果。 |
## 相关接口
### 任务状态查询
- 请求方式: `GET`
- 资源路径: `/ai/operations/{operation_id}?appkey=YOUR_APPKEY`
- 接口地址: `https://api.gugudata.com/ai/operations/{operation_id}?appkey=YOUR_APPKEY`
- 描述: 轮询异步任务状态,任务成功时在 Data.result 返回完整结果。
## 接口常见 HTTP 响应状态码
> 以下为接口调用中常见的 HTTP 传输层状态码,不等同于响应体内的业务状态码;完整状态码注册表以 IANA HTTP Status Code Registry 为准。
| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理;业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功,并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理,结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空,适用于无需返回数据的操作。 |
| 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 | 请求成功 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| 501 | 参数错误 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| 502 | 请求频率受限 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| 503 | 订单已到期 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| 504 | APPKEY 错误 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| 505 | 调用额度耗尽 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| -9 | 处理失败 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
| 901 | 文化解读暂不可用 | 请同时检查 HTTP 状态、业务码与异步任务状态;任务受理不代表完成。 |
## cURL 请求示例
```bash
curl --location --request POST 'https://api.gugudata.com/ai/bazi-fortune-teller?appkey=YOUR_APPKEY' \
--header 'Content-Type: application/json' \
--data '{
"gender": "女",
"calendarType": "公历",
"birthDate": "1992-06-15",
"birthTime": "09:20",
"birthPlace": "江苏苏州",
"isLeapMonth": false
}'
```
## 常见问题 Q&A
### Q: 如何完成第一次 API 调用?
A: 先确认当前接口的请求方法、必填参数和成功状态,再使用对应产品的 AppKey 发起请求;以实际响应中的业务状态判断结果。 [查看接入指南](https://www.gugudata.com/developers/getting-started)
### Q: 如何保证请求时 AppKey 的安全性?
A: 在开发者中心的 APP KEY 管理页面复制对应产品的 AppKey,并保存在服务端环境变量或密钥管理服务中。不要写入网页、App 客户端、公开仓库或日志。
### Q: 接口可以用于哪些开发语言?
A: Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等支持 HTTP 请求的语言均可接入;也可以通过 OpenAPI、Postman 或 Apifox 查看和调试接口。
### Q: 请求失败或超时后可以重试吗?
A: 先区分 HTTP 状态与业务错误。参数、鉴权和权限错误应修正后再请求;超时并不表示服务端未执行,重试前需确认接口是否会重复计费或产生副作用。 [查看接入指南](https://www.gugudata.com/developers/errors-and-retries)
### Q: 接口的性能可以保证吗?
A: 实际响应时间受接口类型、参数和网络环境影响。请按当前套餐的 QPS 控制并发,生产接入前完成联调与容量评估。
## 服务协议以及服务免责声明
- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)
## 技术支持
- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7