認証
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 で、ボディは次のとおりです。
{
"success": 0
}エラーの詳細は返されません。次の順に確認してください:ヘッダー名が ApiKey であること、値が管理パネルからコピーしたキーと完全に一致していること、キーがまだ管理パネルの一覧にあること。401 はリトライしないでください。キーを修正するまで結果は変わりません。
ホテルコンテキスト#
キーは1つのホテルに紐づき、レスポンスにはそのホテルのゲストのみが含まれます。複数のホテルで使用する設置では、各ホテルの管理パネルでキーを取得し、ホテルごとに保存してください。別の HotelCode を送信しても、ほかのホテルのデータは返りません。ホテルは常にキーによって決まります。
キーの保護#
- キーはホットスポットサーバーの設定ファイルまたは環境変数に保存してください。キャプティブポータルの HTML やクライアント側の JavaScript には絶対に含めないでください。
- 一覧を取得するコンポーネントはサーバー側で動作させてください。ゲストの端末から HMS を直接呼び出してはいけません。レスポンスには全ゲストの身元情報が含まれます。
- キーの漏えいが疑われる場合は、管理パネルで削除して新しいキーを発行してください。古いキーは削除した時点で
401を返すようになります。