認証

Hotspot API は、1つの HTTP ヘッダー ApiKey で認証を行います。ログインの手順やトークンはなく、キーをすべてのリクエストで送信します。

ヘッダー#

リクエスト
POST /public/json/customer/inhotel HTTP/1.1
Host: test.hms.gen.tr
ApiKey: 017f1daf2d139
HotelCode: 1000
Content-Length: 0
ヘッダー説明
ApiKey必須。HMS の管理パネルで発行するカスタム API キー(13文字)。前後の空白は無視され、ヘッダー名の大文字と小文字は区別されません。
HotelCode推奨。ホテルの HMS ID。サーバーはキーからホテルを特定するため、このヘッダーは検証には使用されません。ログ記録と将来の互換性のために送信してください。

キーの発行場所#

キーは、ホテルの HMS 管理パネルの API ページにある カスタム API タブで発行します。説明欄にはキーの使用場所を記入します。キーは複数発行できます。同じページで削除したキーは直ちに無効になります。

認証の失敗#

ヘッダーがない、空である、またはキーが HMS に見つからない場合、レスポンスは HTTP 401 で、ボディは次のとおりです。

401 Unauthorized
{
    "success": 0
}

エラーの詳細は返されません。次の順に確認してください:ヘッダー名が ApiKey であること、値が管理パネルからコピーしたキーと完全に一致していること、キーがまだ管理パネルの一覧にあること。401 はリトライしないでください。キーを修正するまで結果は変わりません。

ホテルコンテキスト#

キーは1つのホテルに紐づき、レスポンスにはそのホテルのゲストのみが含まれます。複数のホテルで使用する設置では、各ホテルの管理パネルでキーを取得し、ホテルごとに保存してください。別の HotelCode を送信しても、ほかのホテルのデータは返りません。ホテルは常にキーによって決まります。

キーの保護#

  • キーはホットスポットサーバーの設定ファイルまたは環境変数に保存してください。キャプティブポータルの HTML やクライアント側の JavaScript には絶対に含めないでください。
  • 一覧を取得するコンポーネントはサーバー側で動作させてください。ゲストの端末から HMS を直接呼び出してはいけません。レスポンスには全ゲストの身元情報が含まれます。
  • キーの漏えいが疑われる場合は、管理パネルで削除して新しいキーを発行してください。古いキーは削除した時点で 401 を返すようになります。