Authentification

L’API Hotspot s’authentifie avec un seul en-tête HTTP : ApiKey. Il n’y a ni étape de connexion distincte ni jeton ; la clé est envoyée avec chaque requête.

En-têtes#

Requête
POST /public/json/customer/inhotel HTTP/1.1
Host: test.hms.gen.tr
ApiKey: 017f1daf2d139
HotelCode: 1000
Content-Length: 0
En-têteDescription
ApiKeyObligatoire. La clé API personnalisée générée dans le panneau d’administration HMS (13 caractères). Les espaces en début et en fin de valeur sont ignorés ; le nom de l’en-tête n’est pas sensible à la casse.
HotelCodeRecommandé. L’identifiant HMS de l’hôtel. Le serveur déduit l’hôtel de la clé et n’utilise pas cet en-tête pour la validation ; envoyez-le pour la journalisation et la compatibilité future.

Origine de la clé#

La clé est générée dans l’onglet Custom API de la page API du panneau d’administration HMS de l’hôtel. Le champ de description permet de noter où la clé est utilisée ; plusieurs clés peuvent être générées. Une clé supprimée sur cette même page devient immédiatement invalide.

Échec de l’authentification#

Si l’en-tête est absent ou vide, ou si la clé est introuvable dans HMS, la réponse est HTTP 401 avec ce corps :

401 Unauthorized
{
    "success": 0
}

Aucun détail d’erreur n’est fourni. Vérifiez dans cet ordre : le nom de l’en-tête est bien ApiKey, la valeur correspond exactement à la clé copiée depuis le panneau, et la clé figure toujours dans la liste du panneau. Ne relancez pas une requête en 401 : le résultat ne changera pas tant que la clé n’aura pas été corrigée.

Contexte hôtel#

Une clé est liée à un seul hôtel ; la réponse ne contient que les clients de cet hôtel. Pour une installation desservant plusieurs hôtels, obtenez une clé depuis le panneau de chaque hôtel et stockez-les hôtel par hôtel. Envoyer un autre HotelCode ne renvoie pas les données d’un autre hôtel ; c’est toujours la clé qui détermine l’hôtel.

Protéger la clé#

  • Conservez la clé dans la configuration du serveur hotspot ou dans une variable d’environnement ; ne la placez jamais dans le HTML du portail captif ni dans du JavaScript côté client.
  • Le composant qui récupère la liste doit s’exécuter côté serveur. Les appareils des clients ne doivent pas appeler HMS directement : la réponse contient les données d’identité de tous les clients.
  • Si vous soupçonnez une fuite de la clé, supprimez-la dans le panneau et générez-en une nouvelle. L’ancienne clé renvoie 401 dès sa suppression.
Dernière mise à jour: 21 septembre 2026Vous avez repéré une erreur ? Signalez-la-nous