change-passenger-info
متد DoChange
وبسرویس DoChange جهت ویرایش اطلاعات مسافر مورد استفاده قرار میگیرد. در حال حاضر، امکان اعمال تغییرات زیر از طریق این وبسرویس فراهم است:
- تغییر عنوان مسافر (آقا / خانم): در حال حاضر این نوع تغییر رایگان بوده و مشمول هزینه نمیباشد.
- تغییر نام مسافر (حداکثر یک یا دو کاراکتر): امکانپذیری این تغییر بسته به تنظیمات تأمینکننده خدمات است و مشمول هزینه میباشد. هدف اصلی استفاده از این متد، محاسبه هزینه جریمه تغییر نام مسافر است.
- تغییر اطلاعات گذرنامه شامل شماره گذرنامه، تاریخ انقضا و محل صدور: در حال حاضر این نوع تغییر رایگان بوده و مشمول هزینه نمیباشد.
توجه: سرویس «تغییر اطلاعات مسافر» ممکن است برای برخی از تأمینکنندگان غیرفعال باشد. در چنین شرایطی، هنگام فراخوانی متد GetPenalty، خطای Error1033-ChangePassengerInfoAccessDenied به عنوان پاسخ بازگردانده خواهد شد. در صورت دریافت این خطا، امکان تغییر اطلاعات مسافر از طریق وبسرویس وجود ندارد و لازم است تغییرات موردنظر بهصورت مستقیم با تأمینکننده مربوطه انجام شود.
API Endpoint
POST https://{SupplierWebsiteUrl}/api/Partners/Flight/ChangePassengerInfo/V1/DoChange
Request Parameters
Usernamestring
required
نام کاربری
Passwordstring
required
رمز عبور به صورت MD5 شده
Pnrstring
required
رفرنس رزروی که میخواهید یک یا همه ی مسافران آن را استرداد نمایید
PassengerListList(Passenger)
required
لیست مسافرانی که می خواهیم اطلاعات آنها را تغییر دهیم.
PassengerList.Idstring
required
این شناسه بهصورت یکتا برای هر مسافر تعریف میشود و در خروجی متدهای زیر قابل دسترسی است:
PassengerList.PassengerNewDatacomplex type
required
اطلاعات جدیدی که می خواهید برای مسافر ثبت شود
PassengerList.PassengerNewData.GenderTypestring
required
جنسیت مسافر که مقدار آن میتواند یکی از دو حالت زیر باشد:
M: مردF: زنPassengerList.PassengerNewData.FirstNamestring
required
نام مسافر
PassengerList.PassengerNewData.LastNamestring
required
نام خانوادگی مسافر
PassengerList.PassengerNewData.Passportcomplex type
optional/conditional
اطلاعات گذرنامه مسافر
در صورتی که مسافر با گذرنامه سفر میکند، لازم است اطلاعات گذرنامه وی در این فیلد ارسال شود
PassengerList.PassengerNewData.Passport.Numberstring
required
شماره گذرنامه مسافر
PassengerList.PassengerNewData.Passport.ExpiryDatestring
required
تارخ انقضا گذرنامه با فرمت yyyy-MM-dd و به صورت میلادی.
PassengerList.PassengerNewData.Passport.PlaceOfIssueCountryCodestring
required
کد ISO دو حرفی یا سه حرفی محل صدور گذرنامه مسافر
جهت مشاهده کد ISO کشور ها اینجا کلیک نمایید.
به عنوان مثال برای ایران می توانید یکی از مقدارهای IR یا IRN را وارد نمایید.
TotalPenaltydecimal
required
مجموع مبلغ جریمه.
مقدار این فیلد برابر است با مجموع مقادیر فیلد Penalty که در متد GetPenalty برای هر مسافر محاسبه و در خروجی بازگردانده شده است.
هدف از ارائه این فیلد، اطمینان از یکسان بودن مبلغ کل جریمه بین سیستم کلاینت و سیستم تأمینکننده و جلوگیری از بروز هرگونه مغایرت مالی میباشد.
Culturestring
required
مشخص میکند پیامهای خطا بر اساس کدام زبان خروجی داده شوند. مقدار این فیلد میتواند یکی از گزینههای
en-US،ar-IQیاfa-IRباشد.
Sample Request
نمونه درخواست تغییر عنوان و 2 کاراکتر یک مسافر در یک رزرو دو نفره
curl -X POST https://SepehrApiTest.ir/api/Partners/Flight/ChangePassengerInfo/V1/DoChange \
-H "Content-Type: application/json; charset=utf-8" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip, deflate" \
-d '{
"Username": "TestDev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"Pnr": "AG3B2V",
"PassengerList": [{
"Id": "ae3c2436-4be8-48b3-a3f1-1b2c2c03c32d",
"PassengerNewData": {
"GenderType": "M",
"FirstName": "SEYEDEHKIANA",
"LastName": "MOSTAMAND",
"Passport": null
}
}, {
"Id": "f0ecdce9-3734-4074-80ac-e3f0c173afd7",
"PassengerNewData": {
"GenderType": "F",
"FirstName": "MOHADESEH",
"LastName": "ASHRAFVAGHEFI",
"Passport": null
}
}
],
"TotalPenalty": 2000000.0,
"Culture": "fa-IR"
}'
نمونه درخواست تغییر اطلاعات گذرنامه
curl -X POST https://SepehrApiTest.ir/api/Partners/Flight/ChangePassengerInfo/V1/DoChange \
-H "Content-Type: application/json; charset=utf-8" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip, deflate" \
-d '{
"Username": "TestDev1",
"Password": "25f9e794323b453885f5181f1b624d0b",
"Pnr": "I54848",
"PassengerList": [{
"Id": "355e2df8-fae0-4cad-86f4-5d511b9008bc",
"PassengerNewData": {
"GenderType": "M",
"FirstName": "ABED",
"LastName": "HOSSEYNI",
"Passport": {
"Number": "A56753465",
"ExpiryDate": "2029-11-20",
"PlaceOfIssueCountryCode": "IR"
}
}
}
],
"TotalPenalty": 0.0,
"Culture": "fa-IR"
}'
Response Parameters
این متد در صورت موفقیت جوابی به صورت json برنمی گرداند و فقط Http Code شماره 200 برگشت داده خواهد شد.
Response common exceptions
در جدول زیر لیستی از خطاهایی که ممکن است بعد از فراخوانی این متد برگشت داده شود، فهرست شده است.
| ExceptionType | توضیح خطا |
|---|---|
| Error1032-ReservationChangePassengerInfoIsDoneOnceBefore | این رزرو قبلا اصلاح شده است و امکان ویرایش مجدد آن وجود ندارد. |
| Error1033-ChangePassengerInfoAccessDenied | سرویس ویرایش اطلاعات مسافران روی سیستم تامین کننده فعال نیست. |
| Error1034-PenaltyMismatch | مبلغ جریمه ارسال شده با جریمه تعریف شده در سیستم مطابقت ندارد. |
| Exception | خطای نامشخص. جهت دریافت اطلاعات بیشتر باید به ErrorMessage داخل json برگشتی مراجعه نمود. |