Kimlik doğrulama

Erişim, HMS tarafından tanımlanan iş ortağı (partner) hesabıyla sağlanır. İş ortağı hesabına apiKey ve apiSecret verilir ve hangi otellere erişebileceği HMS tarafında yetkilendirilir. Giriş uç noktası bu bilgiler karşılığında otele bağlı bir token döner.

Giriş ve token#

İstek
POST /external/public/login HTTP/1.1
Host: test.hms.gen.tr
Content-Type: application/x-www-form-urlencoded

apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4%2BAm7Q%3D&apiSecret=a143d640…&hotelCode=1000
Yanıt · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…",
    "hotelSeoUrl": "demo-otel"
}
AlanAçıklama
apiKeyİş ortağı anahtarı. Base64 karakterleri içerir; form gövdesinde URL kodlaması gerekir (+%2B, =%3D). HTTP kütüphaneleri bunu kendiliğinden yapar.
apiSecretGizli anahtar. Yalnızca sunucu tarafında saklayın; tarayıcıya veya mobil uygulamaya koymayın.
hotelCodeOtelin HMS kimliği. İş ortağının bu otel için yetkisi yoksa hotel_permission_is_not_found döner.
hotelSeoUrlOtelin SEO adresi. Yalnızca HMS’nin kendi rezervasyon motoru için hotelCode yerine kullanılır; üçüncü taraf entegrasyonlar hotelCode gönderir.

Bearer başlığı#

Giriş dışındaki tüm uç noktalar token’ı Authorization başlığında bekler:

İstek
GET /external/currencies HTTP/1.1
Host: test.hms.gen.tr
Authorization: Bearer eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…

Başlık yoksa, biçimi bozuksa (Bearer öneki eksik) ya da token tanınmıyorsa 401 döner:

401 Unauthorized
{
    "success": false,
    "error": "Authentication required"
}

Token süresi ve yenileme#

  • Token 7 gün geçerlidir. Süre dolmadan yeniden giriş yaparak yenileyin; giriş isteği ucuzdur ve aynı otel için tekrar çağrılabilir.
  • Token’ı ayrıştırmayın. İçeriği base64 kodlu bir yapı olsa da biçimi garanti edilmez; opak string olarak saklayın ve iletin.
  • 401 aldığınızda bir kez yeniden giriş yapıp isteği tekrarlayın; yine 401 ise anahtar çifti veya otel yetkisi değişmiştir.

Otel bağlamı#

Token tek bir otele bağlıdır. Uç noktalardaki hotelID parametresi bu otelle aynı olmalıdır; farklı otel için istek atmak yetki hatasına veya boş sonuca yol açar. Birden fazla oteli olan bir entegrasyonda her otel için ayrı token alın ve otel bazında saklayın.

Giriş hataları#

messageAnlamı
partner_is_not_foundapiKey / apiSecret çifti eşleşmedi. Anahtarları ve URL kodlamasını kontrol edin.
hotel_is_not_foundhotelSeoUrl ile otel bulunamadı.
hotel_permission_is_not_foundİş ortağının bu otel için yetkisi yok veya yetki pasif. HMS destek ile görüşün.

Bu hatalar HTTP 200 ile, success: false ve token: null alanlarıyla döner.

Son güncelleme: 8 Eylül 2026Bu sayfada bir hata mı var? Bize yazın