Astrolojiye özgü tuzaklar
Üretilen kodun genellikle yanıldığı noktalarda API'nin gerçekte nasıl davrandığı. Aşağıdaki her madde bir üslup tercihi değil, sunucunun isteği nasıl işlediğidir.
İstekler
- Sondaki eğik çizgi zorunludur.
/api/astro/tithi/çalışır;/api/astro/tithiise 301 döndürür ve yönlendirmeyi izleyen istemci isteği gövdesiz bir GET olarak yeniden gönderir. - Aynı değerin alan adı endpoint'ten endpoint'e değişir. An neredeyse her yerde
date_time, ama/api/astro/chart/ve varga haritalarındadatetime. Saat farkı genellikletimezone_as_float, bazılarında isetimezone,tzya datime_zone. Ay düğümürahu,nodeya danode_typeolarak geçer ve varsayılanları farklıdır. Tek bir gövdeyi her yerde kullanmak yerine her gövdeyi o endpoint'in alan listesine göre kurun. - Boylam Greenwich'in batısında, enlem ekvatorun güneyinde negatiftir. New York
74.006değil,-74.006. - Enlem sınırları farklıdır: harita ve panchang endpoint'lerinin çoğu ±89.9'a kadar, Ashtamangala ve Jamakkol Prashna endpoint'leri ±66'ya kadar kabul eder. Endpoint'in aralığı dışındaki bir değer 400 ile reddedilir.
Yine de 200 döndüren hatalı girdiler
- Saat farkı olmayan bir
date_time, o yerin yerel saati olarak okunmaz: endpoint'lerin çoğu onu UTC+05:30, birkaçı UTC olarak alır. Yanıt normal bir 200'dür ama başka bir an içindir; bazen bir önceki gün için. Her zaman saat farkı ya da Z gönderin. timezone_as_float,date_timeiçindeki saat farkıyla karşılaştırılmaz. İkisi uyuşmazsa yanlış an için bir 200 alırsınız. Bugünün değil, o tarihte geçerli olan saat farkını (yaz saati dahil) kullanın;/api/astro/date_time/bunu koordinatlardan bulur.- Birkaç alan hata vermek yerine varsayılana döner:
/api/astro/chart/üzerindestartya daenddışındaki herascendant_posev başlangıcı anlamına gelir;/api/astro/festival/üzerindepoornimadışındaki hermoon_optionamavasgibi davranır. Buradaki bir yazım hatası, hata vermeden yanıtı değiştirir.
Anahtarlar
- Anahtar tablosu olan bir endpoint'te, tabloda olmayan bir anahtar isteğin tamamını 400 ile reddettirir ve mesaj tanınmayan anahtarları adıyla belirtir. Hiçbir şey hesaplanmaz ve ücret alınmaz.
- Anahtar adları birebir yazılmalıdır ve bazen şaşırtıcıdır:
/api/astro/panchanga/günün yogası içinyogam, ayrıcarahu_kaalamvecalcualte_special_tithi(yazımı böyle) kullanır. Tahmin etmek yerine anahtar tablosundan kopyalayın. - Ek alan gerektiren bir anahtar, o alan eksikse 400 ile başarısız olur. Örneğin
/api/astro/numerology/üzerindephone_numberdeğeri olmadan gönderilenphone_numberanahtarı. - Başarılı bir çağrı, kaç anahtar isterse istesin bir kredi tutar. Her anahtar için ayrı çağrı yapmak yerine ihtiyacınız olan her şeyi tek çağrıda isteyin:
tithi,vaara,yogamvekaranabirlikte. /api/astro/tithi/ve/api/astro/rahu-kaal/gibi tek amaçlı endpoint'lerin anahtar tablosu yoktur: her zaman aynı sabit seti döndürürler ve bunlara gönderilenkeysdizisi kullanılmaz./api/astro/numerology/üzerinde geçerli anahtarlarsystemdeğerine bağlıdır. Başka bir sistemin setinden gelen anahtar, adını belirten bir 400 döndürür.
Krediler, hatalar ve sınırlar
- Endpoint'lerin çoğu başarılı çağrı başına bir kredidir.
/api/astro/chat/,/api/astro/pdf/horoscope/ve/api/astro/pdf/yearbook/her biri 25 kredidir; bunları döngülerin ve yeniden denemelerin dışında tutun. - Başarısız çağrılar ücretsizdir: krediler hesaplamadan önce ayrılır ve 2xx dışındaki her yanıtta iade edilir; bu yanıtlar
X-Credits-Charged: 0taşır. - Ücretlendirilen yanıtlar
X-Credits-Cost,X-Credits-ChargedveX-Credits-Remainingbaşlıklarını, ayrıca dakikalıkX-RateLimit-LimitveX-RateLimit-Remainingbaşlıklarını taşır. Bakiyeyi kendiniz takip etmek yerine bunları okuyun. - Kredi bittiğinde
messagedeğeriinsufficient_creditsolan bir 402 döner;dataiçindecost_credits,credits_remainingverecharge_urlbulunur. Plan yükseltilene ya da kotası sıfırlanana kadar yeniden denemek işe yaramaz. - Dakikalık sınır aşıldığında
messagedeğeriapi_key_rate_limitedolan bir 429 ve birRetry-Afterbaşlığı döner (aynı değerdataiçinderetry_after_secondsolarak da bulunur). Yeniden denemeden önce o kadar bekleyin. - Hatalı biçimli, iptal edilmiş ya da süresi dolmuş bir anahtar 401
invalid_api_keydöndürür. Anahtarınızın kullanamayacağı bir yol, kapsam ya da IP adresi ise 403endpoint_not_allowed,scope_not_allowedya daip_not_alloweddöndürür. - Anahtar ve kredi kontrollerinden gelen hatalar
{ "error": "…", "message": "insufficient_credits", "is_error": true, "data": { … } }biçimindedir:messageiçindeki koda göre dallanın. Hesaplama yanıtları başarısızlıkta{ "data": {}, "status": 400, "is_error": true, "message": "…" }yapısını kullanır ve nedenimessageiçinde metin olarak verir. İkisi deis_errortaşır. - İki PDF endpoint'i JSON değil, PDF'nin kendisini (
application/pdf) döndürür. Gövdeyi bir dosyaya yazın; sonradan indirilecek bir bağlantı yoktur.
Astroloji
- Vedik endpoint'ler sidereal'dır ve ayanamsa düzeltmesini sunucuda yapar;
/api/astro/western/yolları varsayılan olarak tropikaldir. Çıktıdan kendiniz ayanamsa çıkarmayın. /api/astro/kp-chart/, sidereal zodyakta Placidus ev başlangıçlarını kullanır; bu yüzden aynı doğum için ev yerleşimleri/api/astro/chart/sonucundan farklı olabilir. Bu bir tutarsızlık değil, KP yönteminin kendisidir.- Rashifal, doğum haritası kullanmayan, burca dayalı bir öngörüdür: doğum verisi değil,
leogibi İngilizce bir burç adıylarashigönderin. seedgöndermediğiniz sürece tarot çekilişleri rastgeledir. Her yanıt kullandığı seed değerini döndürür; bir okumanın birebir yeniden gösterilmesi gerekiyorsa bu değeri saklayın./api/astro/numerology/iching/, bir tarihi ve bir adı sayısal olarak 64 heksagramdan birine eşler. Gerçek bir atış yapılmaz; bu yüzden değişen çizgi ve ikinci heksagram yoktur.