الكتالوج
لا شيء هنا يتطلب حسابًا. ما يتطلب حق وصول هو التشغيل، لا التصفح أبدًا. لا تُقدَّم إلا المنتجات المنشورة والقابلة للبيع؛ والمنتج في حالة مسودة يرد بـ 404.
GET /catalogue — الرئيسية
Section titled “GET /catalogue — الرئيسية”المجالات النشطة مع مواضيعها الفرعية وعروضها المنشورة، والمنتجات المميزة.
{ "themes": [ { "id": 1, "slug": "leadership-personnel", "title_ar": "القيادة الشخصية", "subtitle_ar": null, "description_ar": "…", "color": "#14532d", "position": 1, "sub_themes": [ { "id": 1, "slug": "motivation-de-soi", "title_ar": "التحفيز الذاتي", "description_ar": null, "position": 1 } ], "products": [ { "id": 6, "slug": "parcours-leadership-personnel", "kind": "parcours", "title_ar": "…", "is_offer": true, "is_featured": true, "price": { "amount": 120000, "base": 120000, "promo_active": false, "promo_ends_at": null, "currency": "MAD", "label": "1 200 DH" }, "saving_percent": 20 } ] } ], "featured": [ … ]}GET /catalogue/themes و GET /catalogue/themes/{slug}
Section titled “GET /catalogue/themes و GET /catalogue/themes/{slug}”قائمة المجالات النشطة مع مواضيعها الفرعية؛ أو مجال واحد مع عروضه المنشورة إضافة إلى ذلك. المجال المخفي يرد بـ 404.
GET /catalogue/products/{slug} — بطاقة المنتج
Section titled “GET /catalogue/products/{slug} — بطاقة المنتج”البطاقة الكاملة، تحت المفتاح data:
| الحقل | المحتوى |
|---|---|
| الهوية والسعر | كما في القوائم، مع description_ar وpublished_at وtotal_duration_s |
cover |
الغلاف: url (رابط عام، null بدون صورة) وratio (portrait أو landscape) وaspect (2:3 أو 4:3) — يُستنتج الشكل من نوع المنتج حتى بدون صورة لحجز المساحة |
contents |
المقاطع مرتبة: id، position، title_ar، type، duration_s، preview، locked، stream_url |
children |
التركيب، مرتبًا |
prerequisites |
ما يجب أن يملكه المتعلم مسبقًا: { "rule": "certified", "product": { … } } |
upsell |
العروض التي تحتوي هذا المنتج، من الأرخص إلى الأغلى |
cross_sell |
الموضوع الفرعي نفسه، ثم المجال نفسه كبديل |
لا يظهر أي مفتاح تخزين. كل مقطع يحمل stream_url، وهو العنوان الذي يُستدعى للحصول على رابط موقّع لحظة التشغيل، وlocked، الذي يكون صحيحًا إذا كان المقطع يتطلب حق وصول.
{ "data": { "slug": "programme-motivation-de-soi", "kind": "programme", "title_ar": "برنامج «مفاتيح التحفيز الذاتي»", "price": { "amount": 30000, "label": "300 DH", "currency": "MAD", "promo_active": false }, "total_duration_s": 4620, "contents": [ { "id": 1, "position": 1, "title_ar": "الفهرس والتعريف بمحتوى البرنامج", "type": "audio", "duration_s": 180, "preview": true, "locked": false, "stream_url": "https://…/api/v1/contents/1/stream" }, { "id": 3, "position": 3, "title_ar": "مقدمة البرنامج", "type": "audio", "duration_s": 420, "preview": false, "locked": true, "stream_url": "https://…/api/v1/contents/3/stream" } ], "children": [], "prerequisites": [], "upsell": [ { "slug": "parcours-leadership-personnel", … }, { "slug": "pack-demarrage-leadership", … } ], "cross_sell": [ … ] }}