event-retrieval-b2b
متد GetEvents
این متد برای دریافت Event های سیستم فروش و رزرواسیون استفاده می گردد.
کاربرد این متد برای مجموعه های نرم افزاری می باشد که می خواهند به اطلاعات فروش و اتفاقات روی داده در سیستم یک تامین کننده دسترسی داشته باشند.
این متد باید هر چند دقیقه یک بار (یا هر چند ساعت یکبار، بسته به نیاز شما) فراخوانی شده و لیست رویدادهای جدید دریافت گردد.
این متد حداکثر 5000 عدد رکورد خروجی می دهد. در صورتی که بازه تاریخی درخواست شما بزرگ باشد و سیستم بیش از 5000 عدد رویداد برگشت دهد، می بایست تاریخ آخرین رویدادی که این متد خروجی داده است را بدست آورده و مجددا یک درخواست جدید ارسال نمایید که FromDate آن، تاریخ آخرین رویداد قبلی باشد.
جهت استفاده از این متد نیاز می باشد IP شما به عنوان Trust در سیستم سپهر تعریف گردد.
خروجی رویدادهای این متد، معمولا 1 دقیقه عقب تر از رویدادهای اتفاق افتاده در سیستم می باشد. به بیان دیگر، رویدادها معمولا با یک دقیقه تاخیر خروجی داده می شود.
خروجی Json این متد دقیقا شبیه و برابر با خروجی است که به صورت دستی از سیستم رزرواسیون می تواند دریافت کرد. جهت دریافت خروجی به صورت دستی، در سیستم سپهر وارد سیستم جدید شده، منوی گزارش عملکرد فروش و منو Json را انتخاب نمایید. دریافت Json به صورت دستی به شما این امکان را می دهد که بدون پیاده سازی وب سرویس، به اطلاعات رویدادهای سیستم دسترسی پیدا نمایید. و نیاز به IP Trust یا طی مراحل اداری نمی باشد.
فرمت رویداد و Json های خروجی این متد بسیار شبیه به خروجی متد EventRetrieval/B2M می باشد ولی عینا با آن یکی نیست و در قسمت هایی متفاوت می باشد.
زمان (تاریخ و ساعت) هایی که در این وب سرویس خروجی داده میشود – مثلا فیلد BookingDateTime – بر اساس ناحیه زمانی UTC می باشد و در صورت نیاز باید آنها را به زمان ایران تبدیل نمایید.
زمان پرواز به ناحیه زمانی محلی خروجی داده می شود. مثلا برای یک پرواز تهران استانبول، زمان...
API Endpoint
POST https://{SupplierWebsiteUrl}/api/ThirdParties/EventRetrieval/B2B/V1/GetEvents
Request Headers
لطفا دقت نموده که به همراه تمامی درخواست های خود، header های زیر را نیز ارسال نمایید.
Content-Type: application/json; charset=utf-8required
استفاده از این Header مشخص می کند که فرمت درخواست شما json بوده و encoding که برای ارسال اطلاعات استفاده شده utf-8 می باشد.
Accept: application/jsonrequired
استفاده از این Header به سرور سپهر اعلام می کند که باید جواب را به صورت json برگشت دهد.
Accept-Encoding: gzip, deflaterequired
استفاده از این Header باعث می گردد جواب برگشتی از سرور به صورت فشرده شده باشد.
Request Parameters
Usernamestring
required
نام کاربری
Passwordstring
required
رمز عبور به صورت MD5
FromDatetimestring
required
تاریخ شروع دریافت رویداد ها با فرمت yyyy-MM-dd HH:mm:ss به صورت میلادی و بر اساس ناحیه زمانی UTC
ToDatetimestring
required
تاریخ پایان دریافت رویداد ها با فرمت yyyy-MM-dd HH:mm:ss به صورت میلادی و بر اساس ناحیه زمانی UTC
EventTypeListArray of string
required
نوع ایوینت هایی که تمایل به دریافت آن را دارید
در حال حاضر موارد زیر را به عنوان نوع رویداد می توانید ارسال نمایید
- FederatedFlight.FlightBookedV2
- CharterFlight.BookingSegmentCancelledV1
- CharterFlight.BookingFlightSegmentReplacedV1
- CharterFlight.BookingFlightSegmentChangedV1
- CharterFlight.PassengerAddedToBookingV1
- CharterFlight.SegmentAddedToBookingV1
- WebserviceFlight.BookingFlightSegmentCancelledV1
- FederatedHotel.HotelBookedV1
- TourBundle.TourBundleBookedV2
Sample Request
{
"Username": "TestDev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"FromDatetime": "2021-09-28 00:00:00",
"ToDatetime": "2021-10-01 00:00:00",
"EventTypeList": [
"FederatedFlight.FlightBookedV2",
"CharterFlight.BookingSegmentCancelledV1",
"FederatedHotel.HotelBookedV1",
"TourBundle.TourBundleBookedV2",
"CharterFlight.BookingFlightSegmentReplacedV1"
]
}
Response Parameters
EventListArray of events
لیست رویدادها
EventList.Idnumber
شناسه منحصر به فرد یک رویداد
EventList.Typestring
نوع رویداد. که براساس آن فیلد Data باید تفسیر گردد.
EventList.CreateDateTimestring
زمان رخ دادن رویداد. با فرمت yyyy-MM-dd HH:mm:ss به صورت میلادی و بر اساس ناحیه زمانی UTC
EventList.Datastring
محتوای رویداد
Sample Response
{
"EventList": [
{
"Id": 27030,
"Type": "CharterFlight.BookingSegmentCancelledV1",
"CreateDateTime": "2021-09-28 09:31:32",
"Data": {
"Pnr": "CBE288",
"SerialNumber": 213463,
"ReserveForUserId": 1903,
"ReserveForAgencyId": 6575,
"ReserveForAgencyName": "تست ادمين1",
"BookingDateTimeUtc": "2021-09-28 07:53:39",
"PaymentTypeId": 1,
"CancelledByUserId": 1893,
"CancelledByUsername": "amini",
"CancelationDateTimeUtc": "2021-09-28 09:31:32",
"CancelledFlightInfo": {
"FlightId": 39829,
"FlightClassId": 798203,
"FlightNumber": "010",
"FlightDate": "2021-10-05 03:30",
"OriginIataCode": "IKA",
"DestinationIataCode": "ADB",
"BookingCode": "Y",
"FareName": "547",
"AirlineIataCode": "XC"
},
"Passengers": [
{
"FirstName": "SAM",
"LastName": "SMITH",
"AgeTypeCode": "ADL",
"TicketNumber": 1525266,
"SaleInfo": {
"BaseFare": 3700000,
"Tax": 0,
"TotalFare": 3700000,
"CommisionPercent": 3,
"CalculatedAmountOfCommisionPercent": 111000,
"CommisionValue": 0,
"Discount": 0,
"Surcharge": 0,
"Payable": 3589000
},
"PenaltyPolicyPercent": 30,
"PenaltyAmountThatPassengerShouldPay": 1076700,
"OppositeFlightOnewayAndRoundtripPayableDifferenceThatPassengerShouldHaveCharged": 0,
"OppositeFlightOnewayAndRoundtripPayableDifferenceThatPassengerCharged": 0,
"AmountThatShouldPayBackToPassenger": 2221300,
"OppositeFlight": {
"FlightId": 40187,
"FlightNumber": "020",
"FlightDate": "2021-09-28 13:00",
"OriginIataCode": "ADB",
"DestinationIataCode": "IKA",
"OnewaySaleInfo": {
"BaseFare": 3400000,
"Tax": 0,
"TotalFare": 3400000,
"CommisionPercent": 3,
"CalculatedAmountOfCommisionPercent": 102000,
"CommisionValue": 0,
"Discount": 0,
"Surcharge": 0,
"Payable": 3298000
},
"RoundtripSaleInfo": {
"BaseFare": 3100000,
"Tax": 0,
"TotalFare": 3100000,
"CommisionPercent": 3,
"CalculatedAmountOfCommisionPercent": 93000,
"CommisionValue": 0,
"Discount": 0,
"Surcharge": 0,
"Payable": 3007000
}
}
}
],
"SaleCurrency": {
"Id": 1,
"Code": "IRR"
}
}
},
// ... بیشتر رویدادها با ساختار مشابه
]
}