المصادقة
تعتمد 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 لا يعيد بيانات فندق آخر؛ فالمفتاح هو الذي يحدد الفندق دائمًا.
حماية المفتاح#
- احفظ المفتاح في إعدادات خادم hotspot أو في متغير بيئة، ولا تضعه أبدًا في HTML بوابة تسجيل الدخول أو في JavaScript على جانب العميل.
- يجب أن يعمل المكوّن الذي يجلب القائمة على الخادم. ولا يجوز أن تستدعي أجهزة النزلاء HMS مباشرةً؛ فالاستجابة تتضمن بيانات هوية جميع النزلاء.
- إذا اشتبهت في تسرّب المفتاح، فاحذفه من اللوحة وأنشئ مفتاحًا جديدًا. يعيد المفتاح القديم
401لحظة حذفه.