مستندات وب سرویس

متد DoChange

Download Markdown for LLM

وب‌سرویس DoChange جهت ویرایش اطلاعات مسافر مورد استفاده قرار می‌گیرد. در حال حاضر، امکان اعمال تغییرات زیر از طریق این وب‌سرویس فراهم است:

  • تغییر عنوان مسافر (آقا / خانم): در حال حاضر این نوع تغییر رایگان بوده و مشمول هزینه‌ نمی‌باشد.
  • تغییر نام مسافر (حداکثر یک یا دو کاراکتر): امکان‌پذیری این تغییر بسته به تنظیمات تأمین‌کننده خدمات است و مشمول هزینه می‌باشد. هدف اصلی استفاده از این متد، محاسبه هزینه جریمه تغییر نام مسافر است.
  • تغییر اطلاعات گذرنامه شامل شماره گذرنامه، تاریخ انقضا و محل صدور: در حال حاضر این نوع تغییر رایگان بوده و مشمول هزینه‌ نمی‌باشد.

توجه: سرویس «تغییر اطلاعات مسافر» ممکن است برای برخی از تأمین‌کنندگان غیرفعال باشد. در چنین شرایطی، هنگام فراخوانی متد GetPenalty، خطای Error1033-ChangePassengerInfoAccessDenied به عنوان پاسخ بازگردانده خواهد شد. در صورت دریافت این خطا، امکان تغییر اطلاعات مسافر از طریق وب‌سرویس وجود ندارد و لازم است تغییرات موردنظر به‌صورت مستقیم با تأمین‌کننده مربوطه انجام شود.


API Endpoint

POST https://{SupplierWebsiteUrl}/api/Partners/Flight/ChangePassengerInfo/V1/DoChange

Request Parameters

  • Username

    string

    required

    نام کاربری

  • Password

    string

    required

    رمز عبور به صورت MD5 شده

  • Pnr

    string

    required

    رفرنس رزروی که میخواهید یک یا همه ی مسافران آن را استرداد نمایید

  • PassengerList

    List(Passenger)

    required

    لیست مسافرانی که می خواهیم اطلاعات آنها را تغییر دهیم.

    + نمایش ویژگی‌های زیرمجموعه

    • PassengerList.Id

      string

      required

      این شناسه به‌صورت یکتا برای هر مسافر تعریف می‌شود و در خروجی متدهای زیر قابل دسترسی است:

    • PassengerList.PassengerNewData

      complex type

      required

      اطلاعات جدیدی که می خواهید برای مسافر ثبت شود

      + نمایش ویژگی‌های زیرمجموعه

      • PassengerList.PassengerNewData.GenderType

        string

        required

        جنسیت مسافر که مقدار آن می‌تواند یکی از دو حالت زیر باشد:

        M : مرد

        F : زن

      • PassengerList.PassengerNewData.FirstName

        string

        required

        نام مسافر

      • PassengerList.PassengerNewData.LastName

        string

        required

        نام خانوادگی مسافر

      • PassengerList.PassengerNewData.Passport

        complex type

        optional/conditional

        اطلاعات گذرنامه مسافر

        در صورتی که مسافر با گذرنامه سفر می‌کند، لازم است اطلاعات گذرنامه وی در این فیلد ارسال شود

        + نمایش ویژگی‌های زیرمجموعه

        • PassengerList.PassengerNewData.Passport.Number

          string

          required

          شماره گذرنامه مسافر

        • PassengerList.PassengerNewData.Passport.ExpiryDate

          string

          required

          تارخ انقضا گذرنامه با فرمت yyyy-MM-dd و به صورت میلادی.

        • PassengerList.PassengerNewData.Passport.PlaceOfIssueCountryCode

          string

          required

          کد ISO دو حرفی یا سه حرفی محل صدور گذرنامه مسافر

          جهت مشاهده کد ISO کشور ها اینجا کلیک نمایید.

          به عنوان مثال برای ایران می توانید یکی از مقدارهای IR یا IRN را وارد نمایید.

  • TotalPenalty

    decimal

    required

    مجموع مبلغ جریمه.

    مقدار این فیلد برابر است با مجموع مقادیر فیلد Penalty که در متد GetPenalty برای هر مسافر محاسبه و در خروجی بازگردانده شده است.

    هدف از ارائه این فیلد، اطمینان از یکسان بودن مبلغ کل جریمه بین سیستم کلاینت و سیستم تأمین‌کننده و جلوگیری از بروز هرگونه مغایرت مالی می‌باشد.

  • Culture

    string

    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 برگشتی مراجعه نمود.