🕓 تدوينة بتاريخ 2026-04-14، آخر تحديث 2026-05-09. تم نقل TS / Python / PHP SDK إلى السجلات العامة —
@astroway/sdk(npm)، وastroway(PyPI)، وastroway/sdk(Packagist). للمزيد من التفاصيل، راجع سجل التغييرات.
تريد حساب خريطة ميلادك من الكود؟ إليك أسرع طريقة — من الصفر إلى JSON يعمل في 5 دقائق.
الخطوة 1: احصل على مفتاح API (30 ثانية)
Section titled “الخطوة 1: احصل على مفتاح API (30 ثانية)”سجل حسابك على api.astroway.info/dashboard/sign-up. الخطة المجانية: 10,000 رصيد/شهر. بدون بطاقة.
في لوحة التحكم اضغط على «Create key» → «Production» → انسخ المفتاح. شكل المفاتيح يكون كالتالي: aw_live_aB3xY7pQ9rN2mK4jH8vC5tL6wZ1fD0eR.
تلميح: هناك أيضًا مفاتيح اختبار (sandbox) تبدأ بـ aw_test_ — لا تستهلك رصيدًا. استخدمها أثناء التطوير.
الخطوة 2: ثبّت SDK
Section titled “الخطوة 2: ثبّت SDK”TypeScript
Section titled “TypeScript”npm install @astroway/sdkPython
Section titled “Python”pip install astrowayيغطي كلا الـ SDK جميع نقاط نهاية 723 مع طلبات واستجابات مُنمطة.
الخطوة 3: أول خريطة ميلاد
Section titled “الخطوة 3: أول خريطة ميلاد”TypeScript
Section titled “TypeScript”import { Astroway } from '@astroway/sdk';
const client = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY!,});
const chart = await client.chart({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, // UTC+3، توقيت صيفي في كييف latitude: 50.4501, longitude: 30.5234, houseSystem: 'P', // Placidus});
console.log(`Sun: ${chart.planets[0].sign} at ${chart.planets[0].longitude}°`);console.log(`ASC: ${chart.houses.ascendant}°`);console.log(`Aspects: ${chart.aspects.length}`);شغّل:
ASTROWAY_API_KEY=aw_live_... npx tsx chart.tsPython
Section titled “Python”from astroway import Astroway
client = Astroway(api_key="aw_live_your_key_here")
chart = client.chart( date="1990-07-14", time="14:30:00", timezone_offset=3, latitude=50.4501, longitude=30.5234, house_system="P",)
print(f"Sun: {chart['planets'][0]['sign']} at {chart['planets'][0]['longitude']}°")print(f"ASC: {chart['houses']['ascendant']}°")print(f"Aspects: {len(chart['aspects'])}")شغّل:
ASTROWAY_API_KEY=aw_live_... python3 chart.pyماذا ترجع واجهة API
Section titled “ماذا ترجع واجهة API”ترجع واجهة API كائن JSON يحتوي على أربعة أجزاء رئيسية:
planets
Section titled “planets”مصفوفة تحتوي على 12 كائنًا (الشمس، القمر، عطارد، الزهرة، المريخ، المشتري، زحل، أورانوس، نبتون، بلوتو، العقدة الشمالية، كايرون):
{ "name": "Sun", "longitude": 111.87, // الطول الفلكي بالدرجات "latitude": 0.0, "speed": 0.955, // درجات في اليوم (سالب = retrograde) "sign": "cancer", "signIndex": 3, "house": 10, "retrograde": false}houses
Section titled “houses”قمم البيوت (12 بيتًا)، بالإضافة إلى ASC وMC:
{ "system": "P", "cusps": [12.34, 43.21, ...], // 12 قيمة "ascendant": 12.34, "mc": 280.12}aspects
Section titled “aspects”مصفوفة الجوانب بين الكواكب:
{ "planet1": "Sun", "planet2": "Moon", "type": "sextile", // conjunction, opposition, trine, square, sextile, quincunx "orb": 1.36, // الانحراف عن الدقة بالدرجات "applying": true}chartSect
Section titled “chartSect”"diurnal" (الشمس فوق الأفق عند الولادة) أو "nocturnal" (تحت الأفق). يُستخدم في علم التنجيم الكلاسيكي.
ماذا بعد؟
Section titled “ماذا بعد؟”ماذا تريد أن تجرب بعد ذلك:
السِّيناسترِي — توافق شخصين:
const synastry = await client.synastry({ chart1: { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 }, chart2: { date: '1992-03-22', time: '09:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 },});console.log(`Compatibility score: ${synastry.compatibility.score}/100`);العبور الحالي على خريطة الميلاد:
const transits = await client.transits({ // بيانات الميلاد date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234, // تاريخ العبور transitDate: '2026-04-14',});الأبراج اليومية مع عبورات حقيقية:
const horoscope = await client.horoscopeDaily({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});console.log(horoscope.text);خريطة التصميم البشري الكاملة:
const hd = await client.humanDesign({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});console.log(`${hd.type} — ${hd.strategy} — Profile ${hd.profile}`);التكلفة بالرصيد
Section titled “التكلفة بالرصيد”- خريطة الميلاد (
/chart): 20 رصيدًا - السِّيناسترِي: 50 رصيدًا
- العبورات: 50 رصيدًا
- الأبراج اليومية: 20 رصيدًا
- التصميم البشري: 50 رصيدًا
الخطة المجانية: 10,000 رصيد/شهر = 500 خريطة ميلاد، أو 200 سِيناسترِي، أو مزيج من الاستخدام.
معالجة الأخطاء
Section titled “معالجة الأخطاء”يحتوي كل رد على رؤوس تحتوي على الرصيد:
X-Credits-Used: 20X-Credits-Remaining: 4980X-Credits-Reset: 2026-05-01T00:00:00Zعندما ينفذ الرصيد، ستحصل على 402 Payment Required. عند تجاوز الحد (Free: 10 طلبات/دقيقة)، ستحصل على 429 Too Many Requests مع الرأس Retry-After.
يقوم الـ SDK بإلقاء أخطاء مُنمطة يمكنك التقاطها:
try { const chart = await client.chart({ ... });} catch (err) { if (err.code === 'credits_exhausted') { console.log('Upgrade plan or wait for reset'); } else if (err.code === 'rate_limit_exceeded') { console.log(`Retry in ${err.retryAfter} seconds`); }}وهذا كل شيء
Section titled “وهذا كل شيء”الآن لديك:
- مفتاح API يعمل
- SDK مثبت
- أول خريطة ميلاد
- أمثلة كافية لإضافة سِيناسترِي، عبورات، أبراج يومية
اقرأ المزيد:
- الدليل الكامل «من أين أبدأ» — تفاصيل أكثر
- مثال: خريطة ميلاد — شرح أعمق
- مرجع واجهة API — جميع نقاط نهاية 723
نفس Swiss Ephemeris الموجود في Solar Fire — في 4 أسطر من الكود.
مفتاح مجاني بدون بطاقة. 5000 استدعاء شهرياً حتى الدفعة الأولى.