Ga naar inhoud
AstroWay/api v2.296.1 · nl
alle systemen normaal

API voor Chinese metafysica

Last updated Openen als Markdown Agentinstellingen

53 endpoints in vier families: BaZi (18), de Chinese kalender en dierenriem (15), Zi Wei Dou Shu (14) en I Ching (6). De kalender is afgeleid uit de efemeriden, niet uit datumtabellen, dus hij werkt voor de jaren 2 tot en met 2899 en hangt er niet van af of iemand een naslagwerk heeft bijgewerkt.

FamilieEndpointsStatus
BaZi: pilaren en analyse18Volledig klassiek apparaat
Kalender, dierenriem, feng shui, Tong Shu15Afgeleid uit de efemeriden
Zi Wei Dou Shu14De plaatsing van de sterren wordt berekend, elf naslagwerken blijven naslagwerken
I Ching6Hexagrammen, muntworp, veranderende lijnen

Waarin dit verschilt van een gratis bibliotheek

Section titled “Waarin dit verschilt van een gratis bibliotheek”

Het eerlijke antwoord: heb je alleen de vier pilaren nodig, neem dan lunar-typescript. Die staat onder MIT, rekent in je eigen proces, offline, zonder frequentielimieten, en je hoeft er niet voor te betalen.

Het verschil begint waar de bibliotheek ophoudt.

WatBibliotheken onder MITAstroWay API
Vier pilaren, 藏干, 纳音, 十神jaja
神煞 met beide lezingen waar scholen uiteenlopenneeja
Interacties van takken 刑冲合害neeja
Kracht van de dagmeester in het kader 扶抑neeja
Ware zonnetijd als aparte berekeningneeja
Vliegende sterren volgens zit en gevel, het Gua-getalneeja
Datumkeuze volgens Tong Shu met een filter op activiteitneeja
Eenentwintig talenneeja
Eén conventie voor PHP, JavaScript en Python tegelijkneeja

De laatste rij is precies waar meestal voor wordt betaald. Een team met een site in PHP, een app in JavaScript en crons in Python houdt anders drie implementaties van de jaargrens bij en krijgt vroeg of laat drie verschillende antwoorden op één geboortedatum.

Vier assen waarop calculators uiteenlopen, en geen daarvan is een fout. De meeste implementaties kiezen stilletjes; wij schrijven de keuze in de response en houden een conventiepagina bij met een run tegen een externe CC0-dataset.

AsOns antwoord
Jaargrens立春 Lichun, het exacte moment uit de efemeriden
Daggrens23:00, het vroege 子時 hoort bij de volgende dag
Ware zonnetijdstandaard uit, aan te zetten met een vlag
Zomertijdopgelost door de timezoneOffset die de client meestuurt
Terminal window
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}'

Live demo en code op GitHub, MIT.

Twee aanroepen, POST /v1/bazi/chart voor 20 credits en POST /v1/bazi/luck-pillars voor 10, geven de vier pilaren met verborgen stammen, nayin en twaalf stadia, de dagmeester met een krachtoordeel, de balans van de elementen, symbolische sterren, interacties van takken en de tienjarige cyclus Da Yun. De app tekent ze: het jaar rechts, zoals in de klassieke notatie, de kolom van de dag gemarkeerd. De backend is één route zonder afhankelijkheden, want daar draait het om: de browser kan de API niet rechtstreeks aanroepen, dus de sleutel leeft op de server.

Terminal window
git clone https://github.com/astroway/starter-bazi
cd starter-bazi && npm install
cp .env.example .env # your key goes here
npm run dev

Drie dingen om eruit mee te nemen. Stuur een zonenaam, geen verschuiving: Asia/Shanghai op 1990-05-15 is UTC+9, omdat China van 1986 tot 1991 zomertijd aanhield. Stuur een taal mee: de standaard is Oekraïens, en een Engelse pagina zonder die parameter krijgt de namen van de elementen in de verkeerde taal. Stuur het geslacht mee: Da Yun loopt afhankelijk daarvan vooruit of achteruit, een neutrale waarde bestaat niet.

Dieren, elementen, yin en yang, paleizen en de twaalf stadia zijn vertaald in 21 talen. Voeg ?lang=es toe en naast het Engelse token verschijnt een veld *Name. De Engelse velden veranderen nooit: lokalisatie voegt toe, ze vervangt niet.

Stammen, takken, sternamen en 纳音 worden bewust niet vertaald: hun internationale naam is de pinyin naast het karakter.