紫微斗数排盘API文档(ziwei2)
接口说明
本接口用于紫微斗数排盘:根据出生日期时间、性别与地点,计算八字四柱、十二宫(命宫/身宫及各宫干支、主星、辅星、亮度、格局断语)、五行局、命主、身主、生年四化等信息;/ziwei/star 可查询十四主星资料;/ziwei/svg 返回命盘SVG图。首次调用因服务启动较慢(约3~10秒),后续调用正常,请将超时时间设置为15秒以上。
基本信息
| 参数 | 值 |
|---|---|
| Base URL(紫微服务) | https://chart.12sign.top/ziwei |
| 排盘数据接口 | /ziwei/chart |
| 命盘SVG接口 | /ziwei/svg |
| 主星资料接口 | /ziwei/star |
| 请求方式 | GET |
| 返回格式 | application/json(数据)/ image/svg+xml(命盘) |
请求参数
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| year | int | 是 | 出生年,如 1990 |
| month | int | 是 | 出生月,1-12 |
| day | int | 是 | 出生日,1-31 |
| hour | int | 是 | 出生时,0-23 |
| minute | int | 是 | 出生分,0-59 |
| gender | int | 是 | 性别:1男,0女 |
| lon | number | 是 | 出生地经度,东经为正 |
| lat | number | 是 | 出生地纬度,北纬为正 |
| tz | int | 是 | 出生地时区,如 8 表示UTC+8 |
| star | string | 否 | 仅 /star 接口:十四主星名,如"紫微"(紫微、天机、太阳、武曲、天同、廉贞、天府、太阴、贪狼、巨门、天相、天梁、七杀、破军) |
请求示例
# 紫微排盘(1990-01-01 12:00 男 北京)
GET https://chart.12sign.top/ziwei/chart?year=1990&month=1&day=1&hour=12&minute=0&gender=1&lon=116.4&lat=39.9&tz=8
# 获取命盘SVG
GET https://chart.12sign.top/ziwei/svg?year=1990&month=1&day=1&hour=12&minute=0&gender=1&lon=116.4&lat=39.9&tz=8
# 查询十四主星资料(如 紫微)
GET https://chart.12sign.top/ziwei/star?star=紫微
返回参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | object | 回显的出生日期与时间 |
| fourColumns | object | 八字干支:year/month/day/time四柱(含十神、卦等),及 tai胎元、ming命宫柱、shen身宫柱 |
| placement | array | 十二宫速览:palace宫名、ganzi宫干支、isLife/isBody命宫身宫标记、mainStars主星、assistStars辅星、starlight亮度、interpretations宫位断语 |
| patterns | array | 格局断语:name格局名、category类别、duanyi断语、source出处 |
| chart | object | 完整盘面:houses十二宫(各宫星曜明细)、wuxingJuText五行局、lifeMaster命主、bodyMaster身主、birthSihua生年四化、nongli农历、zidou子斗、doujun斗君等 |
返回示例
{
"params": { "date": "1990-1-1", "time": "12:0" },
"fourColumns": { "year": { "ganzi": "己巳", "stem": { "cell": "己", "element": "Earth", "relative": "伤", ... }, ... } },
"placement": [
{
"palace": "交友宫",
"ganzi": "丙子",
"isLife": false,
"isBody": false,
"mainStars": ["破军"],
"assistStars": ["天魁"],
"starlight": ["破军(庙)"],
"interpretations": []
},
...
],
"patterns": [
{
"name": "铃贪格",
"category": "武贵",
"duanyi": "铃星贪狼同宫,铃贪并守,主武职峥嵘、意外得财。",
"source": "紫微斗数全书",
"broken": false
}
],
"chart": {
"houses": [ { "name": "交友宫", "ganzi": "丙子", "phase": "墓", "starsMain": [...], "starsAssist": [...], ... }, ... ],
"wuxingJuText": "土五局",
"lifeMaster": "武曲",
"bodyMaster": "天机",
"birthSihua": { ... },
"nongli": { ... }
}
}
Python测试代码示例
import requests
BASE = "https://chart.12sign.top/ziwei"
def test_ziwei():
params = {
"year": 1990, "month": 1, "day": 1,
"hour": 12, "minute": 0, "gender": 1,
"lon": 116.4, "lat": 39.9, "tz": 8
}
# 1. 排盘数据(首次调用较慢约3~10秒,建议超时>=15秒)
r = requests.get(f"{BASE}/chart", params=params)
data = r.json()
print(f"五行局: {data['chart']['wuxingJuText']}")
print(f"命主: {data['chart']['lifeMaster']} 身主: {data['chart']['bodyMaster']}")
life = next(p for p in data['placement'] if p['isLife'])
print(f"命宫: {life['palace']} {life['ganzi']} 主星 {life['mainStars']}")
print(f"格局: {[p['name'] for p in data['patterns']]}")
# 2. 命宫主星资料
for st in life['mainStars']:
info = requests.get(f"{BASE}/star", params={"star": st}).json()
print(f"{st}: {info.get('palaces', {}).get('命宫', '')[:50]}...")
# 3. 命盘SVG
r = requests.get(f"{BASE}/svg", params=params)
with open("ziwei_chart.svg", "w", encoding="utf-8") as f:
f.write(r.text)
print("命盘SVG已保存: ziwei_chart.svg")
if __name__ == "__main__":
test_ziwei()
在线测试
请求地址:
https://chart.12sign.top/ziwei/chart
出生信息(JSON):
返回结果:
点击"发送请求"后在此显示结果(首次调用较慢,约需3~10秒)
紫微命盘:
命盘SVG将在请求成功后显示在这里