認証

Online Booking API へのアクセスには、HMS が発行するパートナー認証情報を使用します。ログインエンドポイントは apiKeyapiSecret と引き換えにトークンを発行します。以降のすべてのリクエストでは、このトークンを Authorization: Bearer として送信します。詳しくは認証ガイドを参照してください。

ログインしてトークンを取得#

POST/external/public/login

認証不要 · ボディ: application/x-www-form-urlencoded または multipart/form-data

パートナー認証情報を検証し、パートナーがそのホテルへのアクセス権を持っていればトークンを発行します。トークンは1つのホテルに紐づくため、ホテルごとに個別にログインしてください。

フォームフィールド

apiKeystring必須
HMS が発行するパートナーキー。
apiSecretstring必須
パートナーシークレット。必ずサーバー側でのみ保管してください。
hotelCodeinteger必須
ホテルの HMS ID(hotelID)。パートナーがこのホテルへのアクセス権を持っている必要があります。
hotelSeoUrlstring
HMS におけるホテルの SEO スラッグ。hotelCode の代わりにこれを使うのは HMS 自身の予約エンジンのみです。サードパーティの連携では hotelCode を送信してください。

レスポンス

200 トークンとホテル情報。トークンの有効期間は7日間です。期限が切れる前に再ログインして更新してください。

successboolean
処理結果フラグ。
hotelCodestring
トークンが紐づくホテル ID。
tokenstring
Bearer トークン。不透明な値として扱い、中身を解析しないでください。
hotelSeoUrlstring | null
ホテルの SEO スラッグ。

エラーレスポンス

  • 200 partner_is_not_found — キーペアが一致しない。hotel_is_not_foundhotelSeoUrl に該当するホテルがない。hotel_permission_is_not_found — パートナーにこのホテルへのアクセス権がない、または権限が無効。
リクエスト
curl "https://test.hms.gen.tr/external/public/login" \
  -d "apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=" \
  -d "apiSecret=a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19" \
  -d "hotelCode=1000"
レスポンス · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIsInRpbWV6b25lX3R5cGUiOjMsInRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIn0sInRva2VuIjoiM2tkOXNscTJwbTh2eHI0dHp5Nm53YjFoYzdmajVnYTAiLCJob3RlbElEIjoxMDAwLCJ1c2VySUQiOjQyLCJkYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTA4IDEwOjI0OjMxLjAwMDAwMCJ9fQ==",
    "hotelSeoUrl": "demo-otel"
}
レスポンス · 200(失敗)
{
    "success": false,
    "token": null,
    "message": "hotel_permission_is_not_found"
}