配对兼容分API文档(Synastry Score)
两张本命盘的相容度评分:双方七行星加上升点(8×8=64 对,缺出生地时自动降为 7×7=49 对)逐对匹配相位并计分,线性映射为 0-100 分与四档评价。
基本信息
| 参数 | 值 |
|---|---|
| Base URL | https://chart.12sign.top |
| 接口URL | /spc/synastry_score |
| 请求方式 | POST |
| Content-Type | application/json |
请求参数
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| person1.data | object | 是 | 第一人出生数据:{datetime, lat, lon, tz} |
| person2.data | object | 是 | 第二人出生数据,结构同上 |
相位与计分口径:合相 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}}
}
返回参数
| 字段 | 类型 | 说明 |
|---|---|---|
| score | integer | 兼容分 0-100 |
| band | string | challenging(<30)/ mixed(<50)/ harmonious(<70)/ very_harmonious(≥70) |
| raw_total | integer | 原始计分合计 |
| raw_min / raw_max | integer | 映射用理论最小/最大值 |
| pairs | integer | 参与计分的行星对数(64 或 49) |
| with_asc | boolean | 是否含上升点(双方都有出生地时为 true) |
| aspects[] | array | 全部命中相位:{p1, p2, aspect, orb, score} |
| strengths[] / challenges[] | array | 正向 / 负向相位明细(结构与 aspects 相同) |
| person1 / person2 | object | {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):
返回结果:
点击"发送请求"后在此显示结果