API رزرو پرواز
API رزرو پرواز، برنامهٔ سفری را که اعتبارسنجی مجدد شده رزرو میکند و تا مهلت صدور بلیت نگه میدارد.
POST/Air/AirBook
دسترسی نیازمند مجوز air_book
بعد از اعتبارسنجی مجدد رزرو کنید. اطلاعات مسافران و یک مخاطب اصلی را بفرستید. پاسخ یک UniqueId و یک TktTimeLimit به شما میدهد. در این مرحله هنوز بلیتی صادر نشده است. صندلی تا پایان مهلت نگه داشته میشود؛ پس بلیت را پیش از آن صادر کنید.
پارامترهای مسیر#
ندارد.
پارامترهای کوئری#
ندارد.
پارامترهای بدنه#
| نام | نوع | الزامی | پیشفرض | توضیح |
|---|---|---|---|---|
SessionId | string | الزامی | - | شناسهٔ نشست شما. |
FareSourceCode | string | الزامی | - | کدی که اعتبارسنجی مجدد برگردانده است. |
ClientUniqueId | string | اختیاری | - | شناسهٔ مرجع خودتان. بعداً میتوانید آن را بهجای UniqueId در اطلاعات رزرو به کار ببرید. |
MarkupForAdult | number | اختیاری | 0 | مارکآپ (سود افزوده) بهازای هر بزرگسال. |
MarkupForChild | number | اختیاری | 0 | مارکآپ بهازای هر کودک. |
MarkupForInfant | number | اختیاری | 0 | مارکآپ بهازای هر نوزاد. |
درخواست#
curl -X POST https://api.simorghapi.com/api/Air/AirBook \
-H "Content-Type: application/json" \
-d '{
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"FareSourceCode": "dHA6ODc0NTE6ZmwxMjM0OjMyNw==",
"ClientUniqueId": "order-0001",
"TravelerInfo": {
"PhoneNumber": "+441234567890",
"Email": "traveller@example.com",
"AirTravelers": [
{
"PassengerType": 1,
"Gender": 0,
"DateOfBirth": "1990-05-14",
"PassengerName": {
"PassengerFirstName": "Jane",
"PassengerLastName": "Doe"
}
}
]
}
}'const res = await fetch("https://api.simorghapi.com/api/Air/AirBook", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
FareSourceCode: "dHA6ODc0NTE6ZmwxMjM0OjMyNw==",
ClientUniqueId: "order-0001",
TravelerInfo: {
PhoneNumber: "+441234567890",
Email: "traveller@example.com",
AirTravelers: [
{
PassengerType: 1,
Gender: 0,
DateOfBirth: "1990-05-14",
PassengerName: { PassengerFirstName: "Jane", PassengerLastName: "Doe" }
}
]
}
})
});
const data = await res.json();import requests
res = requests.post(
"https://api.simorghapi.com/api/Air/AirBook",
json={
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"FareSourceCode": "dHA6ODc0NTE6ZmwxMjM0OjMyNw==",
"ClientUniqueId": "order-0001",
"TravelerInfo": {
"PhoneNumber": "+441234567890",
"Email": "traveller@example.com",
"AirTravelers": [
{
"PassengerType": 1,
"Gender": 0,
"DateOfBirth": "1990-05-14",
"PassengerName": {
"PassengerFirstName": "Jane",
"PassengerLastName": "Doe",
},
}
],
},
},
)
data = res.json()پاسخ#
| فیلد | نوع | توضیح |
|---|---|---|
Success | boolean | در صورت موفقیت true. |
UniqueId | string | شناسهٔ رزرو. برای صدور بلیت، پیگیری و لغو به آن نیاز دارید. |
TktTimeLimit | string | مهلت صدور بلیت. پیش از این زمان صادر کنید، وگرنه رزرو آزاد میشود. |
TktTimeLimitTimeZone | string | منطقهٔ زمانی TktTimeLimit. |
Category | integer | 10: رزرو شده، در انتظار صدور بلیت. |
Status | integer | 10: رزرو شده، در انتظار صدور بلیت. |
PriceChange | boolean | اگر نرخ هنگام رزرو تغییر کرده باشد true. |
WarningMessage | string | هر هشدار غیربحرانی؛ در غیر این صورت null. |
Error | object | در صورت موفقیت null. |
{
"Success": true,
"UniqueId": "TP-2026-000512",
"TktTimeLimit": "2026-10-10T18:00:00",
"TktTimeLimitTimeZone": "UTC",
"Category": 10,
"Status": 10,
"PriceChange": false,
"WarningMessage": null,
"Error": null
}
رزرو، بلیت نیست.
وضعیت
10 فقط صندلی را نگه میدارد. بلیت را پیش از TktTimeLimit با AirOrderTicket صادر کنید، وگرنه رزرو آزاد میشود.
خطاها#
| کد | معنا | راهحل |
|---|---|---|
Err0106001 | یکی از فیلدهای الزامی مسافر ارسال نشده یا نامعتبر است. | فیلدی را که در پیام آمده اصلاح کنید. |
Err0102003 | نرخ دیگر در دسترس نیست. | دوباره جستوجو و اعتبارسنجی مجدد کنید. |
Err0102005 | نرخ منقضی شده است. | دوباره جستوجو و اعتبارسنجی مجدد کنید. |
ویرایش این صفحه در گیتهابمشکلی دیدید؟ از پنل ← پشتیبانی خبرمان کنید.