تخطَّ إلى المحتوى
AstroWay/api v2.325.0 · ar
جميع الأنظمة تعمل بشكل طبيعي

تنسيقات الحقول

Last updated عرض بصيغة Markdown إعداد الوكيل

النموذج الذي يخمن اسم الحقل يحصل إما على 400 أو، ما هو أسوأ، استجابة مؤكدة ببطاقة أخرى. أدناه العقد الدقيق.

الحقلالنوع والتنسيقإلزامي
dateYYYY-MM-DD، ويجب أن يكون تاريخًا حقيقيًا في التقويمنعم
timeHH:mm:ssنعم، أو timeUnknown: true
timezoneOffsetعدد، ساعات من UTC، مثال 5.75لا، الافتراضي 0 (UTC)
timezoneاسم منطقة IANA، مثال Europe/Kyiv، أو autoلا، وعند الإرسال، يستبدل timezoneOffset
latitudeدرجات عشرية، الشمال موجبنعم
longitudeدرجات عشرية، الشرق موجبنعم
houseSystemحرف واحد، الافتراضي Pلا
cityنص، فقط التسميةلا
zodiacTypetropical أو siderealلا

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 تُرفض بنفس الطريقة. يتم الإبلاغ عن جميع الحقول المكتشفة مرة واحدة، وليس الأول فقط، حتى يمكن تصحيحها دفعة واحدة.

السبب صارم: قبل هذا الفحص، الحقل الذي لم يقرأه API كان صامتًا يعطي إزاحة 0، وكانت الاستجابة بطاقة مؤكدة لـ UTC. إزاحة ثلاث ساعات تعادل تقريبًا 45° من الصعود، أي علامة أخرى صاعدة، دون أي تحذير.

timezone: اسم المنطقة بدلًا من الإزاحة

Section titled “timezone: اسم المنطقة بدلًا من الإزاحة”

يجب أن تكون الإزاحة هي التي كانت على الساعات في ذلك التاريخ، ومن السهل إدخالها يدويًا بشكل خاطئ: كييف في مايو 1990 كانت تتبع التوقيت الصيفي لموسكو، 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 في الاستجابة يُظهر الإزاحة التي تم استخدامها.
  • الوقت الذي تكرر (عند إرجاع الساعات للخلف) يُؤخذ في المرة الأولى. الوقت الذي لم يحدث (عند تقديم الساعات للأمام) يحصل على الإزاحة التي كانت سارية قبل التغيير.
  • بدون time (فقط التاريخ أو timeUnknown: true) تُقرأ المنطقة عند الظهر المحلي.
  • تُرفض بـ 400 INVALID_FIELD: قيمة فارغة، اختصارات مثل EST أو PST، إزاحة مكتوبة كنص مثل +03:00، أسماء غير موجودة في القاعدة، و auto بدون إحداثيات. يُقبل UTC و GMT.
  • كل كائن يُعالج بشكل منفصل، لذا يمكن أن يكون chart1 و chart2 في مناطق مختلفة.

يُقبل بالضبط هذه الـ 25 رمزًا أحادي الحرف (نفس الرموز في 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

الحالة مهمة: I هو Sunshine حسب ماكرانسكي، i حسب ترايندلم. اسم النظام ("Placidus"، "Koch") يُعيد 400. سابقًا كان يعمل عشوائيًا لأن المحرك يقرأ من السلسلة الحرف الأول فقط، ومن نفس السبب "Zodiac" كان صامتًا يُعطي Placidus.

بدلاً من الظهر المفترض، أرسل timeUnknown: true ولا ترسل time. عندها تُعيد houses، houseAspects، chartSect و siderealTime قيمة null، وليس قيمًا مفترضة. التفاصيل: اتفاقيات API.

المفاتيح غير المعروفة لا تُرفض

Section titled “المفاتيح غير المعروفة لا تُرفض”

الجسم يتقبل الحقول الزائدة بصمت: المفتاح غير المعروف يُتجاهل ببساطة. لذلك الخطأ في اسم حقل غير موجود في قائمة الرفض أعلاه لن يُظهر نفسه. راجع المواصفات: /v1/openapi.json.