event-retrieval-b2m
متد Event Retrieval B2M
این متد برای دریافت Event های سیستم فروش و رزرواسیون استفاده می گردد.
کاربرد این متد برای مجموعه های نرم افزاری می باشد که می خواهند به اطلاعات فروش و اتفاقات روی داده در سیستم بر اساس اطلاعات دفتر مرکزی دسترسی داشته باشند.
این متد باید هر چند دقیقه یک بار (یا هر چند ساعت یکبار، بسته به نیاز شما) فراخوانی شده و لیست رویدادهای جدید دریافت گردد.
در صورتی که در حال پیاده سازی این وب سرویس برای مشتری هستید که نیاز آن مشتری دریافت Event ها از سایر سیستم های سپهراست، لطفا از متد EventRetrieval/B2B استفاده نمایید.
این متد حداکثر 5000 عدد رکورد خروجی می دهد. در صورتی که بازه تاریخی درخواست شما بزرگ باشد و سیستم بیش از 5000 عدد رویداد برگشت دهد، می بایست تاریخ آخرین رویدادی که این متد خروجی داده است را بدست آورده و مجددا یک درخواست جدید ارسال نمایید که FromDate آن، تاریخ آخرین رویداد قبلی باشد.
جهت استفاده از این متد نیاز می باشد IP شما به عنوان Trust در سیستم سپهر تعریف گردد. جهت انجام این مورد، نیاز می باشد که مجموعه ای که قصد دریافت اطلاعات از آن را دارید، روی سربرگ رسمی IP را به مجموعه سپهر اعلام نماید. جهت دریافت نمونه درخواست، اینجا کلیک نمایید. همچنین برای تست می توانید از محیط تستی (سایت SepehrApiTest.ir) استفاده نمایید که تراست کردن IP بدون نیاز به طی مراحل رسمی و اداری امکان پذیر است. برای استفاده از محیط تست کافی است IP خود را از طریق واترآپ یا تلگرام به ما اعلام نمایید.
خروجی رویدادهای این متد، معمولا 1 دقیقه عقب تر از رویدادهای اتفاق افتاده در سیستم می باشد. به بیان دیگر، رویدادها معمولا با یک دقیقه تاخیر خروجی داده می شود.
خروجی Json این متد دقیقا شبیه و برابر با خروجی است که به صورت دستی از سیستم رزرواسیون می تواند دریافت کرد.
API Endpoint
POST https://{SupplierWebsiteUrl}/api/ThirdParties/EventRetrieval/B2M/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
FromDatetimestring
required
تاریخ شروع دریافت رویداد ها با فرمت yyyy-MM-dd HH:mm:ss به صورت میلادی و بر اساس ناحیه زمانی UTC
ToDatetimestring
required
تاریخ پایان دریافت رویداد ها با فرمت yyyy-MM-dd HH:mm:ss به صورت میلادی و بر اساس ناحیه زمانی UTC
EventTypeListArray of string
required
نوع ایوینت هایی که تمایل به دریافت آن را دارید
در حال حاضر موارد زیر را به عنوان نوع رویداد می توانید ارسال نمایید
FederatedFlight.FlightBookedV2CharterFlight.BookingSegmentCancelledV1CharterFlight.BookingFlightSegmentReplacedV1CharterFlight.BookingFlightSegmentChangedV1CharterFlight.PassengerAddedToBookingV1CharterFlight.SegmentAddedToBookingV1CharterFlight.PassengerListImportedV1CharterFlight.FlightAddedV1CharterFlight.FlightUpdatedV1CharterFlight.FlightClassAddedV1CharterFlight.FlightClassUpdatedV1CharterFlight.FlightClassViewFilterUpdatedV1WebserviceFlight.BookingFlightSegmentCancelledV1FederatedHotel.HotelBookedV1TourBundle.TourBundleBookedV2Federated.PassengerInfoChangedV1IPG.AccountChargedIPG.PaymentLinkPaid
Sample Request
curl -X POST https://SepehrApiTest.ir/api/ThirdParties/EventRetrieval/B2M/V1/GetEvents \
-H "Content-Type: application/json; charset=utf-8" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip, deflate" \
-d '{
"FromDatetime": "2021-10-10 00:00:00",
"ToDatetime": "2022-10-10 01:23:56",
"EventTypeList": [
"FederatedFlight.FlightBookedV2",
"CharterFlight.BookingSegmentCancelledV1",
"FederatedHotel.HotelBookedV1",
"TourBundle.TourBundleBookedV2",
"CharterFlight.BookingFlightSegmentReplacedV1",
"Federated.PassengerInfoChangedV1"
]
}'
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": 24634,
"Type": "FederatedFlight.FlightBookedV2",
"CreateDateTime": "2021-05-01 05:42:24",
"Data": {
"Pnr": "KI8HCG",
"SerialNumber": 212959,
"Phone": "+989385545109",
"Email": "TEST@gmail.com",
"Address": "",
"Remarks": "",
"ReserveForAgencyId": 2822,
"ReserveForAgencyName": "فروش نقدي اينترنتي",
"ReserveForUserId": 5277,
"ReserveForUserName": "فروش نقدي اينترنتي",
"ReserveByUserId": 5277,
"ReserveByUserName": "فروش نقدي اينترنتي",
"UserIp": "192.168.1.22",
"IsBookedByExternalApi": false,
"CookieTraceId": "50c9ecf0-920a-41a6-8d94-e46175ca6216",
"BookingDateTimeUtc": "2021-05-01 05:42:24",
"TotalSalePayableOfCharterSegments": 0,
"TotalSalePayableOfWebserviceSegments": 3517500,
"TotalSalePayable": 3517500,
"SaleCurrency": {
"Id": 1,
"Code": "IRR"
},
"Passengers": [
{
"AgeTypeId": 1,
"FirstName": "TEST",
"LastName": "TEST",
"IranianCartMelli": {
"CodeMelli": "0021961522"
},
"Passport": null,
"Gender": 2,
"Birthdate": "1999-01-07",
"CharterSegments": [],
"WebserviceSegments": [
{
"Flight": {
"FlightNumber": "958",
"FlightDate": "2021-05-01 12:00",
"DurationInMinute": 0,
"OriginIataCode": "TBZ",
"DestinationIataCode": "THR",
"BookingCode": "Y",
"FareName": "AC11",
"SupplierId": 5,
"AirlineIataCode": "EP"
},
"SupplierId": 5,
"SupplierPnr": "JMAL6X",
"SupplierTicketNumber": 0,
"PrimarySupplier": null,
"LocalTicketNumber": 0,
"JarimeCanceliFaText": null,
"JarimeCanceliEnText": null,
"BuyInfo": {
"CurrencyId": 1,
"NerkheTabdileArzeKharidBeArzePaye": 1,
"BaseFare": 3350000,
"Tax": 0,
"TotalFare": 3350000,
"Commision": 0,
"Payable": 3350000
},
"SaleInfo": {
"BaseFare": 3517500,
"Tax": 0,
"TotalFare": 3517500,
"CommisionPercent": 0,
"CalculatedAmountOfCommisionPercent": 0,
"CommisionValue": 0,
"Discount": 0,
"Surcharge": 0,
"Payable": 3517500
},
"FreeBaggage": {
"CheckedBaggageQuantity": 0,
"CheckedBaggageTotalWeight": 0,
"HandBaggageQuantity": 0,
"HandBaggageTotalWeight": 0
}
}
]
}
],
"DepartureFlightDetail": [
{
"Charter": null,
"Webservice": {
"FlightNumber": "958",
"FlightDate": "2021-05-01 12:00",
"DurationInMinute": 0,
"OriginIataCode": "TBZ",
"DestinationIataCode": "THR",
"BookingCode": "Y",
"FareName": "AC11",
"SupplierId": 5,
"AirlineIataCode": "EP"
}
}
],
"ReturningFlightDetail": null,
"Payment": {
"PaymentTypeId": 3,
"SettlePaymentDatetime": "2021-05-01 05:42:16",
"UserReturningFromIpgDateTime": "2021-05-01 05:42:16",
"Ansar": null,
"Gardeshgari": null,
"Mellat": null,
"Parsian": null,
"Pasargad": {
"InvoiceNumber": 212959,
"TransactionReferenceId": "1234567890",
"TraceNumber": "516180",
"ReferenceNumber": "141185357766"
},
"Saman": null
},
"Utm": null,
"AyaMogheForoshFareTarkibShode": false,
"PnrSystemDakheliAgance": null
}
},
{
"Id": 24666,
"Type": "FederatedFlight.FlightBookedV2",
"CreateDateTime": "2021-05-02 12:13:42",
"Data": {
"Pnr": "J35Y86",
"SerialNumber": 212962,
"Phone": "+989221101261",
"Email": "sepehr.vahid.qozatlou@gmail.com",
// ... بیشتر فیلدها مشابه رویداد قبلی
}
},
{
"Id": 24644,
"Type": "FederatedHotel.HotelBookedV1",
"CreateDateTime": "2021-05-02 08:55:51",
"Data": {
"Pnr": "MD8J46",
"SerialNumber": 212960,
// ... بیشتر فیلدها مربوط به هتل
}
},
{
"Id": 24653,
"Type": "TourBundle.TourBundleBookedV2",
"CreateDateTime": "2021-05-02 09:47:24",
"Data": {
"Pnr": "V28TOV",
"SerialNumber": 212961,
// ... بیشتر فیلدها مربوط به تور
}
}
]
}