Authenticatie
De Hotspot API authenticeert met één HTTP-header: ApiKey. Er is geen aparte loginstap en geen token; de sleutel wordt bij elk verzoek meegestuurd.
Headers#
POST /public/json/customer/inhotel HTTP/1.1
Host: test.hms.gen.tr
ApiKey: 017f1daf2d139
HotelCode: 1000
Content-Length: 0| Header | Beschrijving |
|---|---|
ApiKey | Verplicht. De eigen API-sleutel (Custom API) die in het HMS-beheerpaneel is aangemaakt (13 tekens). Spaties aan het begin en eind worden genegeerd; de headernaam is niet hoofdlettergevoelig. |
HotelCode | Aanbevolen. De HMS-ID van het hotel. De server leidt het hotel af uit de sleutel en gebruikt deze header niet voor validatie; stuur hem mee voor logging en toekomstige compatibiliteit. |
Waar de sleutel vandaan komt#
De sleutel wordt aangemaakt op het tabblad Custom API van de pagina API in het HMS-beheerpaneel van het hotel. In het beschrijvingsveld noteer je waar de sleutel wordt gebruikt; je kunt meerdere sleutels aanmaken. Een sleutel die je op dezelfde pagina verwijdert, is direct ongeldig.
Mislukte authenticatie#
Ontbreekt de header of is hij leeg, of wordt de sleutel niet gevonden in HMS, dan is het antwoord HTTP 401 met deze body:
{
"success": 0
}Er wordt geen foutdetail gegeven. Controleer in deze volgorde: de headernaam is ApiKey, de waarde is precies de sleutel die je uit het beheerpaneel hebt gekopieerd, en de sleutel staat nog in de lijst in het beheerpaneel. Probeer een 401 niet opnieuw; het resultaat verandert pas als de sleutel is gecorrigeerd.
Hotelcontext#
Een sleutel is gebonden aan één hotel; het antwoord bevat alleen de gasten van dat hotel. Bedient een installatie meerdere hotels, haal dan in het eigen beheerpaneel van elk hotel een sleutel op en bewaar de sleutels per hotel. Een andere HotelCode meesturen levert geen gegevens van een ander hotel op; de sleutel bepaalt altijd het hotel.
De sleutel beschermen#
- Bewaar de sleutel in de configuratie van de hotspotserver of in een omgevingsvariabele; zet hem nooit in de HTML van het captive portal of in JavaScript aan de clientkant.
- Het onderdeel dat de lijst ophaalt, moet aan de serverkant draaien. Apparaten van gasten mogen HMS niet rechtstreeks aanroepen; het antwoord bevat de identiteitsgegevens van alle gasten.
- Vermoed je dat de sleutel is uitgelekt, verwijder hem dan in het beheerpaneel en maak een nieuwe aan. De oude sleutel geeft
401zodra hij is verwijderd.