星座配对返回字段全解:22 个返回字段的含义与实测取值

约 14 分钟 进阶星座配对配对指数返回字段字段全解
# 星座配对返回字段全解:22 个返回字段的含义与实测取值 接入点 872-2 · 免费服务 · POST / GET · 返回 JSON · 适用:已接入开发者、需要做结果页与分享图的工程师 · 阅读时间:约 7 分钟 · 最后实测核对:2026-09-18 ## 核心要点 - 星座配对接口(apiCode=872)的接入点 2 返回 22 个字段,分指数类、文案类、元信息类三组,全部为字符串。 - 八类指数里 `match` 带「分」字(`50分`)、`proportion` 是比重(`58:42`),其余六项是纯数字字符串。 - 各维度的满分基线文档没有给出,取值后又不能用 `match` 的数值直接当百分比。 ## 接口速览 | 项 | 值 | |---|---| | 接口地址 | `https://route.showapi.com/872-2?appKey={your_appKey}` | | 返回根 | `showapi_res_body`(22 个字段)+ `ret_code` | | 必填参数 | `star1`、`gender1`、`star2`、`gender2` | | 超时 | 读 5 秒 / 连接 5 秒 | | 免责口径 | 接口文档明确「数据结果仅供娱乐参考」 | ## 字段对照 ### 指数类(全部为字符串) | 字段 | 含义 | 2026-09-18 天蝎男 × 水瓶女实测值 | |---|---|---| | `match` | 综合配对指数 | `50分` | | `love` | 爱情配对指数 | `2` | | `married` | 婚姻配对指数 | `2` | | `forever` | 天长地久指数 | `2` | | `lqxy` | 两情相悦指数 | `5` | | `friendship` | 友情配对指数 | `2` | | `affection` | 亲情配对指数 | `3` | | `proportion` | 星座配对比重 | `58:42` | ### 文案类 | 字段 | 含义 | 实测样例 | |---|---|---| | `suggest` | 恋爱建议 | 一段星座相处建议 | | `match_case` | 配对示例 | 用一组公众人物的组合做类比 | | `predestination` | 缘分解析 | 一段缘分走向的叙述 | | `attention` | 注意事项 | 一段注意事项,内部分条 | | `review` | 星座速配点评 | `需要努力维持的一对` | | `info` | 其它建议 | 结构化的多条建议,含换行 | | `remark` | 提示信息 | `查询成功!` | ### 元信息类 | 字段 | 含义 | 实测值 | |---|---|---| | `star1` / `star2` | 两方星座英文码 | `tianxie`、`shuiping` | | `grxz1` / `grxz2` | 两方星座中文名 | `天蝎座`、`水瓶座` | | `gender1` / `gender2` | 两方性别 | `男`、`女` | | `ret_code` | 业务结果 | `0`(数字) | ## 返回示例(2026-09-18 真实返回,长文案已截断) ```json { "showapi_res_code": 0, "showapi_res_body": { "affection": "3", "attention": "瓶子崇尚精神自由,是个理想主义者,口才人缘都相当好……", "forever": "2", "gender1": "男", "gender2": "女", "grxz1": "天蝎座", "grxz2": "水瓶座", "info": "相处中需要注意的地方:……", "love": "2", "lqxy": "5", "married": "2", "match": "50分", "match_case": "你俩有如……属于刹那触电型。", "predestination": "凡事好奇,喜欢新鲜感的她会被你的深情的眼眸所打动……", "proportion": "58:42", "remark": "查询成功!", "ret_code": 0, "review": "需要努力维持的一对", "star1": "tianxie", "star2": "shuiping", "suggest": "蝎子和瓶子基本是两个世界的人……" } } ``` `info` 字段内部用换行分成「相处中需要注意的地方」「恋爱中的相处之道」「星座速配注意事项」「如何保持甜蜜关系」四段,前端渲染时按 `\n` 切段即可。`attention` 与 `suggest` 是一整段,不切。 ## 指数怎么用 `match` 自带单位,取值时先去掉: ```python import requests def match_score(star1, gender1, star2, gender2, appkey): data = requests.get( "https://route.showapi.com/872-2", params={"appKey": appkey, "star1": star1, "gender1": gender1, "star2": star2, "gender2": gender2}, timeout=5, ).json() if data.get("showapi_res_code") != 0: raise RuntimeError(data.get("showapi_res_error")) body = data["showapi_res_body"] if str(body.get("ret_code")) != "0": raise RuntimeError(body.get("remark")) # "50分" -> 50;"58:42" -> (58, 42) score = int(str(body["match"]).replace("分", "")) left, right = (int(x) for x in str(body["proportion"]).split(":")) return score, left, right, body print(match_score("tianxie", "1", "shuiping", "0", "YOUR_APPKEY")[:3]) ``` cURL: ```bash curl -G "https://route.showapi.com/872-2" \ --data-urlencode "appKey=YOUR_APPKEY" \ --data-urlencode "star1=tianxie" \ --data-urlencode "gender1=1" \ --data-urlencode "star2=shuiping" \ --data-urlencode "gender2=0" \ --max-time 5 ``` Node.js(fetch): ```javascript const url = new URL("https://route.showapi.com/872-2"); Object.entries({ appKey: "YOUR_APPKEY", star1: "tianxie", gender1: "1", star2: "shuiping", gender2: "0", }).forEach(([k, v]) => url.searchParams.set(k, v)); const data = await (await fetch(url, { signal: AbortSignal.timeout(5000) })).json(); const b = data.showapi_res_body; const toNum = v => parseInt(String(v).replace(/[^\d]/g, ""), 10); const dims = { 综合: toNum(b.match), 爱情: toNum(b.love), 婚姻: toNum(b.married), 天长地久: toNum(b.forever), 两情相悦: toNum(b.lqxy), 友情: toNum(b.friendship), 亲情: toNum(b.affection), }; const [left, right] = String(b.proportion).split(":").map(Number); console.log(dims, left, right, b.review); ``` ### 满分基线 接口文档没有给出 `love`、`married` 等维度的满分。2026-09-18 实测 `lqxy` 出现过 `5`,`match` 出现过 `50分` 与 `70分`,几个数值不同量纲。展示上建议用相对星级或相对条,不标注具体百分比。 `proportion` 是两个数值的比例,可以直接画成一条双方比重条。 ## 元信息字段的顺序 `gender1`、`gender2` 回显的是传入位置的性别(`1` 显示为「男」,其余显示为「女」)。`star1`、`star2` 的顺序与传入顺序不保证一致。 2026-09-18 实测:传入 `star1=baiyang`(`gender1=0`)、`star2=jinniu`(`gender2=1`),返回 `star1=jinniu`、`star2=baiyang`,而 `gender1` 仍是「女」。把 `grxz1` 与 `gender1` 绑成同一个人的展示元素会错位,按 `star1` / `star2` 单独取星座、按 `gender1` / `gender2` 单独取性别更稳。 同一对星座重复请求结果一致。2026-09-18 用同参数连调两次,返回体逐字节相同,适合按四个参数做缓存键。 ## 文案字段的展示 五段文案里 `review` 最短,适合做结果页标题;`suggest`、`predestination`、`attention`、`info` 都是长文,适合折叠或分页展示。分享图建议只放 `match`、`proportion` 和 `review` 三项,避免长文压缩后不可读。 配对结果与文案都是娱乐性质,接口文档明确标注「数据结果仅供娱乐参考」,结果页与分享图保留这句说明。 ## FAQ **Q1:`love=2` 代表几分,满分是多少?** 接口文档没有给出各维度的满分基线。实测 `lqxy` 出现过 `5`,`match` 出现过 `70分`,两者口径不同。展示上用星级或相对条,不标百分比。 **Q2:`proportion` 的 `58:42` 是什么?** 两方的配对比重,两个数的比例关系,可以直接画比重条。数值随星座组合变化。 **Q3:为什么返回的 `star1` 和我传的不一样?** 2026-09-18 实测接口会对 `star1` / `star2` 做内部排序,返回顺序与传入顺序可能不同,而 `gender1` / `gender2` 按传入位置回显。取星座看 `grxz1` / `grxz2`,取性别看 `gender1` / `gender2`,不要按位置拼成同一个人。 **Q4:所有文案字段都会返回吗?** 实测 22 个字段都有值,未出现空串。字段较多,渲染前仍建议逐个判空,避免模板改动后报错。 **Q5:`info` 是一整段吗?** 不是。`info` 内含换行,实测分成四段,按 `\n` 切段渲染。`attention` 与 `suggest` 各是一整段,不切。 ## 下一步阅读 - [星座配对:用四个必填参数算出配对指数](https://www.showapi.com/guides/constellation-match-quickstart-872) - [星座运势查询返回字段全解:五个周期的字段对照](https://www.showapi.com/guides/horoscope-response-fields-872) - [在星座社区与社交 App 里接入星座运势查询](https://www.showapi.com/guides/horoscope-community-app-872) - [星座类产品的三条内容线](https://www.showapi.com/guides/horoscope-product-plan-872) - **本系列共 13 篇**:查看[星座运势 API 指南总目录](https://www.showapi.com/guides/horoscope-guides-872)
加载中...