중국 형이상학 API
네 가지 계열에 걸친 엔드포인트 53개: BaZi (18), 중국 달력과 띠 (15), Zi Wei Dou Shu(자미두수) (14), I Ching(주역) (6). 달력은 날짜표가 아니라 천문력(ephemeris)에서 도출하므로 2년부터 2899년까지 동작하고, 누군가 참조표를 업데이트했는지에 좌우되지 않습니다.
포함 항목
섹션 제목: “포함 항목”| 계열 | 엔드포인트 | 상태 |
|---|---|---|
| BaZi: 기둥과 분석 | 18 | 완전한 고전 체계 |
| 달력, 띠, 풍수, 통서(通書) | 15 | 천문력에서 도출 |
| Zi Wei Dou Shu | 14 | 별 배치는 계산, 11개 참조 항목은 참조용으로 유지 |
| I Ching | 6 | 괘, 동전 던지기, 변효 |
무료 라이브러리와 무엇이 다른가
섹션 제목: “무료 라이브러리와 무엇이 다른가”솔직한 답: 네 기둥만 필요하다면 lunar-typescript를 쓰세요. MIT 라이선스이고, 여러분의 프로세스 안에서 오프라인으로, 호출 빈도 제한 없이 계산하며, 비용도 들지 않습니다.
차이는 라이브러리가 끝나는 지점에서 시작됩니다.
| 항목 | MIT 라이브러리 | AstroWay API |
|---|---|---|
| 네 기둥, 藏干, 纳音, 十神 | 예 | 예 |
| 학파가 갈리는 곳에서 두 해석을 모두 제공하는 神煞 | 아니요 | 예 |
| 지지 상호작용 刑冲合害 | 아니요 | 예 |
| 扶抑 틀에서의 일간 강약 | 아니요 | 예 |
| 별도 계산으로서의 진태양시 | 아니요 | 예 |
| 좌향(坐向)별 현공비성, 괘수(Gua) | 아니요 | 예 |
| 활동별 필터가 있는 통서 택일 | 아니요 | 예 |
| 21개 언어 | 아니요 | 예 |
| PHP, JavaScript, Python에 동시에 적용되는 하나의 관례 | 아니요 | 예 |
사람들이 보통 비용을 지불하는 이유는 마지막 줄입니다. 사이트는 PHP, 앱은 JavaScript, 크론은 Python인 팀은 그렇지 않으면 연도 경계 구현을 세 벌 유지하게 되고, 결국 같은 생년월일에 대해 세 가지 다른 답을 얻게 됩니다.
관례를 명시적으로 공개
섹션 제목: “관례를 명시적으로 공개”계산기마다 결과가 갈리는 축은 네 가지이고, 그중 어느 것도 오류가 아닙니다. 대부분의 구현은 조용히 선택하지만, 저희는 선택을 응답에 기록하고 외부 CC0 데이터셋으로 검증한 관례 페이지를 유지합니다.
| 축 | 저희의 답 |
|---|---|
| 연도 경계 | 立春 입춘, 천문력에서 구한 정확한 순간 |
| 하루 경계 | 23:00, 이른 子時는 다음 날에 속함 |
| 진태양시 | 기본값은 꺼짐, 플래그로 켬 |
| 서머타임 | 클라이언트가 보내는 timezoneOffset으로 결정 |
curl -X POST https://api.astroway.info/v1/bazi/chart \ -H "X-Api-Key: $ASTROWAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{"date":"1990-05-15","time":"14:30:00","timezoneOffset":3}'import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const r = await aw.client.POST('/bazi/chart', { body: { date: '1990-05-15', time: '14:30:00', timezoneOffset: 3 },});console.log(r.data?.data?.pillars.map((p) => p.pillar));// [ 'Geng-Wu', 'Xin-Si', 'Geng-Chen', 'Gui-Wei' ]import osfrom astroway import Astroway
aw = Astroway(api_key=os.environ["ASTROWAY_API_KEY"])
chart = aw.post("/bazi/chart", body={ "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3,})print([p["pillar"] for p in chart["pillars"]])# ['Geng-Wu', 'Xin-Si', 'Geng-Chen', 'Gui-Wei']클론해서 쓸 수 있는 완성된 앱
섹션 제목: “클론해서 쓸 수 있는 완성된 앱”두 번의 호출, 20 크레딧의 POST /v1/bazi/chart와 10 크레딧의 POST /v1/bazi/luck-pillars가 지장간, 납음, 12운성을 포함한 네 기둥, 강약 판정이 붙은 일간, 오행 균형, 신살, 지지 상호작용, 10년 주기 대운(大運)을 반환합니다. 앱은 이를 그려 줍니다: 고전 표기처럼 연주는 오른쪽에, 일주 칸은 따로 표시됩니다. 백엔드는 경로 하나이고 의존성은 없습니다. 핵심이 바로 거기에 있기 때문입니다: 브라우저는 API에 직접 요청할 수 없으므로 키는 서버에 둡니다.
git clone https://github.com/astroway/starter-bazicd starter-bazi && npm installcp .env.example .env # your key goes herenpm run dev여기서 가져갈 만한 세 가지. 오프셋이 아니라 시간대 이름을 보내세요: 1990-05-15의 Asia/Shanghai는 UTC+9입니다. 중국은 1986년부터 1991년까지 서머타임을 시행했기 때문입니다. 언어를 보내세요: 기본값은 우크라이나어라서, 언어를 지정하지 않은 영어 페이지는 오행 이름을 엉뚱한 언어로 받게 됩니다. 성별을 보내세요: 대운은 성별에 따라 순행 또는 역행하며, 중립값은 존재하지 않습니다.
띠 동물, 오행, 음양, 궁, 12운성은 21개 언어로 번역되어 있습니다. ?lang=es를 추가하면 영어 토큰 옆에 *Name 필드가 나타납니다. 영어 필드는 절대 바뀌지 않습니다: 현지화는 대체가 아니라 추가입니다.
천간, 지지, 별 이름, 纳音은 의도적으로 번역하지 않습니다: 이들의 국제적인 이름은 한자 옆에 병기하는 병음입니다.