خطاها
Travel API دو قالب خطا دارد. اندپوینتهای پرواز، هتل و عمومی (Common) خطا را در بدنهٔ پاسخ گزارش میکنند. اندپوینتهای تفریحات از کدهای وضعیت استاندارد HTTP استفاده میکنند.
خطاهای API مبتنی بر نشست#
اندپوینتهای پرواز، هتل، عمومی و احراز هویت معمولاً حتی وقتی عملیات ناموفق است هم HTTP 200 برمیگردانند. بهجای کد وضعیت، فیلد Success را بخوانید. در صورت خطا، Success برابر false است و Error یک شناسه و یک پیام دارد.
{
"Success": false,
"Error": {
"Id": "Err0102005",
"Message": "Fare has expired or is no longer available. Please search again."
}
}
احراز هویت#
| کد | معنا | راهحل |
Err0101001 | نشست ارسال نشده یا نامعتبر است. | یک نشست جدید بسازید. |
Err0101002 | نشست منقضی شده است. | یک نشست جدید بسازید. |
Err0101003 | نام کاربری یا رمز عبور اشتباه است. | اطلاعات ورود آن دفتر را بررسی کنید. |
Err0101004 | کاربر به آن دفتر دسترسی ندارد. | از دفتری استفاده کنید که کاربر عضو آن است. |
Err0101005 | حساب کاربری تأیید نشده است. | با مدیر حساب خود تماس بگیرید. |
Err0101006 | دفتر برای این اندپوینت مجوز ندارد. | درخواست فعالسازی آن مجوز را بدهید. |
درخواست و اعتبارسنجی#
| کد | معنا | راهحل |
Err0106001 | درخواست نامعتبر. یک فیلد ارسال نشده یا نامعتبر است؛ نام آن در پیام آمده است. | فیلدی را که در پیام آمده اصلاح کنید. |
Err0106002 | یک فیلد الزامی یا یکی از یک جفت فیلد جایگزین ارسال نشده است، مثلاً UniqueId یا ClientUniqueId. | دستکم یکی از فیلدهای الزامی را بفرستید. |
Err0201001 | درخواست هتل نامعتبر است. | طبق پیام عمل کنید. |
Err0201003 | درخواست هتل نامعتبر است؛ مثلاً دقیقاً یکی از CityId یا HotelId ارسال نشده است. | دقیقاً یکی از این دو را بفرستید. |
نرخ و جستوجو#
| کد | معنا | راهحل |
Err0102002 | FareSourceCode نامعتبر است. | از کدی استفاده کنید که در آخرین جستوجو برگشته است. |
Err0102003 | نرخ دیگر در دسترس نیست. | دوباره جستوجو کنید و یک نرخ تازه انتخاب کنید. |
Err0102004 | پیش از رزرو، اعتبارسنجی مجدد (revalidate) لازم است. | اول revalidate را فراخوانی کنید و بعد رزرو کنید. |
Err0102005 | نرخ منقضی شده است. | دوباره جستوجو کنید. |
Err0102010 | SearchId الزامی است. | SearchId پاسخ جستوجو را بفرستید. |
Err0102011 | جستوجو پیدا نشد یا دسترسی به آن مجاز نیست. | جستوجو را دوباره اجرا کنید. |
رزروها#
| کد | معنا | راهحل |
Err0103003 | رزرو پرواز پیدا نشد. | UniqueId را بررسی کنید. |
Err0103004 | رزرو در وضعیت فعلیاش قابل لغو نیست. | برای رزروی که بلیتش صادر شده، بهجای لغو از استرداد استفاده کنید. |
Err0103005 | رزرو قبلاً لغو شده است. | کاری لازم نیست. |
Err0103006 | رزرو در وضعیت لازم برای این عملیات نیست. | اول وضعیت رزرو را بخوانید. |
Err0103007 | این کاربر اجازهٔ انجام این عملیات را ندارد. | فقط صاحب رزرو یا مدیر میتواند این کار را انجام دهد. |
Err0103008 | رزرو قبلاً پردازش شده است. | کاری لازم نیست. |
Err0103009 | رزرو در وضعیتی نیست که بتوان روی آن عملیاتی انجام داد. | وضعیت را دوباره بررسی کنید یا دوباره جستوجو کنید. |
Err0103010 | منبع موجودی رزرو را رد کرد یا رزرو قابل استرداد نیست. | دوباره تلاش کنید یا دوباره جستوجو کنید. |
Err0103011 | منبع، کد مرجع رزرو را برنگرداند. | درخواست را تکرار کنید. |
Err0103012 | نوع رزرو با این اندپوینت سازگار نیست. | از اندپوینت متناسب با نوع رزرو استفاده کنید. |
Err0103013 | رزرو تفریح قبلاً ثبت شده است. | کاری لازم نیست. |
Err0104002 | رزرو هتل پیدا نشد. | UniqueId را بررسی کنید. |
Err0104003 | مهلت پرداخت این رزرو قابل تمدید نیست. | رزرو در وضعیتی نیست که بتوان مهلتش را تمدید کرد. |
سرویسهای بالادستی#
| کد | معنا | راهحل |
Err0500001 | یک منبع دادهٔ بالادستی پیکربندی نشده است. | با پشتیبانی تماس بگیرید (پنل ← پشتیبانی). |
Err0500002 | درخواست به سرویس بالادستی ناموفق بود. | دوباره تلاش کنید. |
Err0500003 | منبع بالادستی دادهای برنگرداند. | دوباره تلاش کنید یا ورودیها را تغییر دهید. |
Err0000 | خطای عمومی سرویس بالادستی یا درگاه. | دوباره تلاش کنید. اگر ادامه داشت، با پشتیبانی تماس بگیرید. |
خطاهای تفریحات#
اندپوینتهای تفریحات زیر Activity/v2/ کد وضعیت واقعی HTTP را برمیگردانند و یک شیء error در پاسخ دارند.
{
"error": {
"code": "not_found",
"message": "Listing was not found or expired, provided UUID: d3bfa3e1-e",
"http_code": 404
},
"timestamp": "2026-10-15T16:43:33.184+08:00"
}
| وضعیت | معنا |
200 | موفق. بدنه شامل منبع یا فهرست است. |
400 | درخواست بدساخت است یا پارامترها نامعتبرند. |
401 | SessionId ارسال نشده یا منقضی شده است. |
403 | دفتر شما برای این عملیات مجوز ندارد. |
404 | منبع یا UUID وجود ندارد. |
422 | اعتبارسنجی ناموفق بود؛ مثلاً تاریخ انتخابشده ظرفیت ندارد. |
5xx | خطای درگاه یا منبع موجودی. |
مدیریت درست خطاها#
دو قاعده بیشتر موارد را پوشش میدهد. در API مبتنی بر نشست، پیش از خواندن محتوای پاسخ، بر اساس Success تصمیم بگیرید. وقتی خطای نشست (Err0101001 یا Err0101002) دیدید، دوباره احراز هویت کنید و یک بار درخواست را تکرار کنید.
نرخها عمر کوتاهی دارند. اگر رزرو با Err0102003 یا Err0102005 برگشت، قیمت تغییر کرده است. دوباره جستوجو و اعتبارسنجی مجدد کنید و پیش از دریافت هزینه، نرخ جدید را به مسافر نشان دهید.