#P1789
GET /b2c/v1/base/suggestions/items/{type}
Get Suggestions & Featured Items
این اندپوینت لیستی از آیتمهای پیشنهادی (Featured) را برای نمایش در صفحه اصلی یا لندینگ پیجها بازمیگرداند.
نکته مهم: طبق کد فعلی، دادههای این سرویس به صورت Hardcoded (ثابت) در کنترلر تعریف شدهاند و برای شعب خاص (Branch IDs: 2, 4) شخصیسازی شدهاند.
Fetch Suggestion Items
URL:
/b2c/v1/base/suggestions/items/{type}Method: GET
Controller: V1BaseController@suggestionsItemsIndex
Auth: Optional (Public)
Parameters (پارامترها)
| Type | Parameter | Required | Description |
|---|---|---|---|
| Path | {type} | Yes | نوع پیشنهاد مورد نظر:
|
| Query | branch | Yes* | شناسه شعبه/سایت. (در کد فعلی فقط برای مقادیر 2 و 4 خروجی تعریف شده است). |
Response Structure
{
"items": [
// ... Array of Suggestion Objects ...
],
"meta": {
"timestamp": 1702123456
}
}
Item Object Examples (نمونه خروجی آیتمها)
ساختار آبجکتهای داخل آرایه items بسته به type درخواستی متفاوت است:
۱. نوع تور (type = tour)
{
"type": "tour",
"vehicle": "train", // یا aircraft
"cover": "https://storage.../image.jpg",
"link": "/search/route-accommodation?origin=37&destination=396...", // لینک فرانتاند
"title": {
"fa": "تور چهارشب فول برد",
"en": "4 nights full boards"
},
"accommodation": {
"title": {
"fa": "هتل آوازه مشهد",
"en": "Avazeh Hotel"
},
"star": 2
},
"origin": "اصفهان",
"destination": "مشهد",
"price": 96000000,
"nights": 4
}
۲. نوع بلیط (type = train / aircraft)
{
"type": "ticket",
"vehicle": "aircraft", // یا train
"link": "/search/flights?origin=IFN&destination=MHD",
"title": { // ممکن است در برخی موارد ارسال نشود
"fa": "بلیت مشهد قطار",
"en": "Mashhad ticket"
},
"origin": "اصفهان",
"destination": "مشهد",
"price": 33990000
}
۳. نوع اقامتگاه (type = accommodation)
{
"type": "accommodation",
"cover": "https://storage.../hotel.jpg",
"link": "/search/accommodations?destination=335&action=accommodation",
"title": {
"fa": "اتاق دوتخته فول برد",
"en": ""
},
"accommodation": {
"title": {
"fa": "هتل آوازه مشهد",
"en": "Avazeh Hotel"
},
"star": 2
},
"destination": "مشهد",
"price": 12000000
}
Logic & Constraints
- وابستگی به Branch: سیستم ابتدا پارامتر
branchرا چک میکند. اگر شعبه تعریف نشده باشد (چیزی غیر از 2 یا 4)، آرایهitemsخالی برمیگردد. - لینکدهی (Links): فیلد
linkحاوی مسیر نسبی (Relative Path) برای هدایت کاربر در سمت فرانتاند است (مثلاً به صفحه جستجو با فیلترهای از پیش تعیین شده). - دادههای استاتیک: قیمتها، تصاویر و عناوین در حال حاضر مستقیماً در کد PHP نوشته شدهاند و از دیتابیس خوانده نمیشوند.