Formáty polí
Model, který hádá název pole, obdrží buď 400, nebo, což je horší, sebevědomou odpověď o jiné mapě. Níže je přesná smlouva.
Tělo požadavku na mapu
Sekce “Tělo požadavku na mapu”| 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 pokud je odesláno, nahrazuje timezoneOffset |
latitude | desetinné stupně, sever je kladný | ano |
longitude | desetinné stupně, východ je kladný | ano |
houseSystem | jedno písmeno, výchozí P | ne |
city | řetězec, pouze pro popis | ne |
zodiacType | tropical nebo sidereal | ne |
Krátké zápisy jsou odmítnuty
Sekce “Krátké zápisy jsou odmítnuty”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 nemají význam: TZ_Offset a tzoffset jsou odmítnuty stejně. Oznámena jsou všechna nalezená pole najednou, nikoli jen první, abys je mohl opravit najednou.
Důvod je přísný: před touto kontrolou pole, které API nečetlo, tiše dávalo posun 0, a odpověď byla sebevědomá mapa pro UTC. Tři hodiny posunu jsou přibližně 45° ascendentu, což znamená jiné stoupající znamení 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ý hodiny ukazovaly přesně v dané datum, a ručně je snadné ho zadat chybně: Kyjev v květnu 1990 žil podle moskevského letního času, UTC+4, nikoli +3. Odešli 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
timezoneatimezoneOffsetpřišly společně, platítimezone.input.timezoneOffsetv odpovědi ukazuje posun, který byl použit. - Čas, který nastal dvakrát (když se hodiny posouvaly zpět), se bere poprvé. Čas, který nenastal (když se hodiny posouvaly vpřed), obdrží posun, který platil před posunem.
- Bez
time(pouze datum nebotimeUnknown: true) se zóna čte pro místní poledne. - Odmítnuty jsou 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řijaty. - Každý objekt je analyzován 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ímáno je přesně těchto 25 kódů 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
Velikost písmen je významná: I je Sunshine podle Makranského, i podle Trindla. Název systému ("Placidus", "Koch") vrací 400. Dříve to fungovalo náhodně, protože engine čte z řetězce pouze 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 předávej timeUnknown: true a nepředávej time. Pak houses, houseAspects, chartSect a siderealTime přijdou jako null, nikoli vymyšlené. Podrobnosti: Konvence API.
Neznámé klíče nejsou odmítnuty
Sekce “Neznámé klíče nejsou odmítnuty”Tělo přijímá nadbytečná pole mlčky: neznámý klíč je jednoduše ignorován. Proto se chyba v názvu pole, která není v seznamu odmítnutí výše, neprojeví. Zkontroluj si specifikaci: /v1/openapi.json.