توریست پنل توریست پنل
در حال بارگذاری ...
توریست پنل | api-documents-supplychain

دریافت کالکشن های (Postman)

دانلود کالکشن های Postman:

1. دریافت لیست مکان‌های موجود (Locations)

روش: GET

مسیر:

        {{baseUrl}}/api/v3/supplychain/services/gishe/locations
    

توضیحات:

این Endpoint اطلاعات مکان‌های موجود را بازیابی می‌کند.

می‌توان از این داده‌ها برای فیلتر کردن برنامه‌ها بر اساس مکان استفاده کرد.

نمونه Response:

[
    {
        "code": "1-11-183",
        "name": "Iran-Hormozgan-Kish",
        "native": "ایران-هرمزگان-کیش"
    },
    {
        "code": "1-28-383",
        "name": "Iran-Tehran-Tehran",
        "native": "ایران-تهران-تهران"
    }
]
    

2. دریافت دسته‌بندی‌های موجوددریافت لیست مکان‌های موجود (Categories)

روش: GET

مسیر:

          {{baseUrl}}/api/v3/supplychain/services/gishe/categories?locationCode=1-28-383
    

توضیحات:

این Endpoint لیست دسته‌بندی‌های موجود را برمی‌گرداند.

با ارسال locationCode , می‌توان دسته‌بندی‌ها را بر اساس کد مکان فیلتر کرد.

پارامتر locationCode اختیاری است; در صورت عدم ارسال، تمام دسته‌بندی‌ها بازیابی خواهند شد.

نمونه Response:

   [
    {
        "code": 1,
        "index": 1,
        "title": "موزه‌ها"
    },
    {
        "code": 2,
        "index": 2,
        "title": "جاذبه‌های تاریخی"
    },
    {
        "code": 3,
        "index": 3,
        "title": "جاذبه‌های گردشگری"
    }
]
    

3. دریافت لیست تمام برنامه‌های موجود (Programs)

روش: GET

مسیر:

{{baseUrl}}/api/v3/supplychain/services/gishe/programs?page=1&take=100&locationCode=&categoryCodes=&categoryCodes=
    

توضیحات:

  • صفحه‌بندی (Pagination):
    • page: شماره صفحه
    • take: تعداد آیتم‌ها در هر صفحه
  • فیلتر بر اساس مکان (Location Filter): پارامتر locationCode برای فیلتر برنامه‌ها بر اساس مکان
  • فیلتر بر اساس دسته‌بندی (Category Filter): پارامتر categoryCodes برای فیلتر برنامه‌ها بر اساس چندین کد دسته‌بندی
  • در صورت عدم ارسال هیچ فیلتر، تمام برنامه‌های موجود برگردانده خواهند شد.

نمونه Response:

[
    {
        "id": "ac70d233-4f82-4a1d-b3a6-ac545d593e17",
        "supplyChainHojreId": "2da00def-cdee-1f2f-5e90-3a159ed5cf67",
        "supplyChainHojre": {
            "title": "تامین کننده دمو",
            "logo": "logo/SupplychainDemo-logo-main.png",
            "hojreCode": "A0002"
        },
        "type": 2,
        "title": "جنگ شبانه دینامیت شو",
        "indexImage": "pfa/343863d1-ed4c-6132-2e32-3a159ee0de46.jpg",
        "isActive": true,
        "programCategory": {
            "code": 4,
            "title": "جنگ‌ها و نمایش‌ها"
        },
        "locationData": {
            "native": "ایران/هرمزگان/کیش",
            "name": "Iran/Hormozgan/Kish",
            "code": "1-11-183"
        }
    },
    {
        "id": "f6195d07-6cb0-4305-a831-bdcb29d11b32",
        "supplyChainHojreId": "2da00def-cdee-1f2f-5e90-3a159ed5cf67",
        "supplyChainHojre": {
            "title": "تامین کننده دمو",
            "logo": "logo/SupplychainDemo-logo-main.png",
            "hojreCode": "A0002"
        },
        "type": 1,
        "title": "سورتمه توچال ehsan",
        "indexImage": "pfa/daafe456-34ae-ca5d-49ed-3a159ee52100.jpg",
        "isActive": true,
        "programCategory": {
            "code": 8,
            "title": "سرگرمی هیجان‌انگیز"
        },
        "locationData": {
            "native": "ایران/تهران/تهران",
            "name": "Iran/Tehran/Tehran",
            "code": "1-28-383"
        }
    }
]
    

اطلاعات کلیدی در : (Response)

فیلد توضیحات
id شناسه منحصر به فرد برنامه (UUID)
supplyChainHoJreId شناسه حجره در زنجیره تامین
type نوع برنامه (۱: سرویس، ۲: رویدادمحور)
title عنوان برنامه
indexImage تصویر شاخص برنامه
isActive وضعیت فعال بودن برنامه (فعال = true، غیر فعال = false)
programCategory اطلاعات دسته‌بندی برنامه
locationData اطلاعات مربوط به مکان برنامه

انواع برنامه‌ها (Program Types)

1. برنامه‌های نوع 1 (Service Programs)

  • همیشه در دسترس، بدون وابستگی به زمان و رویداد
  • ظرفیت نامحدود
  • قابل استفاده در هر تاریخ و زمان
  • بلیت‌های قابل انتخاب ساعتی یا رویداد محور
  • نام در سیستم: Service

2. برنامه‌های نوع 2 (Event-Based Programs)

  • وابسته به رویدادهای مشخص با زمان و تاریخ معین
  • دارای ظرفیت محدود
  • امکان رزرو در بازه زمانی خاص
  • بلیت فقط با زمان و تاریخ مشخص معتبر است
  • نام در سیستم: Event-Based

نکته:

  • ✅ فرآیند افزودن به سبد خرید (Shopping Cart) برای هر نوع برنامه متفاوت است.
  • ✅قبل از استفاده، نیاز به نوع برنامه (Type) مشخص شود.

جمع‌بندی:

  • Locations: لیست مکان‌های موجود را بازیابی می‌کند.
  • Categories: لیست دسته‌بندی‌ها را (با امکان فیلتر بر اساس مکان) بازیابی‌می‌گرداند.
  • Programs: لیست برنامه‌های موجود را با فیلترهای صفحه‌بندی، مکان و دسته‌بندی ارائه می‌دهد.

دو نوع برنامه داریم:

  • نوع ۱: سرویس (همیشه در دسترس، بدون سانس)
  • نوع ۲: رویدادمحور (نیمه‌زماندار و سانس)

دریافت جزئیات برنامه (Program Details)

روش: GET

مسیر:

{{baseUrl}}/api/v3/supplychain/services/gishe/program/detail?programId=&filteredProgramTicketTypes=&filteredProgramTicketTypes=
    

توضیحات پارامترها:

  • 1. programId (اجباری):
    • شناسه (UUID) منحصر به فرد برنامه که جزئیات آن باید بازیابی شود.
    • مثال:
  •  ac70d233-4f82-4a1d-b3a6-ac545d593e17 
  • 2. filteredProgramTicketTypes (اختیاری):
    • فیلتر برای انواع بلیط‌های برنامه‌های انتخاب شده.
    • می‌توانید چندین شناسه (UUID) مربوط به نوع بلیط را ارسال کنید.
    • اگر ارسال نشود، تمامی انواع بلیط‌ها به ‌طور پیش‌فرض برگردانده خواهند شد.

خروجی (Response):

این Endpoint اطلاعات کامل برنامه را شامل می‌شود مانند:

  • جزئیات برنامه: (شامل توضیحات و عکس)
  • لیست انواع بلیط‌ها: (سرویس فیلتر بر اساس برنامه)
  • جزئیات مکان و نوع برنامه: (سرویس فیلتر بر اساس زمان و تاریخ)

نکته:

این endpoint در برنامه‌های نوع ۱ و ۲ قابل استفاده است، اما اطلاعات ارائه‌شده بر اساس نوع برنامه متفاوت خواهد بود.

نمونه Response برای یک برنامه نوع ۲ (Event-Based):

{
    "id": "ac70d233-4f82-4a1d-b3a6-ac545d593e17",
    "type": 2,
    "title": "جنگ شبانه دینامیت شو",
    "description": "شو شبانه دینامیت شو، به عنوان یکی از پر مخاطب ترین شوهای شبانه در کشور، مفتخر است که پذیرای حضور گرم شما عزیران در جزیره کیش باشد. دینامیت شو با اجرای میلادصالحپور در جزیره زیبای کیش برگذار می شود. دینامیت شو برنامه مختلفی همچون مسابقه و اهدای جایزه , نمایش کمدی , موسیقی و دی جی , لیزر شو و … برگزار می شود. هر کدام از این بخش ها می تواند برای سلیقه های مختلف مورد پسند قرار گیرد.",
    "rules": "این بلیط طبق قوانین چارتری صادر گردیده و غیرقابل عودت و کنسلی میباشد.*اعتبار استفاده از بلیت،طبق تاریخ درج شده بر روی بلیت بوده و در صورت انقضا،بلیت فاقد اعتبار می باشد*شماره صندلی و ردیف مانند پرواز در هنگام مراجعه به پذیرش تعیین خواهد شد.* تهیه ی بلیت برای کودکان ۴ سال به بالا الزامی است*ورود هرگونه دوربین عکاسی و فیلمبرداری حرفه ای و نیمه حرفه ای به داخل سالن ممنوع می باشد عکاسی و فیلمبرداری حتی با گوشی موبایل و همچنین ضبط صدا در حین اجرای برنامه اکیدا ممنوع می باشد*",
    "indexImage": "pfa/343863d1-ed4c-6132-2e32-3a159ee0de46.jpg",
    "galleryImages": [
        "pfa/343863d1-ed4c-6132-2e32-3a159ee0de46.jpg",
        "pfa/83ac3e3f-4a34-8b6c-4d56-3a159ee0de92.jpg",
        "SupplychainDemo/provider-program-license/-activity/6631d796-9b4b-0c87-1623-3a159ee0df10.jpg"
    ],
    "programCategory": {
        "code": 4,
        "index": 0,
        "title": "جنگ‌ها و نمایش‌ها"
    },
    "tag": null,
    "stationBasedRevoking": false,
    "programReference": "001",
    "location": {
        "code": "1-11-183",
        "name": "Iran/Hormozgan/Kish",
        "native": "ایران/هرمزگان/کیش"
    },
    "ticketTypes": [
        {
            "eventTicketTypeId": null,
            "programTicketTypeId": "adb3ebbf-3893-4778-894e-1cda16f25cd2",
            "referenceTicketTypeId": "00000000-0000-0000-0000-000000000000",
            "isNumberEqualsReferenceTicketType": false,
            "eventTitle": null,
            "title": "ECO | اکونومی",
            "description": null,
            "totalCapacity": 0,
            "remainingCapacity": 0,
            "totalQuotaCapacity": 0,
            "totalCharterdCapacity": 0,
            "isQoutaCapacity": false,
            "groupTitle": null,
            "index": 0,
            "maximumDiscountPercent": 0,
            "maximumDiscountCodeUse": 0,
            "maximumDiscountCodeUseDays": 0,
            "isCharter": false,
            "originSupplyChainHojreId": null,
            "stationBasedRevoking": false,
            "isDisabled": false,
            "ticketPrices": []
        },
        {
            "eventTicketTypeId": null,
            "programTicketTypeId": "344f72de-6706-4969-a18f-dda6eed7baa3",
            "referenceTicketTypeId": "00000000-0000-0000-0000-000000000000",
            "isNumberEqualsReferenceTicketType": false,
            "eventTitle": null,
            "title": "VIP | وی آی پی",
            "description": null,
            "totalCapacity": 0,
            "remainingCapacity": 0,
            "totalQuotaCapacity": 0,
            "totalCharterdCapacity": 0,
            "isQoutaCapacity": false,
            "groupTitle": null,
            "index": 0,
            "maximumDiscountPercent": 0,
            "maximumDiscountCodeUse": 0,
            "maximumDiscountCodeUseDays": 0,
            "isCharter": false,
            "originSupplyChainHojreId": null,
            "stationBasedRevoking": false,
            "isDisabled": false,
            "ticketPrices": []
        }
    ],
    "eventSans": [
        {
            "dateTime": "2025-01-23T00:00:00+03:30",
            "persianDate": "پنجشنبه 4 بهمن",
            "events": [
                {
                    "excuteTime": "2025-01-23T20:00:00+03:30",
                    "eventId": "6ecbad64-8c20-49fc-bf1b-ccbc9bf0adde",
                    "start": "20:00",
                    "end": "23:00",
                    "endReservation": "21:00",
                    "label": "سانس 20",
                    "description": null,
                    "capacity": 20,
                    "ticketTypes": [
                        {
                            "eventTicketTypeId": "b801e10f-b9f1-436e-8592 ",
                            "programTicketTypeId": "adb3ebbf-3893-4778-894e",
                            "referenceTicketTypeId": "00000000-0000-0000-0000-",
                            "isNumberEqualsReferenceTicketType": false,
                            "eventTitle": "سانس 20",
                            "title": "ECO | اکونومی",
                            "description": null,
                            "totalCapacity": 600,
                            "remainingCapacity": 20,
                            "totalQuotaCapacity": 0,
                            "totalCharterdCapacity": 0,
                            "isQoutaCapacity": false,
                            "groupTitle": null,
                            "index": 1,
                            "maximumDiscountPercent": 100,
                            "maximumDiscountCodeUse": 0,
                            "maximumDiscountCodeUseDays": 0,
                            "isCharter": false,
                            "originSupplyChainHojreId": null,
                            "stationBasedRevoking": false,
                            "isDisabled": false,
                            "ticketPrices": [
                                {
                                    "ticketPrice": 2400000,
                                    "commissionPrice": 960000,
                                    "discountPrice": 0,
                                    "buyPrice": 1440000,
                                    "commissionPriceCategory": {
                                        "commissionPriceCategoryId": "da127042-be",
                                        "title": "شبکه سراسری فروش",
                                        "currency": 1,
                                        "currencyRate": 1,
                                        "type": 1
                                    },
                                    "beneficiaries": null
                                }
                            ]
                        },
                        {
                            "eventTicketTypeId": "62b1fa69-61a8-4920-9745- ",
                            "programTicketTypeId": "344f72de-6706-4969-a18f- ",
                            "referenceTicketTypeId": "00000000-0000-0000-0000-",
                            "isNumberEqualsReferenceTicketType": false,
                            "eventTitle": "سانس 20",
                            "title": "VIP | وی آی پی",
                            "description": null,
                            "totalCapacity": 230,
                            "remainingCapacity": 20,
                            "totalQuotaCapacity": 0,
                            "totalCharterdCapacity": 0,
                            "isQoutaCapacity": false,
                            "groupTitle": null,
                            "index": 2,
                            "maximumDiscountPercent": 100,
                            "maximumDiscountCodeUse": 0,
                            "maximumDiscountCodeUseDays": 0,
                            "isCharter": false,
                            "originSupplyChainHojreId": null,
                            "stationBasedRevoking": false,
                            "isDisabled": false,
                            "ticketPrices": [
                                {
                                    "ticketPrice": 3200000,
                                    "commissionPrice": 800000,
                                    "discountPrice": 0,
                                    "buyPrice": 2400000,
                                    "commissionPriceCategory": {
                                        "commissionPriceCategoryId": "da127042",
                                        "title": "شبکه سراسری فروش",
                                        "currency": 1,
                                        "currencyRate": 1,
                                        "type": 1
                                    },
                                    "beneficiaries": null
                                }
                            ]
                        }
                    ]
                }
            ]
        },

     ]




    "isManifestNeeded": false,
    "isManifestUniqueNumberNeeded": false,
    "isActive": true,
    "supplyChainHojreId": "2da00def-cdee-1f2f-5e90-",
    "supplyChainHojre": {
        "id": "2da00def-cdee-1f2f-5e90-3a159ed5cf67",
        "tenantId": "578b1dfa-4998-bbfd-f0ea-3a159ed7988c",
        "title": "تامین کننده دمو",
        "logo": "logo/SupplychainDemo-logo-main.png",
        "hojreCode": "A0002",
        "type": 100
    }
}
    

نکات کلیدی در Response:

  1. وضعیت برنامه (isActive):
    • true: برنامه فعال است و امکان رزرو وجود دارد.
    • false: برنامه غیرفعال است و امکان رزرو ندارد.
  2. رویدادها (events):
    • شامل تاریخ، زمان شروع و پایان، ظرفیت کل و ظرفیت باقیمانده برای هر رویداد است.
    • جزئیات بلیط‌ها به همراه قیمت و درصد تخفیف ارائه شده است.
  3. انواع بلیط (ticketTypes):
    • اطلاعات ظرفیت کل و ظرفیت باقیمانده بلیط‌ها مشخص شده است.
    • برای مدیریت بهتر تعداد مهمان‌ها استفاده می‌شود.
  4. توصیه برای رویدادهای خاص:
    • اگر برنامه از نوع ۲ (Event-Based) باشد، بهتر است از یک Endpoint اختصاصی برای دریافت لیست رویدادها استفاده شود.

دلیل نیاز به تمام داده‌ها:

تمام داده‌های ارائه شده شامل اطلاعات برنامه، رویدادها و بلیط‌ها برای رزرو بلیط مورد نیاز هستند تا رزرو مطابق با ظرفیت و شرایط هر رویداد انجام شود.

فیلدهای isManifestNeeded و isManifestUniqueNumberNeeded

فیلد مقدار توضیحات
isManifestNeeded true علاوه بر نام، وارد کردن کد ملی یا شماره پاسپورت الزامی است .
isManifestUniqueNumberNeeded false . فقط وارد کردن نام کافی است

ثبت اطلاعات هویتی (نام و نام خانوادگی) اجباری است. نیازی به ثبت اطلاعات هویتی نیست.

کاربرد:

این مقادیر برای رویدادهای رسمی یا برنامه‌هایی که نیاز به کنترل هویت دارند استفاده می‌شوند.

اگر true باشد، سیستم باید فیلدهای اضافی برای ثبت این اطلاعات در فرآیند رزرو فراهم کند.

نتیجه‌گیری:

این Response تمام اطلاعات مورد نیاز برای رزرو بلیط در برنامه‌های نوع ۲ (Event-Based) را فراهم می‌کند.

برای دریافت لیست جامع‌تر رویدادها، بهتر است از یک Endpoint اختصاصی استفاده شود.

در صورتی که شناسایی افراد در رزرو الزامی باشد، مقادیر isManifestNeeded و isManifestUniqueNumberNeeded تعیین می‌کنند که چه اطلاعاتی باید ثبت شوند.

5. دریافت انواع بلیط‌های مرتبط با برنامه‌های نوع Service Programs (Type: 1)

روش: GET

مسیر:

 {{baseUrl}}/api/v3/supplychain/services/gishe/program/ticket-types?programId=&supplyChainHojreId=
            

توضیحات پارامترها:

  • 1. programId (ضروری):
    شناسه منحصربه‌فرد برنامه‌ای که می‌خواهید اطلاعات بلیط آن را دریافت کنید.
  • 2. supplyChainHojeId (ضروری):
    شناسه زنجیره تامین خاصی که به برنامه مرتبط است.

ویژگی‌ها:

  • این Endpoint فقط برای برنامه‌های نوع 1 (Service) استفاده می‌شود.
  • این بلیط‌ها نوع ظاهرشدنی متغیری دارند و تاریخ خاصی یا زمان خاصی تعریف نشده است.
  • اطلاعات خروجی شامل لیست انواع بلیط‌ها همراه توضیحات و قیمت‌ها است.

📌نمونه Response:

[
    {
        "eventTicketTypeId": null,
        "programTicketTypeId": "0520e387-41d0-46d9-80c2-02940d574e42",
        "referenceTicketTypeId": "00000000-0000-0000-0000-000000000000",
        "isNumberEqualsReferenceTicketType": false,
        "eventTitle": "WorkingHoursCollection",
        "title": "سورتمه ( تک نفره )",
        "description": null,
        "totalCapacity": 0,
        "remainingCapacity": 0,
        "totalQuotaCapacity": 0,
        "totalCharterdCapacity": 0,
        "isQoutaCapacity": false,
        "groupTitle": null,
        "index": 1,
        "maximumDiscountPercent": 100,
        "maximumDiscountCodeUse": 0,
        "maximumDiscountCodeUseDays": 0,
        "isCharter": false,
        "originSupplyChainHojreId": null,
        "stationBasedRevoking": false,
        "isDisabled": false,
        "ticketPrices": [
            {
                "ticketPrice": 900000,
                "commissionPrice": 9000,
                "discountPrice": 0,
                "buyPrice": 891000,
                "commissionPriceCategory": {
                    "commissionPriceCategoryId": "2fce79c7-864f-4d48-bf03",
                    "title": "شبکه سراسری فروش",
                    "currency": 1,
                    "currencyRate": 1,
                    "type": 1
                },
                "beneficiaries": null
            }
        ]
    },
    {
        "eventTicketTypeId": null,
        "programTicketTypeId": "9bee5a86-29cb-436d-8809-4f595dcbc2c5",
        "referenceTicketTypeId": "00000000-0000-0000-0000-000000000000",
        "isNumberEqualsReferenceTicketType": false,
        "eventTitle": "WorkingHoursCollection",
        "title": "سورتمه ( همراه با کودک 4 تا 8 ساله )",
        "description": null,
        "totalCapacity": 0,
        "remainingCapacity": 0,
        "totalQuotaCapacity": 0,
        "totalCharterdCapacity": 0,
        "isQoutaCapacity": false,
        "groupTitle": null,
        "index": 2,
        "maximumDiscountPercent": 100,
        "maximumDiscountCodeUse": 0,
        "maximumDiscountCodeUseDays": 0,
        "isCharter": false,
        "originSupplyChainHojreId": null,
        "stationBasedRevoking": false,
        "isDisabled": false,
        "ticketPrices": [
            {
                "ticketPrice": 1250000,
                "commissionPrice": 12500,
                "discountPrice": 0,
                "buyPrice": 1237500,
                "commissionPriceCategory": {
                    "commissionPriceCategoryId": "2fce79c7-864f-4d48-bf03",
                    "title": "شبکه سراسری فروش",
                    "currency": 1,
                    "currencyRate": 1,
                    "type": 1
                },
                "beneficiaries": null
            }
        ]
    }
]
    

اطلاعات کلیدی برای سبد خرید:

فیلد توضیحات
programTicketTypeId شناسه نوع بلیط برنامه (مثال: 0520e387-41da-4d69-8c42-02940d5744e2)
commissionPriceCategoryId شناسه دسته‌بندی قیمت کمیسیون (مثال: 2fce79c7-864f-4d48-bf03)
ticketPrice قیمت اصلی بلیط
commissionPrice مقدار کمیسیون بلیط
discountPrice مقدار تخفیف (در صورت وجود)
buyPrice قیمت نهایی خرید پس از تخفیف و کمیسیون

چرا بلیط‌ها چند قیمت دارند؟

  • تفکیک قیمت برای گروه‌های مختلف کاربران: مثلاً افراد محلی و گردشگران خارجی.
  • قیمت متفاوت در کانال‌های فروش: قیمت در گیشه، B2B و B2C ممکن است متفاوت باشد.
  • مدیریت سیاست‌های تخفیف و کمیسیون: هر بلیط می‌تواند شامل درصد تخفیف و کمیسیون مجزا باشد.

6. دریافت لیست رویدادها برای برنامه‌های نوع Event-Based (Type:2)

روش: GET

مسیر:

{{baseUrl}}/api/v3/supplychain/services/gishe/events?programId=&supplyChainHojreId=&filteredProgramTicketTypes=&start=2025-01-23&end=2025-01-29
            

توضیحات پارامترها:

پارامتر وضعیت توضیحات
programId ضروری شناسه برنامه موردنظر
supplyChainHojreId ضروری شناسه حجره تأمین‌کننده
filteredProgramTicketTypes اختیاری فیلتر بر اساس نوع بلیط
start و end اختیاری بازه زمانی برای دریافت رویدادها

محدودیت‌های زمانی:

اگر end و start نشوند، سیستم لیست رویدادها را برای ۳۰ روز آینده ارائه می‌دهد اما ticketTypes مقدار null خواهد داشت.

اگر end و start ارسال شوند و بازه زمانی بیشتر از ۷ روز باشد – ticketTypes مقدار null خواهد داشت.

[
    {
        "dateTime": "2025-01-23T00:00:00+03:30",
        "persianDate": "پنجشنبه 4 بهمن",
        "events": [
            {
                "excuteTime": "2025-01-23T20:00:00+03:30",
                "eventId": "6ecbad64-8c20-49fc-bf1b-ccbc9bf0adde",
                "start": "20:00",
                "end": "23:00",
                "endReservation": "21:00",
                "label": "سانس 20",
                "description": null,
                "capacity": 20,
                "ticketTypes": [
                    {
                        "eventTicketTypeId": "b801e10f-b9f1-436e-8592",
                        "programTicketTypeId": "adb3ebbf-3893-4778-894e",
                        "referenceTicketTypeId": "00000000-0000-0000-0000",
                        "isNumberEqualsReferenceTicketType": false,
                        "eventTitle": "سانس 20",
                        "title": "ECO | اکونومی",
                        "description": null,
                        "totalCapacity": 600,
                        "remainingCapacity": 20,
                        "totalQuotaCapacity": 0,
                        "totalCharterdCapacity": 0,
                        "isQoutaCapacity": false,
                        "groupTitle": null,
                        "index": 1,
                        "maximumDiscountPercent": 100,
                        "maximumDiscountCodeUse": 0,
                        "maximumDiscountCodeUseDays": 0,
                        "isCharter": false,
                        "originSupplyChainHojreId": null,
                        "stationBasedRevoking": false,
                        "isDisabled": false,
                        "ticketPrices": [
                            {
                                "ticketPrice": 2400000,
                                "commissionPrice": 960000,
                                "discountPrice": 0,
                                "buyPrice": 1440000,
                                "commissionPriceCategory": {
                                    "commissionPriceCategoryId": "da127042-beb2-4",
                                    "title": "شبکه سراسری فروش",
                                    "currency": 1,
                                    "currencyRate": 1,
                                    "type": 1
                                },
                                "beneficiaries": null
                            }
                        ]
                    },
                    {
                        "eventTicketTypeId": "62b1fa69-61a8-4920-9745",
                        "programTicketTypeId": "344f72de-6706-4969-a18f",
                        "referenceTicketTypeId": "00000000-0000-0000-0000",
                        "isNumberEqualsReferenceTicketType": false,
                        "eventTitle": "سانس 20",
                        "title": "VIP | وی آی پی",
                        "description": null,
                        "totalCapacity": 230,
                        "remainingCapacity": 20,
                        "totalQuotaCapacity": 0,
                        "totalCharterdCapacity": 0,
                        "isQoutaCapacity": false,
                        "groupTitle": null,
                        "index": 2,
                        "maximumDiscountPercent": 100,
                        "maximumDiscountCodeUse": 0,
                        "maximumDiscountCodeUseDays": 0,
                        "isCharter": false,
                        "originSupplyChainHojreId": null,
                        "stationBasedRevoking": false,
                        "isDisabled": false,
                        "ticketPrices": [
                            {
                                "ticketPrice": 3200000,
                                "commissionPrice": 800000,
                                "discountPrice": 0,
                                "buyPrice": 2400000,
                                "commissionPriceCategory": {
                                    "commissionPriceCategoryId": "da127042-beb2-",
                                    "title": "شبکه سراسری فروش",
                                    "currency": 1,
                                    "currencyRate": 1,
                                    "type": 1
                                },
                                "beneficiaries": null
                            }
                        ]
                    }
                ]
            }
        ]
    }
]

            

۷. دریافت جزئیات بلیط‌های یک رویداد خاص

روش: GET

مسیر:

{{baseUrl}}/api/v3/supplychain/services/gishe/event/ticket-types?eventId=&supplyChainHojreId=

        

✅ شامل اطلاعات قیمت، ظرفیت، و دسته‌بندی کمیسیون بلیط‌ها

۸. ایجاد سبد خرید (Shopping Cart)

روش: POST

مسیر:

   Base URL /api/v3/marketplace/services/hub/shopping-cart-groups?shoppingCartId=
    

✅ شامل لیستی از برنامه‌ها و بلیط‌های انتخاب‌شده
shoppingCartId اختیاری: اگر ارسال نشود، سیستم یک شناسه جدید می‌سازد.

نمونه Body برای برنامه Type:2 (Event-Based):

    [
  {
    "supplyChainHojreId": "2da00def-cdee-1f2f-5e90-3a159ed5cf67",
    "eventId": "ac71a759-561f-43f3-ae73-0dd5753f741f",
    "programId": "709ec9e4-0b8a-4603-b5a2-571c2c2782d4",
    "tickets": [
      {
        "programTicketTypeId": "03c3a39e-3225-4c7b-a43e-6c446d6542da",
        "eventTicketTypeId": "62b1fa69-61a8-4920-9745-a08a0325e05c",
        "commissionPriceCategoryId": "8e6d7b97-85c5-418e-8ecd-7bbbefa32b61"
      },
      {

        "programTicketTypeId": "03c3a39e-3225-4c7b-a43e-6c446d6542da",
        "eventTicketTypeId": "62b1fa69-61a8-4920-9745-a08a0325e05c",
        "commissionPriceCategoryId": "8e6d7b97-85c5-418e-8ecd-7bbbefa32b61"
      }
    ]
  },

    {
    "supplyChainHojreId": "5d31600a-0f47-96d2-9c26-3a16e0b2fee9",
    "programId": "24b0a6f6-0bbd-4f7a-8ec5-64ad759e5381",
    "tickets": [
      {

        "programTicketTypeId": "b205f2c7-7729-4c45-9e2b-60121a7c2e94",
        "manifestUniqueNumber": "پوریا شریعت زاده",
        "manifestUniqueName": "0921558961",
        "commissionPriceCategoryId": "9e28abf7-71de-497b-8d1d-deb46c709347"
      }

    ]
  }
]
        

✅ برای هر بلیط باید یک آبجکت جداگانه ارسال شود (فاقد quantity)

ایجاد سبد خرید (Shopping Cart)

روش: POST

مسیر:

{{baseUrl}}/api/v3/supplychain/services/gishe/shopping-cart-groups?shoppingCartId=
        

📌 توضیحات پارامترها:

پارامتر وضعیت توضیحات
shoppingCartId اختیاری اگر ارسال شود، سیستم از همین شاسه برای سبد خرید استفاده می‌کند. در غیر این صورت، یک شاسه جدید ایجاد خواهد شد.
supplyChainHojreId ضروری شناسه حجره زنجیره تامین.
programId ضروری شناسه برنامه مربوط به برنامه‌ها (فقط برای برنامه‌های Type:2 اجباری است).
programTicketTypeId ضروری شناسه نوع بلیط برنامه‌ها.
tickets ضروری آیتم‌های از اطلاعات بلیط‌ها.
eventId فقط برای Type:2 شناسه رویداد مربوطه (فقط در برنامه‌های Type:2).
eventTicketTypeId فقط برای Type:2 شناسه نوع بلیط رویداد (فقط در برنامه‌های Type:2).
manifestUniqueName اختیاری نام مسافر (در صورت نیاز به احراز هویت).
manifestUniqueNumber اختیاری شماره منحصربه‌فرد مسافر (در صورت نیاز به احراز هویت).
commissionPriceCategoryId ضروری شناسه دسته‌بندی کمیسیون برای مدیریت قیمت بلیط.

✅ نکته:

برای برنامه‌های Type:1 (سرویس‌ها) نیازی به eventId و eventTicketTypeId نیست.
اگر مقدار isManifestUniqueNumberNeeded برابر true باشد، ارسال manifestUniqueName و manifestUniqueNumber الزامی است.

نمونه Body برای برنامه نوع 2 (Event-Based) 📌

  [
  {
    "supplyChainHojreId": "2da00def-cdee-1f2f-5e90-3a159ed5cf67",
    "eventId": "ac71a759-561f-43f3-ae73-0dd5753f741f",
    "programId": "709ec9e4-0b8a-4603-b5a2-571c2c2782d4",
    "tickets": [
      {
        "programTicketTypeId": "03c3a39e-3225-4c7b-a43e-6c446d6542da",
        "eventTicketTypeId": "62b1fa69-61a8-4920-9745-a08a0325e05c",
        "manifestUniqueNumber": "1234567890",
        "manifestUniqueName": "Ali Rezaei",
        "commissionPriceCategoryId": "8e6d7b97-85c5-418e-8ecd-7bbbefa32b61"
      }
    ]
  }
]
            

نمونه Body برای برنامه نوع 1 (Service) 📌

[
  {
    "supplyChainHojreId": "5d31600a-0f47-96d2-9c26-3a16e0b2fee9",
    "programId": "24b0a6f6-0bbd-4f7a-8ec5-64ad759e5381",
    "tickets": [
      {
        "programTicketTypeId": "b205f2c7-7729-4c45-9e2b-60121a7c2e94",
        "manifestUniqueNumber": "9876543210",
        "manifestUniqueName": "Sara Mohammadi",
        "commissionPriceCategoryId": "9e28abf7-71de-497b-8d1d-deb46c709347"
      }
    ]
  }
]

تفاوت بین برنامه‌های Type:1 و Type:2 در Shopping Cart 📌

ویژگی برنامه نوع 1 (Service) برنامه نوع 2 (Event-Based)
eventId نیاز به ندارد ❌ نیاز به دارد ✅
eventTicketTypeId نیاز به ندارد ❌ نیاز به دارد ✅
نوع ظرفیت نامحدود محدود به ظرفیت رویداد
زمان خرید هر زمان فقط قبل از برگزاری رویداد

✅ نکته:

در برنامه‌های Type:2، رزرو فقط برای تاریخ و ساعت مشخص امکان‌پذیر است.

در برنامه‌های Type:1، بلیط‌ها همیشه در دسترس هستند و نیازی به انتخاب رویداد خاصی ندارند.

📌نکته مهم: نحوه ارسال تعداد بلیط‌ها (Quantity)

📌ساختار Shopping Cart تعداد بليت (Quantity) را در نظر نمی‌گیرد.

✅ اگر مشتری چندین بلیط از یک نوع بخواهد، باید هر بلیط را بصورت جداگانه در آرایه tickets ارسال کنید.

نمونه Body برای 2 بلیط از نوع خاص در برنامه Type:2

"tickets": [
  {
    "programTicketTypeId": "03c3a39e-3225-4c7b-a43e-6c446d6542da",
    "eventTicketTypeId": "62b1fa69-61a8-4920-9745-a08a0325e05c",
    "manifestUniqueNumber": "1234567890",
    "manifestUniqueName": "Ali Rezaei",
    "commissionPriceCategoryId": "8e6d7b97-85c5-418e-8ecd-7bbbefa32b61"
  },
  {
    "programTicketTypeId": "03c3a39e-3225-4c7b-a43e-6c446d6542da",
    "eventTicketTypeId": "62b1fa69-61a8-4920-9745-a08a0325e05c",
    "manifestUniqueNumber": "1234567891",
    "manifestUniqueName": "Sara Mohammadi",
    "commissionPriceCategoryId": "8e6d7b97-85c5-418e-8ecd-7bbbefa32b61"
  }
]
            

نهایی‌سازی سبد خرید (Finalizing Shopping Cart)

روش: PATCH

مسیر:

api/v3/marketplace/services/hub/finalizing-shopping-cart?shoppingCartId=

Endpoint برای نهایی کردن خرید و پرداخت استفاده می‌شود.
✅ پس از موفقیت، سیستم لینک فاکتور و کد QR بلیط‌ها را ارائه خواهد کرد.

📌 Body درخواست:

{
  "paymentMethod": 100,
  "bankGateway": 0,
  "customerFullName": "Ali Rezaei",
  "customerMobile": "09111111111",
  "customerAddress": "تهران، خیابان ولیعصر",
  "internalTrackingCode": "ABC123456",
  "description": "پرداخت بلیط نمایش",
  "totalDiscount": 50000.00,
  "sendTicketSms": true
}
    

📌 توضیحات پارامترهای Body:

پارامتر وضعیت توضیحات
paymentMethod ضروری روش پرداخت (100 برای پرداخت آنلاین)
bankGateway ضروری درگاه پرداخت ( 0مقدار پیش‌فرض)
customerFullName ضروری نام کامل مشتری
customerMobile ضروری شماره موبایل مشتری برای ارسال اطلاعات
customerAddress اختیاری آدرس مشتری (در صورت نیاز)
internalTrackingCode اختیاری کد پیگیری داخلی برای سفارش
description اختیاری توضیحات مربوط به پرداخت
totalDiscount اختیاری مبلغ کل تخفیف اعمال‌شده
sendTicketSms اختیاری اگر true باشد، بلیط از طریق پیامک ارسال می‌شود

📌 خروجی (Response) پس از نهایی‌سازی خرید

✅ لینک فاکتور و بلیط‌ها

✅ کد QR برای هر بلیط و گروه بلیط

{
  "invoiceUrl": "https://marketplace-api.0tp.ir/invoice/12345",
  "tickets": [
    {
      "ticketUrl": "https://marketplace-api.0tp.ir/ticket/67890",
      "qrCode": "data:image/png;base64,iVBORw0KGgoAAA

ANSUhEUgAA..."
    }
  ]
}
    

An error has occurred. This application may no longer respond until reloaded.Reload 🗙