bulk availability
متد GetFlightCount
این متد برای بدست آوردن تعداد کل پروازهای یک تامین کننده استفاده می شود.
استفاده از این متد اختیاری می باشد.
کاربرد این متد برای بهینه تر شدن درخواست های کلاینت به متدهای DateRange می باشد. بدین صورت که اگر کلاینت قبل از ارسال درخواست خود به متدهای DateRange، از تعداد پروازهای موجود در سایت تامین کننده اطلاع داشته باشد، بهتر می تواند بازه های زمانی برای دریافت پرواز را انتخاب نماید.
مثال 1: به عنوان مثال وقتی شما با فراخوانی این متد متوجه شوید که سایت یک تامین کننده کلا حدودا 500 پرواز چارتری دارد، آنگاه زمان فراخوانی متد GetCharterFlights بهتر است بازه یک ساله ارسال کنید و کل پروازهای چارتری را در یک درخواست دریافت نمایید. ولی در صورتی که تعداد پرواز بیشتر از 500 باشد بهتر بازهای درخواست متفاوت و متعددتری را انتخاب نمایید. مثلا در یک درخواست پروازهای تا دو هفته آینده را دریافت نمایید و درخواست بعدی پروازهای دوهفته تا سه ماه آینده را انتخاب نمایید و همچنین پروازهای دوهفته آینده را هر 20 ثانیه آپدیت کنید ولی بازه دوهفته تا 3 ماه را هر 60 ثانیه یکبار آپدیت نمایید.
مثال 2: به عنوان مثال وقتی شما با فراخوانی این متد متوجه شوید که سایت یک تامین کننده هیچ پرواز وب سرویسی ندارد، نیازی به فراخوانی متدهای GetRange پروازهای وب سرویسی نیست.
بنابراین فراخوانی و استفاده از این متد اجباری نیست و فقط در زمانی که شما پروازها را جهت Cache کردن بر اساس بازه تاریخی دریافت می کنید، این متد کمک خواهد داد که بهتر در مورد تعداد درخواست ها و بازهای زمانی آنها تصمیم گیری نمایید.
البته تمام عددهای ذکر شده فوق تمثیلی بوده و شما می توانید براساس resource که سرور شما در اختیار دارد و نیاز که برای به روز بودن پروازها دارید، اعداد متفاوت تری را استفاده نمایید.
پیشنهاد میشود ساعتی یکبار این متد را فراخوانی نموده و مدل درخواست زدن خود به تامین کننده را براساس اعداد جدید تنظیم نمایید.
API Endpoint
https://{SupplierWebsiteUrl}/api/Partners/Flight/BulkAvailability/V17/GetFlightCount post
Request Parameters
نمونه کلاس Request به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Flight\BulkAvailability\V17\GetFlightCount\RequestModel
Username
string
نام کاربری
در صورتی که شما یک موتور جستجو هستید و قصد فروش نداشته و فقط می خواهید اطلاعات پروازهای عمومی را بدست آورید، نام کاربری را public ارسال نمایید.
Password
string
رمز عبور به صورت MD5 شده
FetchSupplierWebserviceFlights
boolean
این فیلد مشخص می کند که آیا پروازهایی که تامین کننده از طریق وب سرویس دریافت کرده است و خود چارترکننده آن نیست را وب سرویس خروجی دهد یا خیر.
عموما به دلیل اینکه پروازهای غیرچارتری یک تامین کننده را شما به صورت مستقیم از منبع اصلی آن دریافت می کنید می توانید مقدار false را برای این فیلد ارسال نمایید.
در زمان استفاده از سپهرهاب، مقدار این فیلد باید true ارسال شود.
{
"UserName": "testdev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"FetchSupplierWebserviceFlights": true
}
Response Data
نمونه کلاس Response به زبان سی شارپ در پروژه Partners.Contracts (دانلود) در پوشه زیر موجود است:
\Flight\BulkAvailability\V17\GetFlightCount\ResponseModel
FlightCount
number
تعداد کل پروازهای سایت تامین کننده شامل پروازهای OnTime و Close
به دلیل اینکه تعداد پروازهای برگشتی توسط این متد شامل پروازهای Close هم می شود، عدد آن با تعداد برگشتی از متدهای date range مغایرت دارد و این تفاوت طبیعی است.
{
"FlightCount": 3933
}