مستندات

جست‌وجو در مستندات

نام اندپوینت، موضوع یا کلیدواژه را بنویسید

ساخت فرایند رزرو پرواز

این راهنما مسافر را از انتخاب مسیر تا صدور بلیت همراهی می‌کند و پنج اندپوینت پرواز را در یک فرایند کنار هم می‌گذارد.

پیش از شروع#

  • یک SessionId. بخش احراز هویت را ببینید.
  • مجوزهای air_low_fare_search، air_revalidate، air_book و air_order_ticket.

قدم ۱: جست‌وجو#

مسیر، تاریخ‌ها، کلاس پرواز و ترکیب مسافران را بفرستید. FareSourceCode برنامهٔ سفری را که مسافر انتخاب می‌کند نگه دارید.

curl -X POST https://api.simorghapi.com/api/Air/AirLowFareSearch \
  -H "Content-Type: application/json" \
  -d '{
    "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    "AdultCount": 1, "ChildCount": 0, "InfantCount": 0,
    "PricingSourceType": "All", "RequestOption": "All",
    "TravelPreference": { "CabinType": 3 },
    "OriginDestinationInformations": [
      { "OriginLocationCode": "IST", "DestinationLocationCode": "DXB", "DepartureDateTime": "2026-10-12T00:00:00" }
    ]
  }'

برای رابط کاربری سریع‌تر، از جست‌وجوی جریانی (streaming) استفاده کنید و نتایج را همان‌طور که می‌رسند نمایش دهید.

قدم ۲: اعتبارسنجی مجدد#

وقتی مسافر انتخابش را تأیید کرد، نرخ را دوباره قیمت‌گذاری کنید. رزرو را با FareSourceCodeـی انجام دهید که این فراخوانی برمی‌گرداند، نه کدی که از جست‌وجو گرفته‌اید.

curl -X POST https://api.simorghapi.com/api/Air/AirRevalidate \
  -H "Content-Type: application/json" \
  -d '{ "SessionId": "8f3c81d2-...", "FareSourceCode": "dHA6ODc0NTE6ZmwxMjM0OjMyNw==" }'

اگر این فراخوانی Err0102003 یا Err0102005 برگرداند، آن نرخ دیگر موجود نیست. دوباره جست‌وجو کنید.

قدم ۳: رزرو#

مسافران و یک مخاطب اصلی را بفرستید. یک UniqueId و یک TktTimeLimit دریافت می‌کنید. هنوز مبلغی کسر نمی‌شود.

curl -X POST https://api.simorghapi.com/api/Air/AirBook \
  -H "Content-Type: application/json" \
  -d '{
    "SessionId": "8f3c81d2-...",
    "FareSourceCode": "dHA6ODc0NTE6ZmwxMjM0OjMyNw==",
    "TravelerInfo": {
      "PhoneNumber": "+441234567890",
      "Email": "traveller@example.com",
      "AirTravelers": [
        { "PassengerType": 1, "Gender": 0, "DateOfBirth": "1990-05-14",
          "PassengerName": { "PassengerFirstName": "Jane", "PassengerLastName": "Doe" } }
      ]
    }
  }'

قدم ۴: دریافت پول، سپس صدور بلیت#

مبلغ را از طریق درگاه پرداخت خودتان از مسافر بگیرید. سپس پیش از TktTimeLimit بلیت را صادر کنید. در همین مرحله مبلغ نرخ از موجودی دفتر شما کسر می‌شود.

curl -X POST https://api.simorghapi.com/api/Air/AirOrderTicket \
  -H "Content-Type: application/json" \
  -d '{ "SessionId": "8f3c81d2-...", "UniqueId": "TP-2026-000512" }'

اگر مهلت را از دست بدهید، رزرو آزاد می‌شود و باید دوباره از قدم ۱ شروع کنید.

قدم ۵: تأیید بلیت#

رزرو را بخوانید تا شمارهٔ بلیت‌های الکترونیکی و وضعیت را به مسافر نشان دهید.

curl -X POST https://api.simorghapi.com/api/Air/AirBookingData \
  -H "Content-Type: application/json" \
  -d '{ "SessionId": "8f3c81d2-...", "UniqueId": "TP-2026-000512" }'

مدیریت خطاهای رایج#

  • Err0101001 در هر مرحله: نشست منقضی شده است. دوباره احراز هویت کنید و یک بار دیگر تلاش کنید.
  • Err0102003 یا Err0102005 در اعتبارسنجی مجدد یا رزرو: نرخ تغییر کرده است. دوباره جست‌وجو کنید و قیمت جدید را نشان دهید.
  • Err0103006 در صدور بلیت: رزرو در وضعیت قابل صدور نیست. رزرو را بخوانید و مهلت را بررسی کنید.

فهرست کامل فیلدها در صفحه‌های مرجع پرواز آمده است.

ویرایش این صفحه در گیت‌هابمشکلی دیدید؟ از پنل ← پشتیبانی خبرمان کنید.