Formáty polí
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”| Pole | Typ a formát | Povinné |
|---|---|---|
date | YYYY-MM-DD, a musí to být skutečný kalendářní den | ano |
time | HH:mm:ss | ano, nebo timeUnknown: true |
timezoneOffset | číslo, hodiny od UTC, např. 5.75 | ne, výchozí 0 (UTC) |
timezone | název zóny IANA, např. Europe/Kyiv, nebo auto | ne, a když je posláno, přepíše timezoneOffset |
latitude | desetinné stupně, sever je kladný | ano |
longitude | desetinné stupně, východ je kladný | ano |
houseSystem | jedna písmena, výchozí P | ne |
city | řetězec, jen popisek | ne |
zodiacType | tropical nebo sidereal | ne |
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 }autourčuje zónu podlelatitudealongitude. Blízko hranice je název přesnější.- Pokud jsou
timezoneatimezoneOffsetzaslány společně, platítimezone.input.timezoneOffsetv 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 nebotimeUnknown: true) se zóna čte na místní poledne. - Odmítá se s
400 INVALID_FIELD: prázdná hodnota, zkratky jakoESTneboPST, posun zapsaný textem jako+03:00, názvy, které nejsou v databázi, aautobez souřadnic.UTCaGMTjsou přijímány. - Každý objekt se zpracovává samostatně, takže
chart1achart2mohou 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.