Bundles
This guide explains how to interact with the Bundles API in the Sumaya369 mobile application. The API provides endpoints for managing educational content bundles, which are collections of courses and ebooks offered together at a special price. Bundles can include certificates, summaries, and other educational materials.
List Bundles
Retrieve a paginated list of available bundles with optional category filtering. This endpoint returns comprehensive bundle information including pricing, and content counts.
Endpoint
- Method: GET
- URL:
/v1/mobile/bundles
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
Query Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| per_page | integer | Number of bundles per page (default: 10) | No |
| category | string | Filter bundles by category name | No |
Success Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"current_page": 1,
"first_page_url": "http://127.0.0.1:8000/v1/mobile/bundles?page=1",
"from": 1,
"last_page": 2,
"last_page_url": "http://127.0.0.1:8000/v1/mobile/bundles?page=2",
"links": [
{
"url": null,
"label": "« السابق",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/bundles?page=1",
"label": "1",
"active": true
},
{
"url": "http://127.0.0.1:8000/v1/mobile/bundles?page=2",
"label": "2",
"active": false
},
{
"url": "http://127.0.0.1:8000/v1/mobile/bundles?page=2",
"label": "التالي »",
"active": false
}
],
"next_page_url": "http://127.0.0.1:8000/v1/mobile/bundles?page=2",
"path": "http://127.0.0.1:8000/v1/mobile/bundles",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 13,
"bundles": [
{
"id": "0cd19d50-c7af-11ef-8625-19aeda79ef02",
"poster": "http://127.0.0.1:8000/storage/28573/4--باقة-الاستقلال-المادي-3مواد.jpg",
"name": "باقة الاستقلال المادي",
"hide_price": false,
"price": 1253.74,
"old_price": 1393.04,
"does_has_vat": true,
"price_with_vat_show": 1441.8,
"products_count": 3,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "29c635a0-c7ae-11ef-80de-3d668c0c06ee",
"poster": "http://127.0.0.1:8000/storage/28572/3--باقة-من-الصفر-للثراء-6مواد).jpg",
"name": "باقة من الصفر إلى الثراء",
"hide_price": false,
"price": 2036.2,
"old_price": 2262.44,
"does_has_vat": true,
"price_with_vat_show": 2341.63,
"products_count": 5,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "a4f49ce0-c7ac-11ef-91b8-45aded535706",
"poster": "http://127.0.0.1:8000/storage/28574/6--باقة-الاحتمال-الافضل-المواد2.jpg",
"name": "باقة الاحتمال الأفضل",
"hide_price": false,
"price": 387.38,
"old_price": 404.35,
"does_has_vat": true,
"price_with_vat_show": 445.49,
"products_count": 2,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "bab2e300-c7ab-11ef-8ef6-55889112cf47",
"poster": "http://127.0.0.1:8000/storage/28569/5--باقة-الحماية-المالية-المواد2.jpg",
"name": "باقة الحماية المالية",
"hide_price": false,
"price": 612.9,
"old_price": 681,
"does_has_vat": true,
"price_with_vat_show": 704.84,
"products_count": 2,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "db5f9360-c7a9-11ef-8bfa-f9e56828d4da",
"poster": "http://127.0.0.1:8000/storage/28575/7--باقة-البدايات-المواد2.jpg",
"name": "باقة البدايات",
"hide_price": false,
"price": 567,
"old_price": 630,
"does_has_vat": true,
"price_with_vat_show": 652.05,
"products_count": 2,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "0df628f0-c7a8-11ef-978b-a9906faffaec",
"poster": "http://127.0.0.1:8000/storage/28568/2--باقة-جديدة-للثراء-4مواد).jpg",
"name": "باقة المنتجات الجديدة لنية الثراء",
"hide_price": false,
"price": 1586.21,
"old_price": 1736.38,
"does_has_vat": true,
"price_with_vat_show": 1824.14,
"products_count": 4,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "051dd0b0-b082-11ef-a315-f1dd5149d0a2",
"poster": "http://127.0.0.1:8000/storage/27472/4--باقة-القفزة-(4مواد).jpg",
"name": "باقة القفزة",
"hide_price": false,
"price": 546.3,
"old_price": 682.88,
"does_has_vat": true,
"price_with_vat_show": 628.25,
"products_count": 4,
"has_active_subscribed": true,
"pay_button_title": "مشترك",
"pay_button_status": true,
"favorite": null
},
{
"id": "2bc3f780-afc8-11ef-b158-e1b4689fdf3a",
"poster": "http://127.0.0.1:8000/storage/27420/2--باقة-المواد-الجديدة-لنية-الاستعداد(4مواد).jpg",
"name": "المواد الجديدة لنية الاستعداد للعام الجديد",
"hide_price": false,
"price": 1018.83,
"old_price": 1273.54,
"does_has_vat": true,
"price_with_vat_show": 1171.65,
"products_count": 5,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "c05ca060-afc5-11ef-a434-31810c580d4a",
"poster": "http://127.0.0.1:8000/storage/27417/3--باقة-معرفة-الذات-(4مواد).jpg",
"name": "باقة معرفة الذات",
"hide_price": false,
"price": 903.1,
"old_price": 1128.88,
"does_has_vat": true,
"price_with_vat_show": 1038.57,
"products_count": 4,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
},
{
"id": "bbf65120-afc4-11ef-9156-3d14a65a5aea",
"poster": "http://127.0.0.1:8000/storage/27415/5--(باقة-النهايات-2(-مادة.jpg",
"name": "باقة النهايات",
"hide_price": false,
"price": 600.35,
"old_price": 750.44,
"does_has_vat": true,
"price_with_vat_show": 690.4,
"products_count": 2,
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"favorite": null
}
]
},
"status_code": 200
}
Get Single Bundle
Retrieve detailed information about a specific bundle by its ID or slug. This endpoint returns comprehensive bundle data including included courses, ebooks, pricing details, and engagement metrics. It also provides information about certificates, summaries, and related bundles in the "watch also" section.
Endpoint
- Method: GET
- URL:
/v1/mobile/bundles/{id_or_slug}
Request Headers
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
| Accept | application/json | Yes |
Path Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| id_or_slug | string | Bundle ID (UUID) or slug | Yes |
Query Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| view | boolean | Show bundle even if inactive (admin preview) | No |
Success Response
{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"id": "0cd19d50-c7af-11ef-8625-19aeda79ef02",
"poster": "http://127.0.0.1:8000/storage/28573/4--باقة-الاستقلال-المادي-3مواد.jpg",
"name": "باقة الاستقلال المادي",
"description": "<h3 class=\"ql-align-right\"><strong style=\"color: rgb(61, 20, 102);\">باقة الاستقلال المادي</strong></h3><h3><br></h3><h3><span style=\"color: rgb(61, 20, 102);\">1) الهوية المالية</span></h3><p><br></p><p>ماهي الهوية المالية ؟ وكيف تكتشف هويتك المالية ؟ </p><p>33 سؤال يساعدك على اكتشاف هويتك المالية .. وبناء على تجربة د.سمية الناصر ستخبرك عن نتيجتها والحلول التي قررت ان تعملها لتطوير هويتها المالية .</p><p><br></p><p><strong>مرفق المادة : اختبار الهوية المالية </strong></p><h3><br></h3><h3><span style=\"color: rgb(61, 20, 102);\">2) مصادر الثراء</span></h3><p><strong>المحاور : </strong></p><ul><li>المصدر الأول.</li><li>المصدر الثاني.</li><li>المصدر الثالث.</li><li>المصدر الرابع.</li><li>المصدر الخامس.</li><li>المصدر السادس.</li><li>المصدر السابع.</li><li>المصدر الثامن.</li></ul><p><br></p><h3 class=\"ql-align-right\"><span style=\"color: rgb(61, 20, 102);\">3) ابتلع أموالك</span></h3><p class=\"ql-align-right\">لتبدأ في لعبة المال</p><p class=\"ql-align-right\"><br></p><p class=\"ql-align-right\">11 لعبة للمال لتبدأ في برنامج استحقاق الثراء لتضاعف متعتك في أثناء سعيك لتحقيق الثراء، وتتعرف على مشاعر وسلوكيات وتطبيقات تدعم تجلي نية الثراء في حياتك.</p><p class=\"ql-align-right\"><br></p><p class=\"ql-align-right\"><strong>المحاور:</strong></p><ul><li class=\"ql-align-right\">1- <span style=\"background-color: rgb(246, 245, 247);\">مقدمة</span></li><li class=\"ql-align-right\">2- 11 <span style=\"background-color: rgb(246, 245, 247);\">لعبة للمال</span></li><li class=\"ql-align-right\">3- <span style=\"background-color: rgb(246, 245, 247);\">مضاعفة المتعة</span></li><li class=\"ql-align-right\">4- <span style=\"background-color: rgb(246, 245, 247);\">نوايا الوعي الجمعي</span></li><li class=\"ql-align-right\">5- <span style=\"background-color: rgb(246, 245, 247);\">تطبيقات عملية لاستحقاق الثراء</span></li></ul><h3 class=\"ql-align-right\"><br></h3><p class=\"ql-align-right\"><br></p><p>*هذه الباقة مناسبة للحامل</p><p>*هذه الباقة مناسبة للمرضع</p><p><br></p><p><br></p><hr><p><br></p><p class=\"ql-align-right\"><strong style=\"color: black;\">بشراءك أي منتج تفيد أنك قد قرأت ووافقت على </strong><a href=\"https://sumaya369.net/privacy-policy\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"background-color: rgb(246, 245, 247);\"><strong>الشروط والأحكام</strong></a></p><p class=\"ql-align-right\"><strong>للمساعدة : </strong><a href=\"https://sumaya369.net/FAQ\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"background-color: rgb(246, 245, 247);\"><strong>تواصل معنا</strong></a></p><p class=\"ql-align-right\"><br></p><p class=\"ql-align-right\"><br></p>",
"price": 1253.74,
"old_price": 1393.04,
"does_has_vat": true,
"price_with_vat_show": 1441.8,
"tag_names": [],
"products_count": 3,
"comments_count": 0,
"summary": "",
"is_purchasable": true,
"can_purchase": true,
"hide_price": false,
"can_be_bought": null,
"can_comment": true,
"summary_name": "",
"has_certificate": false,
"has_summary": false,
"certificate": "",
"certificate_price": 0,
"summary_price": 0,
"model_type": "bundles",
"has_active_subscribed": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"has_available_special_link": false,
"favorite": null,
"bundles_favorites": [],
"watch_also": [],
"courses": [
{
"id": "8a620ad0-a5a2-11ee-8c63-07e9c26c60de",
"poster": "http://127.0.0.1:8000/storage/20786/مصادر-الثراء.png",
"name": "مصادر الثراء",
"price": 333,
"duration": "730 يوم",
"videos_count": 8,
"type": "course",
"is_newly_added": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"has_available_special_link": true
},
{
"id": "638631b0-84f1-11ed-a786-5ba26e1aea87",
"poster": "http://127.0.0.1:8000/storage/20782/الهوية-المالية.png",
"name": "الهوية المالية",
"price": 190.44,
"duration": "انتهت مدة الإشتراك",
"videos_count": 1,
"type": "course",
"is_newly_added": false,
"pay_button_title": "جدد اشتراكك",
"pay_button_status": true,
"has_available_special_link": true
},
{
"id": "135ebb10-c76b-11ef-94c7-610b2c08a5d6",
"poster": "http://127.0.0.1:8000/storage/28545/ابتلع-اموالك.jpg",
"name": "ابتلع أموالك",
"price": 869.6,
"duration": "90 يوم",
"videos_count": 13,
"type": "course",
"is_newly_added": false,
"pay_button_title": "أضف للسلة",
"pay_button_status": true,
"has_available_special_link": false
}
],
"ebooks": []
},
"status_code": 200
}
Error Responses
Bundle Not Found (404)
{
"success": false,
"message": "لم يتم العثور على السجل",
"data": [],
"status_code": 404
}
Example Implementation Flow
-
Bundle Listing
- Application sends request to
/v1/mobile/bundles - Optional query parameters:
- Filter by category
- Specify number of bundles per page
- Display bundles with pagination
- Show bundle details including:
- Total price calculation
- Number of included courses and ebooks
- Application sends request to
-
Single Bundle View
- User selects a bundle
- Application sends request to
/v1/mobile/bundles/{id_or_slug} - Display full bundle content including:
- All included courses with their video counts
- All included ebooks
- Certificate and summary options
- Pricing details with VAT calculations
- Show related bundles in "watch also" section
- Handle special ID access with authentication
Key Considerations
- Implement response caching for unauthorized users
- Handle both web and mobile platform-specific responses
- Manage bundle visibility based on user authentication
- Calculate and display accurate pricing including:
- Base price
- Certificate price
- Summary price
- VAT components
- Track bundle favorites and cart status
- Provide clear purchase button states and messages