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

البداية السريعة

خمس دقائق من التسجيل إلى خريطة ولادية كاملة بصيغة JSON. تغطي تثبيت الـ SDK، وأول طلب، وترويسات الاستجابة، والمصادقة، ومعالجة الأخطاء.

  1. ادخل إلى لوحة التحكم واضغط Generate key. الخطة المجانية تمنح 10 000 رصيد شهريًا إلى الأبد، دون إدخال بطاقة. تبدأ المفاتيح بـ:

    • aw_live_*: الإنتاج، رسوم حقيقية
    • aw_test_*: sandbox، بلا خصم أرصدة، استجابة حتمية
  2. الـ API هو REST + JSON عادي، فالـ SDK ليس إلزاميًا. لكن الثلاثة منشورة بالفعل: TypeScript (@astroway/sdk)، وPython (astroway)، وPHP (astroway/sdk)، إضافة إلى خادم MCP (@astroway/mcp) لوكلاء الذكاء الاصطناعي.

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. حساب الخريطة الولادية لـ 24 أغسطس 1991، 16:30 EEST، كييف:

    first-request.sh
    curl -X POST https://api.astroway.info/v1/chart \
    -H "X-Api-Key: $AW_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "date": "1991-08-24",
    "time": "16:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234,
    "houseSystem": "P"
    }'

    timezoneOffset هو الإزاحة التي كانت عليها الساعات في ذلك التاريخ، بالساعات. إذا لم تكن تعرفها، فأرسل بدلًا منها "timezone": "Europe/Kyiv" أو "timezone": "auto" لأخذ المنطقة من الإحداثيات، وسيحسب الخادم الإزاحة بنفسه، مع التوقيت الصيفي: صيغ الحقول.

  4. كل استجابة هي JSON فيه الكواكب والبيوت والجوانب وكتلة meta (cache hit، credits، engine version).

    response.json
    {
    "ok": true,
    "data": {
    "julianDay": 2448493.0625,
    "planets": [
    { "id": 0, "name": "Sun", "longitude": 150.894819, "latitude": 0.00019, "isRetrograde": false, "declination": 11.15726 },
    { "id": 1, "name": "Moon", "longitude": 321.634655, "latitude": 2.834053, "isRetrograde": false, "declination": -11.609723 }
    ],
    "houses": {
    "system": "P",
    "cusps": [264.384681, 306.997683, 353.867426],
    "ascendant": 264.384681,
    "mc": 207.315669
    },
    "aspects": [
    {
    "planet1": "Sun",
    "planet2": "Moon",
    "type": { "name": "Opposition", "angle": 180, "isMajor": true },
    "exactAngle": 170.739837,
    "orb": 9.260163,
    "isApplying": true
    }
    ],
    "chartSect": "diurnal",
    "meta": { "engineVersion": "2.10.03", "calculatedAt": "2026-08-22T20:53:31.431Z" }
    }
    }
  5. تعرض لوحة التحكم الاستخدام في الوقت الفعلي: api.astroway.info/dashboard. أو عبر الـ API:

    Terminal window
    curl https://api.astroway.info/v1/keys/usage \
    -H "X-Api-Key: $AW_KEY"

يصادق AstroWay API الطلبات عبر الترويسة X-Api-Key. رموز Bearer والمفاتيح في query-string غير مدعومة.

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
نوع المفتاحالبادئةالسلوك
Productionaw_live_*يخصم أرصدة حقيقية من الحساب
Sandboxaw_test_*استجابة وهمية حتمية، بلا رسوم
Restricted (Pro+)aw_live_* مع قيودمقيّد بنقاط نهاية / IP / RPS محددة

تُدوَّر المفاتيح دون توقف: يستمر المفتاح القديم في العمل 24 ساعة بعد إنشاء الجديد. التفاصيل: /authentication/.

تُعاد جميع الأخطاء بصيغة ok: false مع كائن error. الحقل error.code (UPPER_SNAKE_CASE) ثابت للسكربتات: بدّل عليه، لا على message.

error-response.json
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Invalid input: expected string, received undefined",
"details": [
{ "path": "date", "message": "Invalid input: expected string, received undefined" }
]
}
}

أكثر الرموز شيوعًا:

  • INVALID_INPUT (400): فشل التحقق عبر Zod؛ يحتوي details على مصفوفة { path, message }
  • INVALID_API_KEY (401): المفتاح غير موجود أو أُلغي
  • PLAN_UPGRADE_REQUIRED (402): يلزم خطة أعلى أو حزمة add-on
  • CREDITS_EXHAUSTED (429): استُنفدت ميزانية الأرصدة الشهرية
  • RATE_LIMIT (429): تجاوز الـ RPM؛ يُعاد مع الترويسة Retry-After: <sec>
  • internal_calc_error (500): خطأ في الـ ephemeris؛ إعادة محاولة تلقائية على جانب الـ SDK

القائمة الكاملة والدلالات: /errors/.

الخطةالحصة
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisecustom

التجاوز → 429 مع Retry-After (بالثواني). الـ SDK الرسمية تعيد المحاولة افتراضيًا مع exponential backoff. التفاصيل: /rate-limits-credits/.

هل كان مفيدًا؟
اقترح تعديلاً

آخر تحديث: