Skip to main content

Courses

This guide explains how to interact with the Courses API in Sumaya369 mobile application.

List Courses

Endpoint

  • Method: GET
  • URL: /v1/mobile/courses

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes

Query Parameters

ParameterTypeDescriptionRequired
per_pageintegerNumber of courses per page (default: 10)No
categorystringFilter courses by category nameNo
search_textstringSearch in course name and descriptionNo
material_typesarrayFilter by material typesNo
body_typesarrayFilter by body typesNo
awareness_levelsarrayFilter by awareness levelsNo
has_reduced_pricebooleanFilter courses with reduced priceNo
is_purchasablebooleanFilter purchasable coursesNo
sortstringSort field (e.g., total_price)No

Success Response

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"current_page": 1,
"first_page_url": "http://127.0.0.1:8000/v1/mobile/courses?page=1",
"from": 1,
"last_page": 15,
"last_page_url": "http://127.0.0.1:8000/v1/mobile/courses?page=15",
"links": [
{
"url": null,
"label": "« السابق",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=1",
"label": "1",
"active": true
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=2",
"label": "2",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=3",
"label": "3",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=4",
"label": "4",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=5",
"label": "5",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=6",
"label": "6",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=7",
"label": "7",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=8",
"label": "8",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=9",
"label": "9",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=14",
"label": "14",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=15",
"label": "15",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/courses?page=2",
"label": "التالي »",
"active": false
}
],
"next_page_url": "http://127.0.0.1:8000/v1/mobile/courses?page=2",
"path": "http://127.0.0.1:8000/v1/mobile/courses",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 146,
"courses": [
{
"id": "8a620ad0-a5a2-11ee-8c63-07e9c26c60de",
"poster": "http://127.0.0.1:8000/storage/20786/مصادر-الثراء.png",
"name": "مصادر الثراء",
"videos_count": 8,
"hide_price": false,
"price": 333,
"does_has_vat": true,
"price_with_vat_show": 382.95,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "f73eeec0-b67a-11ec-bef4-fb6e9a28c01f",
"poster": "http://127.0.0.1:8000/storage/23150/العلاقات-الخطرة-موقع.png",
"name": "العلاقات الخطرة",
"videos_count": 16,
"hide_price": false,
"price": 290.44,
"does_has_vat": true,
"price_with_vat_show": 334.01,
"has_active_subscribed": true,
"pay_button_title": "مشترك",
"pay_button_status": true,
"favorite": null
},
{
"id": "16b38b60-0e91-11ee-bf6c-e7998f321459",
"poster": "http://127.0.0.1:8000/storage/23750/السيدة-VS-الجارية.png",
"name": "الجارية أو السيدة",
"videos_count": 12,
"hide_price": true,
"price": "hide_price",
"does_has_vat": true,
"price_with_vat_show": 564.01,
"has_active_subscribed": true,
"pay_button_title": "مشترك",
"pay_button_status": true,
"favorite": null
},
{
"id": "c0334a00-f610-11ec-9468-edc40d386ec9",
"poster": "http://127.0.0.1:8000/storage/22674/1--قانون-التجرد.png",
"name": "قانون التجرد",
"videos_count": 18,
"hide_price": true,
"price": "hide_price",
"does_has_vat": true,
"price_with_vat_show": 552,
"has_active_subscribed": true,
"pay_button_title": "مشترك",
"pay_button_status": true,
"favorite": null
},
{
"id": "eed201c0-b67a-11ec-b65b-7d2fd5d62143",
"poster": "http://127.0.0.1:8000/storage/28918/5--قانون-الجذب.jpg",
"name": "قانون الجذب",
"videos_count": 8,
"hide_price": false,
"price": 60,
"does_has_vat": true,
"price_with_vat_show": 69,
"has_active_subscribed": false,
"pay_button_title": "جدد اشتراكك",
"pay_button_status": true,
"favorite": null
},
{
"id": "b6017100-26a4-11ed-99aa-453de54199f1",
"poster": "http://127.0.0.1:8000/storage/24893/التأمل.png",
"name": "التأمل (103) - اليدين والرجلين",
"videos_count": 1,
"hide_price": true,
"price": "hide_price",
"does_has_vat": true,
"price_with_vat_show": 41,
"has_active_subscribed": false,
"pay_button_title": "جدد اشتراكك",
"pay_button_status": true,
"favorite": null
},
{
"id": "6b52aa00-8dc9-11ee-a210-1983c8a1e1af",
"poster": "http://127.0.0.1:8000/storage/19956/الشغف2.png",
"name": "الشغف",
"videos_count": 6,
"hide_price": true,
"price": "hide_price",
"does_has_vat": true,
"price_with_vat_show": 276,
"has_active_subscribed": false,
"pay_button_title": "أخبرني عند التوفر",
"pay_button_status": true,
"favorite": null
},
{
"id": "ef9b1d00-b67a-11ec-b5e0-ffb2af260487",
"poster": "http://127.0.0.1:8000/storage/28915/طاقة-الفوضى.jpg",
"name": "طاقة الفوضى",
"videos_count": 7,
"hide_price": false,
"price": 60,
"does_has_vat": true,
"price_with_vat_show": 69,
"has_active_subscribed": true,
"pay_button_title": "مشترك",
"pay_button_status": true,
"favorite": null
},
{
"id": "ad674230-282d-11ed-a628-9bcda960572f",
"poster": "http://127.0.0.1:8000/storage/24887/العظمة.png",
"name": "العظمة",
"videos_count": 1,
"hide_price": true,
"price": "hide_price",
"does_has_vat": true,
"price_with_vat_show": 449.01,
"has_active_subscribed": false,
"pay_button_title": "جدد اشتراكك",
"pay_button_status": true,
"favorite": null
},
{
"id": "e83bf120-44bf-11ee-baef-ad6392dd7e63",
"poster": "http://127.0.0.1:8000/storage/24890/التأمل.png",
"name": "التأمل (106) - الجلسة",
"videos_count": 1,
"hide_price": true,
"price": "hide_price",
"does_has_vat": true,
"price_with_vat_show": 41,
"has_active_subscribed": false,
"pay_button_title": "أخبرني عند التوفر",
"pay_button_status": true,
"favorite": null
}
]
},
"status_code": 200
}

Get Single Course

Endpoint

  • Method: GET
  • URL: /v1/mobile/courses/{id_or_slug}

The endpoint accepts either a course ID or a special slug identifier.

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenRequired for non-open-source courses and special id links

Path Parameters

ParameterTypeDescriptionRequired
id_or_slugstringCourse ID or special slug identifierYes

Success Response (Not Authenticated \ No Active Subscription)

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"id": "0838ded0-457c-11ee-af53-23d1c68af543",
"special_id": "0838ded0-457c-11ee-af53-23d1c68af543",
"poster": "http://127.0.0.1:8000/storage/24888/التأمل.png",
"name": "التأمل (108) - المودرا",
"old_price": "hide_price",
"course_description": "",
"subscription_status_date": "غير مشترك",
"videos_count": 1,
"price": "hide_price",
"does_has_vat": false,
"price_with_vat_show": "hide_price",
"tags": [
{
"id": "c60fa260-fb24-11ee-af71-350be8551fdb",
"name": "تطبيقات بسيطة",
"color": "#E697E6FF"
},
{
"id": "b0a914a0-fb24-11ee-a5d1-635be7334767",
"name": "للجسد الطاقي",
"color": "#91DADAFF"
},
{
"id": "e1c29880-fb45-11ee-bc1f-411ddde840e6",
"name": "مادة للتطوير",
"color": "#F7F7F7FF"
}
],
"can_rate": false,
"can_write_rate_comment": false,
"comments_count": 1,
"can_be_bought": null,
"rates_count": null,
"can_comment": true,
"is_purchasable": false,
"can_purchase": false,
"hide_price": true,
"has_active_subscribed": false,
"can_download_summary": false,
"can_download_certificate": false,
"summary": "",
"length": "19:42",
"duration": "730 يوم",
"is_instant_subscription": null,
"summary_name": "",
"certificate": "",
"certificate_price": 0,
"summary_price": 0,
"has_certificate": false,
"has_promotional": false,
"has_summary": false,
"rating_avg": 5,
"is_special_id": false,
"watched_videos_count": 0,
"model_type": "courses",
"product_description": "<p><strong>المحاور :</strong></p><ul><li> ما هي المودرا؟</li><li> علاقة الأصابع بالأجساد الخمسة</li><li> أسماء المودرا في الثقافات</li><li> النية والمودرا</li><li> كيف تختار المودرا؟</li></ul><p> </p><p><strong>لمن هذه المادة : </strong></p><p><strong>لمن لديه المعرفة بالتأمل والشاكرات&nbsp;.</strong></p><p><br></p><p>*هذه المادة مناسبة للحامل والمرضع.</p><p><br></p><hr><p><br></p><p><strong style=\"color: rgb(240, 102, 102);\">*</strong><strong>هذه المادة غير مرتبطة بأي مادة أخرى </strong></p><p class=\"ql-align-right\"><strong style=\"color: black;\">بشراءك أي منتج تفيد أنك قد قرأت ووافقت على </strong><a href=\"https://sumaya369.net/privacy-policy\" rel=\"noopener noreferrer\" target=\"_blank\"><strong>الشروط والأحكام</strong></a></p><p class=\"ql-align-right\"><strong>للمساعدة : </strong><a href=\"https://sumaya369.net/FAQ\" rel=\"noopener noreferrer\" target=\"_blank\"><strong>تواصل معنا</strong></a></p><p class=\"ql-align-right\"><br></p><p class=\"ql-align-right\"><br></p><p class=\"ql-align-right\"><br></p>",
"pay_button_title": "أخبرني عند التوفر",
"pay_button_status": true,
"has_available_special_link": true,
"url": "/courses/0838ded0-457c-11ee-af53-23d1c68af543",
"favorite": null,
"courses_that_may_interest_you": [],
"notes": [],
"videos": [
{
"id": "08621390-457c-11ee-8531-b38c4c5fe5ec",
"number": 1,
"title": "وصف المادة",
"description": null,
"video_id": 754730293,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"watched_id": null,
"stopped_in": null,
"is_promotional": true
},
{
"id": "086637f0-457c-11ee-9d5f-f770b1d0ac40",
"number": 2,
"title": "التأمل (108) - المودرا",
"length": "00:00:00",
"is_promotional": false,
"description": null
}
],
"unowned_videos": null,
"video_button_text": "إكمال الدفع",
"video_button_status": true,
"attachments": [],
"attachments_count": 0,
"seo": {
"keywords": "الدكتورة سمية الناصر,موقع الدكتورة سمية الناصر,دورات سمية الناصر,مقالات سمية الناصر,سمية الناصر الموقع الرسمي,كتب تتحدث عن الجسد المشاعري,sumaya369,الجسد المشاعري,خريطة المشاعر",
"author": "الدكتورة سمية الناصر",
"title": "التأمل (108) - المودرا",
"description": "...",
"og_image": "http://127.0.0.1:8000/storage/24888/التأمل.png"
},
"is_rating_skipped": false
},
"status_code": 200
}

Success Response (Authenticated And Active Subscription)

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"id": "c0334a00-f610-11ec-9468-edc40d386ec9",
"special_id": "c0334a00-f610-11ec-9468-edc40d386ec9",
"poster": "http://127.0.0.1:8000/storage/22674/1--قانون-التجرد.png",
"name": "قانون التجرد",
"old_price": "hide_price",
"course_description": "<p class=\"ql-align-right\"><br></p>",
"subscription_status_date": "سينتهي اشتراكك بعد 104.99999999999 يوم",
"videos_count": 18,
"price": "hide_price",
"does_has_vat": false,
"price_with_vat_show": "hide_price",
"tags": [
{
"id": "c60fa260-fb24-11ee-af71-350be8551fdb",
"name": "تطبيقات بسيطة",
"color": "#E697E6FF"
},
{
"id": "965e3cc0-fb24-11ee-9658-b558db5ba9ce",
"name": "للجسد المشاعري",
"color": "#9CDBDBFF"
},
{
"id": "e1c29880-fb45-11ee-bc1f-411ddde840e6",
"name": "مادة للتطوير",
"color": "#F7F7F7FF"
}
],
"can_rate": true,
"can_write_rate_comment": true,
"comments_count": 5,
"can_be_bought": null,
"rates_count": null,
"can_comment": true,
"is_purchasable": false,
"can_purchase": false,
"hide_price": true,
"has_active_subscribed": true,
"can_download_summary": false,
"can_download_certificate": false,
"summary": "",
"length": "04:11:16",
"duration": "متبقي 104.99998842593 يوم للاشتراك",
"is_instant_subscription": null,
"summary_name": "",
"certificate": "",
"certificate_price": 0,
"summary_price": 0,
"has_certificate": false,
"has_promotional": true,
"has_summary": false,
"rating_avg": 4.94,
"is_special_id": false,
"watched_videos_count": 0,
"model_type": "courses",
"product_description": "<p>قانون التجرد</p><p>مادة تساهم في رفع وعيك بقانون التجرد ومعرفة الوقت والطريقة الصحيحة للتجرد.</p><p><br></p><p>محتوى المادة:</p><ul><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">ما هو قانون التجرد ؟</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">توقيت قانون التجرد</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">قوانين قانون التجرد</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">سبب التجرد</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">مراحل التجرد</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">التجرد من الأهمية و الأولوية والشعور السلبي</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">الجذب والتجرد</span></li><li class=\"ql-align-right\">التعلق والتجرد</li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">استخدامات الحكم الفكري</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\"> لماذا يتطرف الناس في الحكم ؟</span></li><li class=\"ql-align-right\">التجرد في الوعي الجمعي </li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">ماذا يحدث حين تقرر التجرد ؟</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">تجريد الأطفال</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">الفن التجريدي</span></li><li class=\"ql-align-right\">أماكن التجرد</li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">أمراض التجرد</span></li><li class=\"ql-align-right\"><span style=\"color: rgb(0, 0, 0);\">حالة الإعجاز</span></li><li class=\"ql-align-right\"><span class=\"ql-cursor\"></span>الموت و التجرد</li></ul><p class=\"ql-align-right\"><br></p><p>*هذه المادة مناسبة للحامل والمرضع</p><p class=\"ql-align-right\"><br></p><hr><p class=\"ql-align-right\"><br></p><p class=\"ql-align-right\"><strong style=\"color: black;\"> بشراءك أي منتج تفيد أنك قد قرأت ووافقت على </strong><a href=\"https://sumaya369.net/privacy-policy\" rel=\"noopener noreferrer\" target=\"_blank\"><strong>الشروط والأحكام</strong></a></p><p class=\"ql-align-right\"><strong>للمساعدة : </strong><a href=\"https://sumaya369.net/FAQ\" rel=\"noopener noreferrer\" target=\"_blank\"><strong>تواصل معنا</strong></a></p><p class=\"ql-align-right\"><br></p>",
"pay_button_title": "مشترك",
"pay_button_status": true,
"has_available_special_link": true,
"url": "/courses/c0334a00-f610-11ec-9468-edc40d386ec9",
"favorite": null,
"courses_that_may_interest_you": [],
"notes": [],
"videos": [
{
"id": "2ee11fc0-fc41-11ec-9f55-c3e2e8d7deab",
"number": 1,
"title": "وصف المادة",
"description": null,
"video_id": 726850137,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": true
},
{
"id": "c0349160-f610-11ec-b6e5-3d5c5ad1e39e",
"number": 2,
"title": "ما هو قانون التجرد ؟",
"description": null,
"video_id": 724399381,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c0365210-f610-11ec-8f81-2b68a1ca3b5e",
"number": 3,
"title": "توقيت قانون التجرد",
"description": null,
"video_id": 724402486,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c037c2e0-f610-11ec-9df3-1b27903a3f0e",
"number": 4,
"title": "قوانين قانون التجرد",
"description": null,
"video_id": 724406279,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c0392500-f610-11ec-83ac-519354082f3c",
"number": 5,
"title": "سبب التجرد",
"description": null,
"video_id": 724408420,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c03a8a70-f610-11ec-8675-75ab0bc78eff",
"number": 6,
"title": "مراحل التجرد",
"description": null,
"video_id": 724418144,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c03bf120-f610-11ec-ae26-cdfa8b9aa836",
"number": 7,
"title": "التجرد من الأهمية و الأولوية والشعور السلبي",
"description": null,
"video_id": 724420809,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c03d6710-f610-11ec-aaf7-f380290ea2d7",
"number": 8,
"title": "الجذب والتجرد",
"description": null,
"video_id": 724421951,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c03ed6b0-f610-11ec-8aff-914fb19d943b",
"number": 9,
"title": "التعلق والتجرد",
"description": null,
"video_id": 724423121,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c0403670-f610-11ec-9188-fb35c0f1d99f",
"number": 10,
"title": "استخدامات الحكم الفكري",
"description": null,
"video_id": 724431140,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c041a340-f610-11ec-8dda-7732d9053d92",
"number": 11,
"title": "لماذا يتطرف الناس في الحكم ؟",
"description": null,
"video_id": 724439078,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c04318a0-f610-11ec-894d-555275b86f83",
"number": 12,
"title": "التجرد في الوعي الجمعي",
"description": null,
"video_id": 724440249,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c04485e0-f610-11ec-8b2a-cd07c366a338",
"number": 13,
"title": "ماذا يحدث حين تقرر التجرد ؟",
"description": null,
"video_id": 724442499,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "c045eac0-f610-11ec-85ca-db63b815251e",
"number": 14,
"title": "تجريد الأطفال",
"description": null,
"video_id": 724443878,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "d05b0160-f6af-11ec-a3e5-136137c2db82",
"number": 15,
"title": "الفن التجريدي",
"description": null,
"video_id": 724446326,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "d05c90a0-f6af-11ec-a75a-c5f2b966ea2c",
"number": 16,
"title": "أماكن التجرد",
"description": null,
"video_id": 724450767,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "d05df730-f6af-11ec-8320-eb86e147eaf2",
"number": 17,
"title": "أمراض التجرد",
"description": null,
"video_id": 724455502,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "d05f6600-f6af-11ec-82ef-d3fd5a7d6bc1",
"number": 18,
"title": "حالة الإعجاز",
"description": null,
"video_id": 724456864,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
},
{
"id": "d060e120-f6af-11ec-add9-9f691f0adb57",
"number": 19,
"title": "الموت و التجرد",
"description": null,
"video_id": 724459210,
"length": "00:00:00",
"user_notes_count": 0,
"is_watched": false,
"is_promotional": false
}
],
"unowned_videos": [],
"video_button_text": "إكمال الدفع",
"video_button_status": true,
"attachments": [
{
"id": 13823,
"name": "مفكرة-الشهر--تطوير-جسدي-المشاعري-.pdf",
"type": "pdf",
"link": "http://127.0.0.1:8000/storage/13823/مفكرة-الشهر--تطوير-جسدي-المشاعري-.pdf",
"file_type": "media_file"
}
],
"attachments_count": 1,
"seo": {
"keywords": "الدكتورة سمية الناصر,موقع الدكتورة سمية الناصر,دورات سمية الناصر,مقالات سمية الناصر,سمية الناصر الموقع الرسمي,كتب تتحدث عن الجسد المشاعري,sumaya369,الجسد المشاعري,خريطة المشاعر",
"author": "الدكتورة سمية الناصر",
"title": "قانون التجرد",
"description": "...",
"og_image": "http://127.0.0.1:8000/storage/22674/1--قانون-التجرد.png"
},
"is_rating_skipped": true
},
"status_code": 200
}

Error Responses

  • 401 Unauthorized: When trying to access a non-open-source course without authentication
  • 404 Not Found: When the course doesn't exist
  • 410 Gone: When the user's product availability has expired

Example Implementation Flow

  1. Course Listing

    • Application sends request to /v1/mobile/courses
    • Optional query parameters:
      • Filter by category
      • Filter by material types
      • Filter by body types
      • Filter by awareness levels
      • Filter by price reductions
      • Specify number of courses per page
    • Display courses with pagination
    • Show course details including:
      • Price with VAT calculations
      • Video counts
  2. Single Course View

    • User selects a course
    • Application sends request to /v1/mobile/courses/{id_or_slug}
    • Display full course content including:
      • Basic Information:
        • Course name and description
        • Special ID (if available)
        • Poster image
      • Pricing Information:
        • Current price and old price
        • VAT status and price with VAT
        • Certificate and summary prices
      • Content Information:
        • Video count and watched videos
        • Course length and duration
        • Attachments count and list
      • Interactive Features:
        • Rating and commenting capabilities
        • Purchase and subscription status
        • Download permissions for summary/certificate
      • Additional Features:
        • Target audience information
        • Related courses
        • Course notes
        • Video access controls
      • UI Elements:
        • Pay button status and title
        • Video button status and text
      • SEO Information:
        • Title, description, and keywords

Key Considerations

  • Implement response caching for unauthorized users
  • Handle both web and mobile platform-specific responses
  • Manage course visibility based on:
    • User authentication
    • Open source status
    • Special ID access
    • Product availability expiration
  • Calculate and display accurate pricing including:
    • Current and old prices
    • VAT calculations
    • Certificate and summary prices
    • Special pricing conditions (hide price)
  • Track user interaction states:
    • Favorites
    • Ratings and comments
    • Video progress
    • Download permissions
  • Handle course access based on:
    • Authentication status
    • Subscription status
    • Purchase eligibility
    • Instant subscription availability
  • Manage UI states through:
    • Button visibility and text
    • Access permissions
    • Download capabilities
    • Rating and comment permissions