身份验证

Hotspot API 通过单个 HTTP 请求头 ApiKey 进行身份验证。没有单独的登录步骤,也没有 token;每个请求都要发送该密钥。

请求头#

请求
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(Custom API)选项卡中生成。描述字段用于注明密钥的用途;可以生成多个密钥。在同一页面删除的密钥会立即失效。

身份验证失败#

如果缺少该请求头、值为空,或在 HMS 中找不到该密钥,将返回 HTTP 401,响应体如下:

401 Unauthorized
{
    "success": 0
}

响应不提供错误详情。请按以下顺序检查:请求头名称是否为 ApiKey,值是否与从后台复制的密钥完全一致,该密钥是否仍在后台列表中。收到 401 时不要重试;在密钥修正之前,结果不会改变。

酒店上下文#

一个密钥只绑定一家酒店,响应中只包含该酒店的客人。如果一套部署服务多家酒店,请从每家酒店自己的后台获取密钥,并按酒店分别保存。发送不同的 HotelCode 并不会返回其他酒店的数据;酒店始终由密钥决定。

保护密钥#

  • 将密钥保存在热点服务器的配置或环境变量中;切勿写入认证门户的 HTML 或客户端 JavaScript。
  • 负责获取名单的组件必须运行在服务端。客人设备不得直接调用 HMS,因为响应中包含每位客人的身份信息。
  • 如果怀疑密钥已泄露,请在后台删除并重新生成。旧密钥一经删除,立即返回 401
最后更新: 2026年9月21日发现错误?请告诉我们