配对兼容分API文档(Synastry Score)

两张本命盘的相容度评分:双方七行星加上升点(8×8=64 对,缺出生地时自动降为 7×7=49 对)逐对匹配相位并计分,线性映射为 0-100 分与四档评价。

基本信息

参数值
Base URLhttps://chart.12sign.top
接口URL/spc/synastry_score
请求方式POST
Content-Typeapplication/json

请求参数

参数名类型必选说明
person1.dataobject是第一人出生数据:{datetime, lat, lon, tz}
person2.dataobject是第二人出生数据,结构同上

相位与计分口径:合相 8°(吉星参与 +2,否则 +1)、六合 6°(+2)、刑 8°(-2)、拱 8°(+3)、冲 8°(-1);吉星为金星/木星/太阳。同一行星对只取第一个命中的相位。

请求示例

{
    "person1": {"data": {"datetime": "1990-09-04 14:47:00", "lat": 22.5431, "lon": 114.0579, "tz": 8}},
    "person2": {"data": {"datetime": "1992-03-15 09:20:00", "lat": 31.23, "lon": 121.47, "tz": 8}}
}

返回参数

字段类型说明
scoreinteger兼容分 0-100
bandstringchallenging(<30)/ mixed(<50)/ harmonious(<70)/ very_harmonious(≥70)
raw_totalinteger原始计分合计
raw_min / raw_maxinteger映射用理论最小/最大值
pairsinteger参与计分的行星对数(64 或 49)
with_ascboolean是否含上升点(双方都有出生地时为 true)
aspects[]array全部命中相位:{p1, p2, aspect, orb, score}
strengths[] / challenges[]array正向 / 负向相位明细(结构与 aspects 相同)
person1 / person2object{asc(上升黄经), utc_input(回显输入时间)}

返回示例(节选)

{
    "success": true,
    "score": 41,
    "band": "mixed",
    "raw_total": 3,
    "raw_min": -128,
    "raw_max": 192,
    "pairs": 64,
    "with_asc": true,
    "aspects": [
        {"p1": "Sun", "p2": "Moon", "aspect": "trine", "orb": 2.31, "score": 3},
        ...
    ],
    "person1": {"asc": 277.9864, "utc_input": "1990-09-04 14:47"},
    "person2": {"asc": 88.1006, "utc_input": "1992-03-15 09:20"}
}

使用说明

  • 任一方缺少出生地(lat/lon 缺省)时该方无上升点,自动按 7×7=49 对计算,with_asc=false
  • orb 为与精确相位角的差值(度)

Python 调用示例

import requests

response = requests.post('https://chart.12sign.top/spc/synastry_score', json={
    "person1": {"data": {"datetime": "1990-09-04 14:47:00", "lat": 22.5431, "lon": 114.0579, "tz": 8}},
    "person2": {"data": {"datetime": "1992-03-15 09:20:00", "lat": 31.23, "lon": 121.47, "tz": 8}}
})
d = response.json()
print("兼容分:", d['score'], d['band'])
print("正向相位:", len(d['strengths']), "| 挑战相位:", len(d['challenges']))

在线测试

请求地址:
https://chart.12sign.top/spc/synastry_score
请求参数(JSON):
返回结果:
点击"发送请求"后在此显示结果