フィールド形式
フィールド名を推測するモデルは、400 を受け取るか、さらに悪いことに別のチャートについて自信のある応答を返します。以下が正確な契約です。
チャートリクエストの本文
Section titled “チャートリクエストの本文”| フィールド | 型とフォーマット | 必須 |
|---|---|---|
date | YYYY-MM-DD、実在するカレンダーの日である必要があります | はい |
time | HH:mm:ss | はい、または timeUnknown: true |
timezoneOffset | 数値、UTC からの時間差(例: 5.75) | いいえ、デフォルトは 0 (UTC) |
timezone | IANA タイムゾーン名、例: Europe/Kyiv、または auto | いいえ、送信された場合は timezoneOffset を上書きします |
latitude | 十進法の度数、北が正 | はい |
longitude | 十進法の度数、東が正 | はい |
houseSystem | 1文字、デフォルトは P | いいえ |
city | 文字列、ラベルのみ | いいえ |
zodiacType | tropical または sidereal | いいえ |
短縮形は受け付けません
Section titled “短縮形は受け付けません”lat、lon、lng、long、tz、tzOffset、utcOffset、gmtOffset、timeZone、time_zone は正しいフィールド名を示す 400 INVALID_FIELD を返します:
{ "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)." } }大文字小文字と区切りは許容されません:TZ_Offset と tzoffset も同様に拒否されます。すべて の検出されたフィールドが一度に報告され、最初の1つだけでなく、一度に修正できるようになっています。
厳格な理由: このチェック以前に API が読んでいなかったフィールドは黙ってオフセット 0 を与え、UTC 用の自信のあるチャートが返されていました。3時間のオフセットは約 45° のアセンダントに相当し、別の上昇星座となり、警告は全く出ませんでした。
timezone: オフセットの代わりにタイムゾーン名
Section titled “timezone: オフセットの代わりにタイムゾーン名”オフセットは その日の 時計が示すものでなければなりませんが、手動で誤って指定しやすいです。例として、1990年5月のキエフはモスクワ夏時間で UTC+4 であり、+3 ではありません。timezone を送信すると、サーバーはタイムゾーンデータベースからオフセットと夏時間情報を取得します。
{ "date": "1990-05-15", "time": "14:30:00", "timezone": "Europe/Kyiv", "latitude": 50.45, "longitude": 30.52 }autoはlatitudeとlongitudeからタイムゾーンを決定します。境界付近では名前の方が正確です。timezoneとtimezoneOffsetが同時に送信された場合、timezoneが優先されます。レスポンスのinput.timezoneOffsetは使用されたオフセットを示します。- 時計が2回戻された(夏時間終了)場合、最初の時刻が使用されます。時計が進められた(夏時間開始)場合、その時刻は変更前のオフセットが適用されます。
timeがない場合(日付のみまたはtimeUnknown: true)、タイムゾーンは現地正午で読み取られます。400 INVALID_FIELDが返されます:空の値、ESTやPSTのような略称、テキストで記述されたオフセット(例:+03:00)、データベースに存在しない名前、座標なしのauto。UTCとGMTは受け入れられます。- 各オブジェクトは個別に処理されるため、
chart1とchart2は異なるタイムゾーンに設定できます。
houseSystem: 文字で、名前ではありません
Section titled “houseSystem: 文字で、名前ではありません”以下の 25 の Swiss Ephemeris コードのみが受け入れられます:
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
大文字小文字は重要です:I は MacRae の Sunshine、i は Trundle のものです。システム名("Placidus"、"Koch")は 400 を返します。以前はエンジンが文字列の最初の文字だけを読み取っていたため、偶然に動作し、同じ理由で "Zodiac" は黙って Placidus を返していました。
不明な出生時刻
Section titled “不明な出生時刻”架空の正午を送る代わりに timeUnknown: true を使用し、time は送信しないでください。そうすると houses、houseAspects、chartSect、siderealTime は null になり、架空の値は返されません。詳細は: API コンベンション。
不明なキーは拒否されません
Section titled “不明なキーは拒否されません”リクエストボディは余分なフィールドを黙って受け入れます:未知のキーは単に無視されます。そのため、上記の除外リストにないフィールド名の誤りは検出されません。仕様を確認してください:/v1/openapi.json。