احراز هویت
احراز هویت در Hotspot API با یک هدر HTTP انجام میشود: ApiKey. مرحله لاگین جداگانه و توکنی وجود ندارد؛ کلید در هر درخواست ارسال میشود.
هدرها#
POST /public/json/customer/inhotel HTTP/1.1
Host: test.hms.gen.tr
ApiKey: 017f1daf2d139
HotelCode: 1000
Content-Length: 0| هدر | توضیح |
|---|---|
ApiKey | الزامی. کلید API اختصاصی که در پنل مدیریت HMS ساخته میشود (13 نویسه). فاصلههای ابتدا و انتها نادیده گرفته میشوند؛ نام هدر به کوچکی و بزرگی حروف حساس نیست. |
HotelCode | توصیهشده. شناسه هتل در HMS. سرور هتل را از روی کلید تشخیص میدهد و از این هدر برای اعتبارسنجی استفاده نمیکند؛ آن را برای ثبت لاگ و سازگاری با تغییرات آینده ارسال کنید. |
کلید از کجا میآید#
کلید در زبانه Custom API از صفحه API در پنل مدیریت HMS هتل ساخته میشود. فیلد توضیحات برای یادداشت محل استفاده کلید است؛ میتوان چند کلید ساخت. کلیدی که در همین صفحه حذف شود، بلافاصله نامعتبر میشود.
احراز هویت ناموفق#
اگر هدر ارسال نشود یا خالی باشد، یا کلید در HMS یافت نشود، پاسخ HTTP 401 با این بدنه است:
{
"success": 0
}جزئیاتی از خطا ارائه نمیشود. به این ترتیب بررسی کنید: نام هدر ApiKey باشد، مقدار دقیقاً همان کلید کپیشده از پنل باشد و کلید هنوز در پنل فهرست شده باشد. درخواستی را که 401 گرفته است تکرار نکنید؛ تا کلید اصلاح نشود نتیجه تغییر نمیکند.
وابستگی به هتل#
هر کلید به یک هتل وابسته است و پاسخ فقط مهمانان همان هتل را در بر دارد. برای نصبی که به چند هتل سرویس میدهد، از پنل هر هتل کلید جداگانه بگیرید و کلیدها را به تفکیک هتل ذخیره کنید. ارسال HotelCode متفاوت، داده هتل دیگری را برنمیگرداند؛ هتل همیشه با کلید تعیین میشود.
محافظت از کلید#
- کلید را در پیکربندی سرور هاتاسپات یا یک متغیر محیطی نگه دارید؛ هرگز آن را در HTML پورتال ورود (captive portal) یا JavaScript سمت کلاینت قرار ندهید.
- مؤلفهای که فهرست را دریافت میکند باید سمت سرور اجرا شود. دستگاههای مهمان نباید مستقیماً HMS را فراخوانی کنند؛ پاسخ حاوی اطلاعات هویتی همه مهمانان است.
- اگر احتمال میدهید کلید لو رفته است، آن را در پنل حذف کنید و کلید جدیدی بسازید. کلید قدیمی به محض حذف،
401برمیگرداند.