کدهای خطا

خطاها به سه شکل برمی‌گردند: خطاهای احراز هویت با HTTP 401، خطاهای منطق کسب‌وکار درون پاسخ HTTP 200 همراه با success: false، و خطاهای ارسال رزرو در BookingPushRS.Error. این صفحه همه کدها را فهرست می‌کند.

خطاهای احراز هویت#

HTTPپاسخعلت
401{"success": false, "error": "Authentication required"}توکن ارسال نشده، ناشناخته است یا قالب Bearer نادرست است.
200message: partner_is_not_foundلاگین: جفت کلید مطابقت نداشت.
200message: hotel_is_not_foundلاگین: هتلی با این hotelSeoUrl یافت نشد.
200message: hotel_permission_is_not_foundلاگین: شریک تجاری برای این هتل مجوز ندارد.

کدهای message#

کدهای متنی به شکل snake_case که همراه با success: false برگردانده می‌شوند.

messageاندپوینتتوضیح
hotel_id_is_not_foundبیشتر اندپوینت‌هاhotelID ارسال نشده است.
start_date_is_not_found / end_date_is_not_foundتقویم ظرفیتپارامتر تاریخ ارسال نشده است.
online_cupon_is_not_foundکوپنکد ناشناخته، غیرفعال یا منقضی است یا قابل استفاده نیست.
mail_host_is_not_foundتنظیمات ایمیلسرور SMTP برای کانال آنلاین تعریف نشده است.
hotel_company_info_could_not_foundاطلاعات درگاه پرداختهیچ ارائه‌دهنده پرداختی برای هتل پیکربندی نشده است.
bank_info_is_not_foundپرداخت (روش 3)هیچ حساب بانکی برای فروش آنلاین فعال نشده است.
required_input_info_not_submittedپرداخت (روش 10)یک فیلد الزامی ارسال نشده است؛ errors[] فیلدهای ناقص را فهرست می‌کند.
country_info_sent_incorrectlyپرداخت (روش 10)countryID در فهرست کشورها وجود ندارد.
there_is_missing_info_in_the_shopping_cartپرداخت (روش 10)یکی از آیتم‌های سبد خرید id، name، piece یا price را ندارد؛ errors[] آن را مشخص می‌کند.

کدهای خطای فهرست اتاق‌ها#

فهرست اتاق‌ها (POST /external/online/roomType) یک errorCode عددی و یک errorMessage قابل خواندن برای انسان برمی‌گرداند. پیام بر اساس پارامتر language ترجمه می‌شود؛ منطق کد خود را بر پایه errorCode بنویسید.

errorCodeمعناچه باید کرد
10001هتل یافت نشدhotelID را بررسی کنید.
10002پارامتر ناقص (hotelID، startDate، endDate، adultCount)فیلدهای الزامی را ارسال کنید.
10003هتل برای فروش آنلاین بسته استهتل باید کانال آنلاین را در پنل فعال کند.
10004هیچ نوع اتاقی برای کانال‌ها باز نیستهتل باید انواع اتاق را برای فروش آنلاین باز کند.
10022پارامترهای نامعتبرتاریخ ورود امروز یا بعد از آن، تاریخ خروج بعد از تاریخ ورود، حداکثر 30 شب، 1 تا 40 بزرگسال، 0 تا 10 کودک.
20001ظرفیت خالی کافی برای بزرگسالان وجود نداردتاریخ یا تعداد نفرات دیگری پیشنهاد دهید.
20002ظرفیت خالی کافی برای کودکان وجود ندارداتاقی با ظرفیت کودک باقی نمانده است.
20003 / 20004ظرفیت خالی کافی برای بزرگسالان و کودکان وجود نداردظرفیت کل پاسخ‌گوی درخواست نیست.

وقتی ظرفیت خالی وجود دارد اما یک نوع اتاق خاص قابل فروش نیست، roomCount آن 0 است و دلیل در roomRestrictionMessage می‌آید: closed_to_checkin، closed_to_checkout، passive_sales، minimum_stay، maximum_stay، closed_to_arrival، price_not_found.

خطاهای ارسال رزرو#

در این حالت BookingPushRS به‌جای Success: true فیلد Error را دارد:

پاسخ · 200 (خطا)
{
    "BookingPushRS": {
        "Error": "Could not register.",
        "BookingConfirmNumbers": [
            {
                "confirmTime": 1755500000,
                "bookingID": 0,
                "bookingType": "Book",
                "HMS_ID": null
            }
        ]
    }
}
Errorکدعلت
No available data could be found.01بدنه خالی است یا JSON قابل تجزیه نبود؛ یا Bookings[0].hotelID ارسال نشده است.
Hotel registration not found on HMS.02هتل به کانال آنلاین متصل نیست یا کانال غیرفعال است.
Could not register.خطا هنگام ذخیره (شناسه نوع اتاق/پذیرایی نامعتبر، تاریخ‌های ناسازگار).
Failed to parse information.ساختار ارسالی فیلدهای موردانتظار را ندارد.

توصیه‌های تلاش مجدد#

  • 401: یک بار دیگر لاگین کنید و درخواست را تکرار کنید.
  • 500 و خطاهای شبکه: حداکثر 3 تلاش با فاصله‌های 1، 2 و 4 ثانیه. هنگام تکرار ارسال رزرو، از همان ID استفاده کنید؛ Book با کدی که از قبل وجود دارد، به‌جای ایجاد رکورد تکراری، همان رکورد را به‌روز می‌کند.
  • success: false: تلاش مجدد نکنید؛ پارامتر را اصلاح کنید یا گزینه دیگری به مهمان پیشنهاد دهید.
  • در تیکت‌های پشتیبانی، درخواست کامل (با کلیدهای محرمانه و داده کارت پوشانده‌شده)، پاسخ و زمان را ضمیمه کنید.
آخرین به‌روزرسانی: 21 سپتامبر 2026اشتباهی دیدید؟ به ما اطلاع دهید