Kimlik doğrulama
Hotspot API’de kimlik doğrulama tek bir HTTP başlığıyla yapılır: ApiKey. Ayrı bir giriş adımı ve token yoktur; anahtar her istekte gönderilir.
Başlıklar#
POST /public/json/customer/inhotel HTTP/1.1
Host: test.hms.gen.tr
ApiKey: 017f1daf2d139
HotelCode: 1000
Content-Length: 0| Başlık | Açıklama |
|---|---|
ApiKey | Zorunlu. HMS yönetim panelinde üretilen özel API anahtarı (13 karakter). Baştaki ve sondaki boşluklar yok sayılır; başlık adı büyük/küçük harfe duyarlı değildir. |
HotelCode | Önerilir. Otelin HMS kimliği. Sunucu oteli anahtardan bulur ve bu başlığı doğrulamada kullanmaz; günlükleme ve gelecekteki uyumluluk için gönderin. |
Anahtar nereden alınır#
Anahtar, otelin HMS yönetim panelinde API sayfasındaki Özel Api Ekle sekmesinden üretilir. Açıklama alanı anahtarın nerede kullanıldığını not etmek içindir; birden fazla anahtar üretilebilir. Aynı sayfadan silinen anahtar anında geçersiz olur.
Başarısız doğrulama#
Başlık yoksa, boşsa ya da anahtar HMS’de bulunamıyorsa yanıt HTTP 401 ve şu gövdedir:
{
"success": 0
}Hata ayrıntısı verilmez. Sırasıyla kontrol edin: başlık adının ApiKey olduğu, değerin panelden kopyalanan anahtarla birebir aynı olduğu, anahtarın panelde hâlâ listelendiği. 401 için yeniden deneme yapmayın; anahtar düzeltilmeden sonuç değişmez.
Otel bağlamı#
Anahtar tek bir otele bağlıdır; yanıt yalnızca o otelin misafirlerini içerir. Birden fazla oteli olan bir kurulumda her otel için o otelin panelinden anahtar alın ve otel bazında saklayın. HotelCode değerini farklı göndermek başka bir otelin verisini döndürmez; oteli her zaman anahtar belirler.
Anahtarın korunması#
- Anahtarı hotspot sunucusunun yapılandırmasında ya da ortam değişkeninde saklayın; captive portal HTML’ine veya istemci tarafı JavaScript’e koymayın.
- Listeyi çeken bileşen sunucu tarafında çalışmalıdır. Misafir cihazları HMS’e doğrudan istek atmamalıdır; yanıt tüm misafirlerin kimlik bilgisini içerir.
- Anahtarın sızdığından şüphelenirseniz panelden silin ve yenisini üretin. Eski anahtar silindiği anda
401döner.