八字排盘API文档
/bazibenming 接口 (本命详盘)
本接口用于生成详细的八字本命盘。需要提供出生年月日时和性别等信息,接口会计算并返回包含八字、神煞、纳音、藏干、空亡、五行得分和旺衰等全方位信息的命盘数据。
基本信息
| 参数 |
值 |
| Base URL |
https://chart.12sign.top |
| 接口URL |
/benming |
| 请求方式 |
POST |
| Content-Type |
application/json |
请求参数
| 参数名 |
类型 |
必选 |
说明 |
| year |
number |
是 |
出生年份,如 1990 |
| month |
number |
是 |
出生月份,如 1 |
| day |
number |
是 |
出生日期,如 15 |
| hour |
number |
是 |
出生小时,24小时制,如 14 |
| gender |
string |
否 |
性别。'male' (男) 或 'female' (女)。默认为 'male' |
| calendar_type |
string |
否 |
日历类型。'solar' (阳历) 或 'lunar' (阴历)。默认为 'solar' |
请求示例
{
"year": 1990,
"month": 1,
"day": 15,
"hour": 12,
"gender": "male",
"calendar_type": "solar"
}
返回参数
返回一个包含详细八字信息的JSON对象,结构如下:
| 参数名 |
类型 |
说明 |
| input |
object |
用户输入的原始信息 |
| dates |
object |
转换后的阳历和阴历日期 |
| bazi |
object |
八字四柱信息 (年柱、月柱、日柱、时柱) |
| shensha |
object |
各柱对应的神煞 |
| cang_gan |
object |
地支藏干 |
| na_yin |
object |
各柱对应的纳音五行 |
| kong_wang |
object |
日柱和年柱的旬空(空亡) |
| di_shi |
object |
天干十二长生状态 |
| five_elements |
object |
五行得分和日主旺衰分析 |
返回示例
{
"bazi": {
"day": ["庚", "申"],
"hour": ["壬", "午"],
"month": ["丁", "丑"],
"year": ["己", "巳"]
},
"cang_gan": {
"day": ["戊", "庚", "壬"],
"hour": ["己", "丁"],
"month": ["癸", "辛", "己"],
"year": ["庚", "丙", "戊"]
},
"dates": {
"lunar": "一九八九年腊月十九",
"solar": "1990年01月15日 12时"
},
"di_shi": { "...": "..." },
"five_elements": {
"scores": {
"earth": 3.2,
"fire": 2.1,
"metal": 2.5,
"water": 1.8,
"wood": 0.4
},
"strength": {
"is_weak": false,
"score": 5.7
}
},
"input": {
"calendar_type": "阳历",
"date": "1990年01月15日 12时",
"gender": "男"
},
"kong_wang": {
"day_branch": ["子", "丑"],
"year_branch": ["戌", "亥"]
},
"na_yin": {
"day": "石榴木",
"hour": "杨柳木",
"month": "涧下水",
"year": "大林木"
},
"shensha": { "...": "..." }
}
/bazianalyze 接口 (基础分析)
本接口用于对八字进行基础分析,返回核心的分析结果。相比 /benming 接口,此接口可能提供一个更为精简或不同维度的分析摘要。
基本信息
| 参数 |
值 |
| Base URL |
https://chart.12sign.top |
| 接口URL |
/analyze |
| 请求方式 |
POST |
| Content-Type |
application/json |
请求参数
| 参数名 |
类型 |
必选 |
说明 |
| year |
number |
是 |
出生年份,如 1990 |
| month |
number |
是 |
出生月份,如 1 |
| day |
number |
是 |
出生日期,如 15 |
| hour |
number |
是 |
出生小时,24小时制,如 14 |
| gender |
string |
否 |
性别。'male' (男) 或 'female' (女)。默认为 'male' |
请求示例
{
"year": 1990,
"month": 1,
"day": 15,
"hour": 12,
"gender": "male"
}
返回示例
返回一个包含核心分析结果的JSON对象(此处为一个示例)。
{
"bazi": "己巳 丁丑 庚申 壬午",
"day_master": "庚金",
"five_elements_summary": {
"wood": "弱",
"fire": "中",
"earth": "强",
"metal": "强",
"water": "中"
},
"strength_analysis": "身旺",
"lucky_elements": ["木", "水"]
}
Python测试代码示例
import requests
import json
BASE_URL = "http://chart.12sign.top/bazianalyze"
def test_bazi_benming():
"""测试 /benming 接口"""
url = f"{BASE_URL}/benming"
payload = {
"year": 1990,
"month": 1,
"day": 15,
"hour": 12,
"gender": "male",
"calendar_type": "solar"
}
try:
print("正在测试 /benming 接口...")
response = requests.post(url, json=payload, headers={'Content-Type': 'application/json'})
print(f"响应状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
print("/benming 接口测试成功!")
# 打印部分关键信息
if 'bazi' in data and 'day' in data['bazi']:
day_master = data['bazi']['day'][0]
print(f"日主: {day_master}")
if 'five_elements' in data and 'strength' in data['five_elements']:
strength = "身弱" if data['five_elements']['strength']['is_weak'] else "身旺"
print(f"旺衰分析: {strength}")
# 保存完整结果到文件
with open('benming_result.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
print("详细结果已保存至 benming_result.json")
return data
else:
print(f"API请求失败: {response.status_code}")
print(f"错误信息: {response.text}")
return None
except Exception as e:
print(f"请求出错: {e}")
return None
def test_bazi_analyze():
"""测试 /analyze 接口"""
url = f"{BASE_URL}/analyze"
payload = {
"year": 1990,
"month": 1,
"day": 15,
"hour": 12,
"gender": "male"
}
try:
print("\n正在测试 /analyze 接口...")
response = requests.post(url, json=payload, headers={'Content-Type': 'application/json'})
print(f"响应状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
print("/analyze 接口测试成功!")
print("返回数据:")
print(json.dumps(data, ensure_ascii=False, indent=4))
return data
else:
print(f"API请求失败: {response.status_code}")
print(f"错误信息: {response.text}")
return None
except Exception as e:
print(f"请求出错: {e}")
return None
if __name__ == "__main__":
test_bazi_benming()
test_bazi_analyze()
注意事项
- 八字排盘是中华传统命理学的基础,结果的准确性高度依赖于输入信息的精确性。
- 请务必提供准确的出生年、月、日、时信息。出生时辰对时柱和部分神煞有决定性影响。
gender 参数会影响大运的顺逆排法,请正确选择。
calendar_type 参数支持阳历和阴历输入,后台会自动进行转换,请确保输入类型与实际日期一致。
- 所有数值类型的参数(year, month, day, hour)请确保传入的是数字,而非字符串。
- API已进行基本测试,但请在使用前根据您的业务场景进行充分验证。