生肖运势查询:返回字段全解(day / month / tomorrow 三大对象差异与指数说明)
生肖运势查询返回字段API文档day_month_tomorrow # 生肖运势查询:返回字段全解(day / month / tomorrow 三大对象差异与指数说明)
> 元信息:生肖运势查询(接入点 1) · 免费 · POST / GET · JSON · 初级/中级开发者 · 阅读约 8 分钟
## 核心要点
- 业务数据全部在 `showapi_res_body` 内;`ret_code == 0` 表示成功,`remark` 是提示文案。
- **关键事实**:返回里 `day`(今日)、`month`(本月)、`tomorrow`(明日)三个嵌套对象**字段集合完全不同**,切勿当统一结构处理。
- 事业/财运/爱情用 `*_star` 指数表示(最高 5),今日额外含幸运色/方位/数字/饰物/贵人。
## Why:为什么必须先把字段搞清
很多开发者第一次接入时,照着"今日运势"的字段去取"明日/本月",结果拿到 `undefined`——因为三个对象的字段并不一致。本文把真实返回结构一次性列清,开发前对照即可避免取错字段、前端渲染报错的坑。
## What:返回结构速览
| 层级 | 字段 | 类型 | 说明 |
|------|------|------|------|
| 系统包裹 | `showapi_res_code` | int | API 系统状态码 |
| 系统包裹 | `showapi_res_error` | string | API 错误信息 |
| 系统包裹 | `showapi_res_id` | string | 本次请求唯一标识 |
| 业务体 | `showapi_res_body` | object | 业务数据均在此对象内 |
| 业务体 | `ret_code` | number | **0 成功,非 0 失败**(文档未枚举具体非 0 值) |
| 业务体 | `remark` | string | 提示信息,如"查询成功!" |
| 业务体 | `shenxiao` | string | 生肖全称,如"申猴" |
| 业务体 | `sx` | string | 属相拼音码,如"hou" |
| 业务体 | `day` | object | 今日运势(详见下表) |
| 业务体 | `tomorrow` | object | 明日运势(仅 `needTomorrow=1` 时返回) |
| 业务体 | `month` | object | 本月运势(仅 `needMonth=1` 时返回) |
> 计费相关:`showapi_res_body` 内还可能出现 `showapi_fee_code`(计费代码),免费接口通常为 0。
## How:三大对象字段差异(关键)
下面三张表是**经官方 OpenAPI 3.0 文档逐字段核对**的真实结构。注意它们字段数量与内容都不同。
### `day`(今日运势)
| 字段 | 类型 | 说明 |
|------|------|------|
| `time` | string | 日期,如 `20200204` |
| `love_txt` | string | 爱情运势 |
| `money_txt` | string | 财运运势 |
| `career_txt` | string | 事业运势 |
| `money_star` | number | 财运指数,最高 5 |
| `career_star` | number | 事业指数,最高 5 |
| `love_star` | number | 爱情指数,最高 5 |
| `lucky_color` | string | 幸运颜色 |
| `lucky_direction` | string | 开运方向 |
| `lucky_num` | string | 幸运位数 |
| `lucky_jewelry` | string | 开运饰物 |
| `lucky_noble` | string | 事业贵人 |
### `tomorrow`(明日运势)— 仅 7 个字段,无 lucky_*
| 字段 | 类型 | 说明 |
|------|------|------|
| `time` | string | 日期 |
| `love_txt` | string | 爱情运势 |
| `money_txt` | string | 财运运势 |
| `career_txt` | string | 事业运势 |
| `money_star` | number | 财运指数,最高 5 |
| `career_star` | number | 事业指数,最高 5 |
| `love_star` | number | 爱情指数,最高 5 |
> 注意:明日对象**没有** `lucky_color` / `lucky_direction` / `lucky_num` / `lucky_jewelry` / `lucky_noble`,也没有 `sx`。前端不要对明日渲染"幸运色"。
### `month`(本月运势)— 无 star 指数、无 lucky_*
| 字段 | 类型 | 说明 |
|------|------|------|
| `time` | string | 月份,如 `202002` |
| `love_txt` | string | 爱情运势 |
| `money_txt` | string | 财运运势 |
| `career_txt` | string | 事业运势 |
| `total_txt` | string | 整体运势 |
| `summary_txt` | string | 总运 |
| `advice_txt` | string | 建议忠告 |
| `health_txt` | string | 健康运势 |
> 注意:本月对象**没有** `*_star` 指数,也**没有**任何 `lucky_*` 开运信息;它多了 `total_txt`/`summary_txt`/`advice_txt`/`health_txt`。
## 返回示例与解析
```json
{
"showapi_res_body": {
"ret_code": 0,
"remark": "查询成功!",
"shenxiao": "申猴",
"day": {
"time": "20200204", "money_star": 3, "career_star": 4, "love_star": 2,
"lucky_color": "浅蓝色", "lucky_direction": "正东方向",
"lucky_num": "1", "lucky_jewelry": "蓝宝石", "lucky_noble": "属鼠的人",
"career_txt": "在工作中今天很有耐心", "money_txt": "今天的财运不错",
"love_txt": "在感情方面没有太多的变化,"
},
"tomorrow": {
"time": "20200205", "money_star": 3, "career_star": 2, "love_star": 1,
"career_txt": "工作上运势下降", "money_txt": "财运方面下降",
"love_txt": "今天的你容易在感情上受到打击"
},
"month": {
"time": "202002", "total_txt": "前5日行木火运,主运气呈上升势头",
"summary_txt": "小有机遇,尚须去争。", "advice_txt": "与其临渊羡鱼,不如退而织网!",
"health_txt": "身体健康", "career_txt": "本月事业上逢官印相生",
"money_txt": "本月逢官印相生", "love_txt": "本月生肖猴逢天喜星入命"
},
"sx": "hou"
}
}
```
(上例为同时开启 `needTomorrow=1` 与 `needMonth=1` 时的结构。`tomorrow`/`month` 默认不返回,需显式请求。)
## 进阶 / 边界
- **指数上限**:`*_star` 类字段"最高 5",即取值 1~5(文档未给最低值下限,按 1 起展示即可)。
- **`shenxiao` vs `sx`**:入参 `sx` 用拼音码(hou),出参 `shenxiao` 用"天干+生肖"全称(申猴),`day.sx` 回传拼音码,二者不是同一字段,展示时按需取用。
- **错误码**:文档只定义 `ret_code` 0 成功、非 0 失败,**未枚举**具体非 0 错误码,排查时以 `remark` 文案为准,不要臆造错误码对照表。
## FAQ
**Q1:为什么我取 day.lucky_color 有值,tomorrow.lucky_color 是 undefined?**
A:这是真实结构差异——`lucky_*` 开运信息仅存在于 `day` 对象,明日(tomorrow)对象不含这些字段。请按本文三张表分别取值,不要复用今日字段去取明日。
**Q2:本月运势为什么没有 star 指数?**
A:官方本月对象确实不含 `*_star` 指数字段,只有文案类字段(整体/总运/建议/健康等)。展示本月时不要渲染星级,用文案呈现即可。
**Q3:ret_code 非 0 时有哪些具体错误码?**
A:文档未枚举具体非 0 取值,仅说明"0 为成功,其他为失败"。实际排查看 `remark` 提示;多数情况下是 `sx` 参数问题。不要自行编造错误码表。
**Q4:showapi_fee_code 是什么?**
A:计费代码,出现在 `showapi_res_body` 内。本接口为免费服务,通常为 0;具体计费口径以官方档位说明为准。
**Q5:day.sx 和顶层 sx 重复吗?**
A:顶层 `sx` 与 `day.sx` 都回传拼音码(如 hou),属冗余回传,取其一即可;`shenxiao` 才是"申猴"这种可读全称。
## 相关能力 / 下一步阅读
- [生肖运势查询:5 分钟接入,从注册到第一条运势结果](https://www.showapi.com/guides/shengxiao-fortune-quickstart-2219)
- [生肖运势查询:如何同时拿到今日 / 明日 / 本月运势(needTomorrow / needMonth 开关)](https://www.showapi.com/guides/shengxiao-fortune-daily-monthly-2219)
- [生肖运势查询:用 HTML + JS 做一个生肖运势卡片 Demo(含指数与开运信息展示)](https://www.showapi.com/guides/shengxiao-fortune-web-demo-2219)
- **本系列共 9 篇**:查看[生肖运势查询指南总目录](https://www.showapi.com/guides/shengxiao-fortune-guides-2219)