# الرابط العميق لأقسام الصفحة الرئيسية: `kapitano://section/<slug>` — تسليم لمبرمج التطبيق

> **الحالة (2026-10-30):** جهة السيرفر جاهزة. الروابط **مطفية من جهة الموقع** لحتى تنزل نسختك على المتاجر، وبعدها منشغّلها نحنا (التفاصيل بالفقرة 4).

---

## 1. شو بدنا؟

كل قسم منتجات بالصفحة الرئيسية (صفقة اليوم، التريندات، أي قسم بيعمله الأدمن...) إله صفحة "عرض الكل" على الموقع بعنوان ثابت:

```
https://kapitano.shop/section/<slug>
```

مثلاً `https://kapitano.shop/section/trending`. هاد الرابط اللي بينحط بالحملات وإعلانات فيسبوك وإنستغرام والرسائل.

**بدنا هالرابط يفتح شاشة "عرض الكل" تبع القسم جوّا التطبيق، مش الموقع.**

الرابط بالتطبيق متل باقي الروابط العميقة: `kapitano://` + مسار الموقع بلا أول `/`:

```
kapitano://section/<slug>
```

---

## 2. المطلوب منك

1. **شاشة جديدة** بتفتح على:
   - `kapitano://section/<slug>`
   - `https://kapitano.shop/section/<slug>` (من الـUniversal Links على iOS والـApp Links على أندرويد)
2. الشاشة بتجيب المنتجات من:
   ```
   GET api/v2/home-sections/<slug>/products?page=1
   ```
   - نفس الهيدرز العادية (`System-Key` و`App-Language`)، وما في داعي لتسجيل دخول.
   - الـ`slug` هو آخر جزء من الرابط (`trending` بالمثال). رقم القسم كمان بيشتغل مكانه، يعني `home-sections/16/products` نفس الشي.
3. **أندرويد:** ضيف `/section/*` على الـmanifest (App Links)، وخلّي النسخة الجديدة تفتح `kapitano://section/...`.
4. **خبّرنا** لما تنزل النسخة على المتاجر (iOS وأندرويد).

---

## 3. الجواب

نفس جواب "عرض الكل" اللي بتعرفه (`products/featured`):
- `data`: كروت المنتجات، **20 بكل صفحة**، بنفس widget الكارت.
- `links` و`meta`: كمّل الصفحات طول ما `links.next` مش `null`.

ومعه حقل جديد اسمه `section`، حط `section.title` عنوان للشاشة:

```json
{
  "data": [ { "id": 1988, "name": "...", "main_price": "1,170 ل.س", "...": "..." } ],
  "links": { "next": "https://kapitano.shop/api/v2/home-sections/trending/products?page=2", "...": "..." },
  "meta": { "current_page": 1, "last_page": 3, "per_page": 20, "total": 48 },
  "section": {
    "id": 16,
    "slug": "trending",
    "title": "تريندات",
    "title_ar": "تريندات",
    "title_en": "Trending"
  },
  "success": true,
  "status": 200
}
```

- `title` بيجي بلغة هيدر `App-Language`.
- إذا رجع **404** (القسم مخفي أو محذوف أو الرابط غلط): اعرض "القسم غير موجود" مع زر للرئيسية، متل أي صفحة مش موجودة.

**ملاحظة:** أقسام الفئات والمتاجر والماركات **ما إلها رابط `section`**. "عرض الكل" فيها بيروح لـ `/categories` و`/sellers` و`/brands`، وهدول بيفتحوا بالتطبيق من قبل.

---

## 4. شو منعمل نحنا لما تنزل النسخة

ما منشغّل الروابط قبل ما تخبّرنا، لأنه لو شغّلناها هلق التطبيق القديم رح يفتح على "الصفحة غير موجودة". بس تنزل النسخة:

1. منشغّل الروابط من جهة الموقع (إعداد `APP_LINKS_SECTIONS`)، فبتصير صفحات `/section/...` تقول لفيسبوك وإنستغرام إنها بتفتح بالتطبيق.
2. منضيف `/section/*` على ملف `apple-app-site-association` على السيرفر، فبيصير iOS يفتح `https://kapitano.shop/section/...` بالتطبيق.
3. لما تفتح نسختك على أندرويد `kapitano://section/...`، منخلّي الموقع يبعتلها رابط التطبيق مباشرة.

---

## 5. للتجربة

قبل ما نشغّل الروابط، فيك تجرّب الشاشة لحالها:
- افتح `kapitano://section/trending` من جوّا الجهاز (من الـterminal أو من رابط برسالة لنفسك).
- جرّب رابط قسم غلط، متل `kapitano://section/no-such-section`، ولازم يطلع "القسم غير موجود".
- جرّب قسم فيه أكتر من 20 منتج، ولازم تمشي الصفحات.

الـ API (`home-sections/<slug>/products`) بيشتغل على `kapitano.shop` بعد ما ننشر التحديث على السيرفر، ومنخبّرك وقتها.
