Lewati ke konten
AstroWay/api v2.190.0 · id
semua sistem normal

Format Bidang

Model yang menebak nama field akan menerima 400, atau yang lebih buruk, respons yakin tentang chart lain. Berikut kontrak yang tepat.

FieldTipe dan formatWajib
dateYYYY-MM-DD, dan ini harus menjadi hari kalender yang nyataya
timeHH:mm:ssya, atau timeUnknown: true
timezoneOffsetangka, jam dari UTC, contoh 5.75tidak, default 0 (UTC)
timezonenama zona IANA, contoh Europe/Kyiv, atau autotidak, dan bila dikirim, menggantikan timezoneOffset
latitudederajat desimal, utara positifya
longitudederajat desimal, timur positifya
houseSystemsatu huruf, default Ptidak
citystring, hanya labeltidak
zodiacTypetropical atau siderealtidak

lat, lon, lng, long, tz, tzOffset, utcOffset, gmtOffset, timeZone, time_zone mengembalikan 400 INVALID_FIELD dengan nama field yang benar:

{ "error": { "code": "INVALID_FIELD",
"message": "Unsupported field \"tz\". Rename it to \"timezoneOffset\" (numeric hours from UTC, e.g. 5.75; a zone name goes in timezone)." } }

Huruf besar/kecil dan pemisah nilai tidak diizinkan: TZ_Offset dan tzoffset ditolak juga. Semua field yang ditemukan dilaporkan sekaligus, bukan yang pertama, sehingga dapat diperbaiki sekaligus.

Alasannya keras: sebelum pemeriksaan ini, field yang tidak dibaca API secara diam-diam memberikan offset 0, dan respons menjadi chart yakin untuk UTC. Offset tiga jam kira-kira 45° ascendant, artinya tanda lain yang naik, tanpa peringatan apapun.

Offset harus menjadi yang dipakai jam pada tanggal itu, dan mudah salah menentukannya secara manual: Kyiv pada Mei 1990 menggunakan waktu musim panas Moskow, UTC+4, bukan +3. Kirim timezone, dan server akan mengambil offset dari basis zona waktu, termasuk daylight saving.

{ "date": "1990-05-15", "time": "14:30:00", "timezone": "Europe/Kyiv",
"latitude": 50.45, "longitude": 30.52 }
  • auto menentukan zona berdasarkan latitude dan longitude. Di dekat perbatasan nama lebih akurat.
  • Jika timezone dan timezoneOffset dikirim bersamaan, yang berlaku adalah timezone. input.timezoneOffset dalam respons menunjukkan offset yang digunakan.
  • Waktu yang berulang (ketika jam digulung mundur) diambil dari pertama kali. Waktu yang tidak ada (ketika jam digulung maju) mendapatkan offset yang berlaku sebelum perubahan.
  • Tanpa time (hanya tanggal atau timeUnknown: true) zona dibaca pada tengah hari setempat.
  • Ditolak dengan 400 INVALID_FIELD: nilai kosong, singkatan seperti EST atau PST, offset yang ditulis sebagai teks seperti +03:00, nama yang tidak ada di basis, dan auto tanpa koordinat. UTC dan GMT diterima.
  • Setiap objek diproses terpisah, sehingga chart1 dan chart2 dapat berada di zona yang berbeda.

Diterima tepat 25 kode Swiss Ephemeris berikut:

P K R C E W B M O A T V D F G H I i L N Q S U X Y

Huruf besar penting: I adalah Sunshine menurut McRansky, i menurut Trundle. Nama sistem ("Placidus", "Koch") mengembalikan 400. Sebelumnya berfungsi secara acak karena engine hanya membaca huruf pertama dari string, dan karena alasan yang sama "Zodiac" secara diam-diam memberikan Placidus.

Alih-alih menggunakan tengah hari fiktif, kirim timeUnknown: true dan jangan kirim time. Maka houses, houseAspects, chartSect, dan siderealTime akan menjadi null, bukan nilai fiktif. Detail: Konvensi API.

Badan menerima field tambahan secara diam-diam: kunci yang tidak dikenal hanya diabaikan. Jadi kesalahan pada nama field yang tidak ada dalam daftar penolakan di atas tidak akan terdeteksi. Lihat spesifikasi: /v1/openapi.json.

Bermanfaat?
Запропонувати правку

Terakhir diperbaharui: