# تطبيقات المواعدة

الأبراج الفلكية هي محرك الاحتفاظ في تطبيقات المواعدة مثل Bumble، وHinge، وTinder، وTantan، وفي تطبيقات Astro-first مثل NUiT وStruck. توفر واجهة برمجة تطبيقات AstroWay درجة توافق السايناستري (0–100) من استدعاء واحد — بدون محرك إفراميريس خاص بك وبدون ترخيص Solar Fire ($495).

## كيف يعمل هذا؟

1. يدخل المستخدم تاريخ ووقت ومكان الميلاد عند التسجيل
2. عند المطابقة — يستدعي backendك `/v1/synastry` ببيانات كلا الشخصين
3. ترجع واجهة API `compatibility.score` (0–100) و`label` (harmonious/متوازن/mixed/مُعقّد)
4. تُستخدم الدرجة كواحد من عوامل ترتيب المطابقات

```
خوارزمية المطابقة
  ├── قرب الموقع         (40%)
  ├── الاهتمامات المشتركة  (30%)
  ├── التوافق الفلكي       (20%)  ← AstroWay API
  └── إشارات أخرى          (10%)
```

## النقاط النهائية الرئيسية

| نقطة النهاية | الاعتمادات | ما ترجعه |
|---|---|---|
| `/v1/synastry` | 50 | تقاطعات عبرية + درجة 0–100 |
| `/v1/human-design/compatibility` | 100 | توافق التصميم البشري (النوع + الاستراتيجية) |
| `/v1/horoscope/compatibility` | 50 | تحليل نصي للتوافق |

## نمط التكامل

```ts
// عند المطابقة — استدعِ السايناستري
async function getCompatibility(userA: UserProfile, userB: UserProfile) {
  const result = await astrowayClient.synastry({
    chart1: {
      date: userA.birthDate,
      time: userA.birthTime || '12:00:00', // noon default if unknown
      timezoneOffset: userA.tzOffset,
      latitude: userA.birthLat,
      longitude: userA.birthLng,
    },
    chart2: {
      date: userB.birthDate,
      time: userB.birthTime || '12:00:00',
      timezoneOffset: userB.tzOffset,
      latitude: userB.birthLat,
      longitude: userB.birthLng,
    },
  });

  return {
    score: result.compatibility.score,      // 0-100
    label: result.compatibility.label,      // "harmonious"
    harmony: result.compatibility.harmony,  // weighted sum
    tension: result.compatibility.tension,
  };
}
```

<Aside type="tip">
نتيجة السايناستري ثابتة (تعتمد فقط على تواريخ الميلاد). قم بتخزين الزوج `(userA_id, userB_id) → درجة` في قاعدة بياناتك. استدعاء واحد لواجهة API ولن تحتاج إلى إعادة الحساب مرة أخرى.
</Aside>

## تقدير الميزانية

### السيناريو: 1000 مطابقة جديدة يوميًا

| المقياس | القيمة |
|---|---|
| مطابقة/يوم | 1000 |
| اعتمادات/مطابقة | 50 (سايناستري) |
| اعتمادات/يوم | 50000 |
| اعتمادات/شهر | ~1500000 |
| السعر | **Business ($199/شهر، 3500000 اعتمادات)** |

### السيناريو: 50 مطابقة يوميًا (بداية)

| المقياس | القيمة |
|---|---|
| مطابقة/يوم | 50 |
| اعتمادات/يوم | 2500 |
| اعتمادات/شهر | ~75000 |
| السعر | **Starter ($19/شهر، 200000 اعتمادات)** |

### التحسين

- **التخزين المؤقت** — احفظ الدرجة في قاعدة البيانات، لا تعيد الحساب
- **المعالجة الكسولة** — احسب السايناستري فقط عندما يفتح المستخدم المطابقة، وليس لجميع الأزواج المحتملين
- **الحساب الدفعي عند التسجيل** — احسب التوافق مع أفضل 20 مطابقة محتملة على الفور

## بدون وقت الميلاد

إذا لم يعرف المستخدم الوقت — مرر `"time": "12:00:00"` (منتصف النهار). ستكون البيوت أقل دقة، لكن مواضع الكواكب والتقاطعات عبرية ستكون صحيحة. تبقى درجة التوافق مفيدة.

بالنسبة لتصميم الإنسان، الوقت أكثر أهمية — انظر إلى `hd/sensitivity` لتقييم تأثير الوقت غير الدقيق.

<CardGrid>
  <LinkCard title="API السايناستري →" href="/products/synastry-api/" description="تفاصيل حول نقاط نهاية التوافق" />
  <LinkCard title="البدء السريع" href="/getting-started/" description="أول طلب في 5 دقائق" />
  <LinkCard title="الأسعار" href="/pricing/" description="من مجاني إلى المؤسسة" />
</CardGrid>
