Přeskočit na obsah
AstroWay/api v2.325.0 · cs
všechny systémy jsou v pořádku

Formáty polí

Last updated Zobrazit jako Markdown Nastavení agenta

Model, který uhodne název pole, získá buď 400, nebo, co je horší, jistou odpověď o jiné kartě. Níže je přesná smlouva.

Tělo kartového požadavku

Sekce “Tělo kartového požadavku”
PoleTyp a formátPovinné
dateYYYY-MM-DD, a musí to být skutečný kalendářní denano
timeHH:mm:ssano, nebo timeUnknown: true
timezoneOffsetčíslo, hodiny od UTC, např. 5.75ne, výchozí 0 (UTC)
timezonenázev zóny IANA, např. Europe/Kyiv, nebo autone, a když je posláno, přepíše timezoneOffset
latitudedesetinné stupně, sever je kladnýano
longitudedesetinné stupně, východ je kladnýano
houseSystemjedna písmena, výchozí Pne
cityřetězec, jen popisekne
zodiacTypetropical nebo siderealne

Krátké zápisy jsou odmítány

Sekce “Krátké zápisy jsou odmítány”

lat, lon, lng, long, tz, tzOffset, utcOffset, gmtOffset, timeZone, time_zone vrací 400 INVALID_FIELD s názvem správného pole:

{ "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)." } }

Velikost písmen a oddělovače hodnot nejsou povoleny: TZ_Offset a tzoffset jsou odmítnuty stejně. Všechna nalezená pole jsou hlášena najednou, ne jen první, aby bylo možné opravit vše najednou.

Důvod je přísný: před touto kontrolou pole, které API nečetlo, tiše dávalo posun 0 a odpověď byla jistou kartou pro UTC. Tři hodiny posunu jsou zhruba 45° ascendentu, tedy jiný znak, který vychází, a žádné varování.

timezone: název zóny místo posunu

Sekce “timezone: název zóny místo posunu”

Posun musí být ten, který měly hodiny právě toho data, a ručně jej lze snadno zadat špatně: Kyjev v květnu 1990 žil podle moskevského letního času, UTC+4, místo +3. Pošlete timezone a server vezme posun z databáze časových pásem, včetně letního času.

{ "date": "1990-05-15", "time": "14:30:00", "timezone": "Europe/Kyiv",
"latitude": 50.45, "longitude": 30.52 }
  • auto určuje zónu podle latitude a longitude. Blízko hranice je název přesnější.
  • Pokud jsou timezone a timezoneOffset zaslány společně, platí timezone. input.timezoneOffset v odpovědi ukazuje posun, který byl použit.
  • Čas, který byl dvakrát (když se hodiny posunuly zpět), se bere podle prvního výskytu. Čas, který chyběl (když se posunuly dopředu), získá posun, který platil před posunem.
  • Bez time (pouze datum nebo timeUnknown: true) se zóna čte na místní poledne.
  • Odmítá se s 400 INVALID_FIELD: prázdná hodnota, zkratky jako EST nebo PST, posun zapsaný textem jako +03:00, názvy, které nejsou v databázi, a auto bez souřadnic. UTC a GMT jsou přijímány.
  • Každý objekt se zpracovává samostatně, takže chart1 a chart2 mohou být v různých zónách.

houseSystem: písmeno, ne název

Sekce “houseSystem: písmeno, ne název”

Přijímají se přesně těchto 25 jednopísmenných kódů (stejné jako ve swetest):

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

Velikost písmen je významná: I je Sunshine podle McRansky, i podle Trundle. Název systému ("Placidus", "Koch") vrací 400. Dříve fungoval náhodně, protože engine čte z řetězce jen první písmeno, a ze stejného důvodu "Zodiac" tiše dával Placidus.

Neznámý čas narození

Sekce “Neznámý čas narození”

Místo vymyšleného poledne pošlete timeUnknown: true a neposílejte time. Pak houses, houseAspects, chartSect a siderealTime přicházejí jako null, místo vymyšlených. Podrobnosti: Konvence API.

Neznámé klíče nejsou odmítány

Sekce “Neznámé klíče nejsou odmítány”

Tělo tiše přijímá nadbytečná pole: neznámý klíč je jednoduše ignorován. Proto chyba v názvu pole, který není v seznamu odmítnutí výše, se neoznámí. Odkazujte se na specifikaci: /v1/openapi.json.