پاسخهای خطا
Hotspot API دو نوع نتیجه دارد: شکست احراز هویت (HTTP 401) و پاسخ موفق (HTTP 200). فهرست خالی مهمانان خطا نیست. در ادامه موقعیتهایی که ممکن است با آنها روبهرو شوید و کار لازم در هر کدام آمده است.
کدهای وضعیت HTTP#
| کد | بدنه | معنا و کار لازم |
|---|---|---|
200 | {"success": 1, "otelde": [...]} | موفق. فهرست را پردازش کنید. |
200 | {"success": 1, "otelde": []} | موفق؛ هیچ مهمانی مقیم نیست. توضیح مربوط به فهرست خالی را در ادامه ببینید. |
401 | {"success": 0} | هدر ApiKey ارسال نشده یا کلید شناسایی نشد. تلاش مجدد نکنید؛ کلید را بررسی کنید و به مدیر سیستم اطلاع دهید. |
404 | صفحه خطا | مسیر نادرست. مطمئن شوید مسیر دقیقاً /public/json/customer/inhotel است. |
405 | صفحه خطا | متدی غیر از POST استفاده شده است (مثلاً GET از مرورگر). |
5xx / تایماوت | — | خطای موقت سرور یا شبکه. با فاصلههای افزایشی (30 ثانیه، 1 دقیقه، 5 دقیقه) دوباره تلاش کنید و در این مدت از آخرین فهرست موفق استفاده کنید. |
فهرست خالی#
otelde: [] یعنی هیچ مهمان چکاینشدهای در هتل نیست؛ این وضعیت برای هتلهای کوچک در فصل کمرونق طبیعی است. اما فهرستی که در درخواست قبلی پر بوده و ناگهان خالی شده است، معمولاً نشاندهنده خطای عملیاتی در سمت هتل است (چکاوت گروهی اشتباه، تغییر وضعیت رزرو). پیش از بستن همه حسابهای وایفای، مطمئن شوید فهرست در دو درخواست پیاپی خالی برگشته است.
تلاش مجدد و تایماوت#
- برای درخواست، تایماوت 10 ثانیهای در نظر بگیرید؛ حتی در هتلهای بزرگ فهرست در همین مدت برمیگردد.
- در خطاهای
5xxو خطاهای شبکه دوباره تلاش کنید؛401،404و405خطاهای پیکربندیاند و نباید تکرار شوند. - تا زمانی که درخواستها ناموفقاند، آخرین فهرست موفق را نگه دارید. فقط حساب مهمانانی را ببندید که در یک پاسخ موفق از فهرست حذف شدهاند.
- شکستهای پیاپی را بشمارید و پس از گذشتن از یک آستانه (مثلاً 15 دقیقه) به مدیر سیستم اطلاع دهید.
موقعیتهای رایج#
| موقعیت | علت احتمالی | چه باید کرد |
|---|---|---|
| مهمان در فهرست نیست | پذیرش هنوز چکاین مهمان را ثبت نکرده، رزرو لغو شده، مهمان با وضعیت «مقیم» علامت نخورده یا چکاوت کرده است. | در پورتال پیام «شماره اتاق و نام خانوادگی مطابقت ندارد» را نشان دهید و مهمان را به پذیرش راهنمایی کنید. دریافت دوباره فهرست لازم نیست؛ مهمان در همگامسازی بعدی ظاهر میشود. |
| چند رکورد برای یک اتاق | بیش از یک مهمان در اتاق اقامت دارد؛ هر کدام رکوردی جداگانه است. | طبیعی است. برای هر مهمان جداگانه حساب باز کنید (unique). |
identityNumber خالی است | مهمان بدون اطلاعات هویتی ثبت شده است. | برای تطبیق از نام خانوادگی + تاریخ تولد استفاده کنید؛ در سابقه قانون 5651 این فیلد را خالی بگذارید و سابقه را به unique پیوند دهید. |
roomName مطابقت ندارد | مهمان بهجای «104» عبارت «0104» یا «Room 104» را وارد کرده است؛ مقدار از نوع رشته است. | پیش از مقایسه، هر دو طرف را نرمالسازی کنید؛ به عدد تبدیل نکنید. |
checkout گذشته است اما مهمان هنوز در فهرست است | مهمان اقامتش را تمدید کرده یا دیرتر چکاوت میکند و پذیرش هنوز آن را ثبت نکرده است. | تا زمانی که مهمان در فهرست است دسترسی را باز نگه دارید؛ وقتی checkout تغییر کرد، پایان نشست را بهروز کنید. |