Inicio rápido
En esta página generarás una clave de API en el panel de HMS del hotel y obtendrás la lista de huéspedes alojados. Necesitas acceso al panel con un usuario autorizado para gestionar claves de API; si no lo tienes, la dirección del hotel puede generar la clave y facilitártela.
1. Genera una clave#
- En el panel de administración de HMS, abre la página API y cambia a la pestaña Custom API.
- En el campo de descripción, indica dónde se usará la clave (p. ej., Hotspot – Edificio principal) y guarda. HMS genera una clave de 13 caracteres.
- Copia la clave de la lista. Está vinculada al hotel y no caduca; deja de ser válida en cuanto se elimina de la lista.
export HMS_API_KEY="017f1daf2d139"Anota también el ID del hotel en HMS; los ejemplos lo envían como HotelCode: 1000. Este encabezado no se usa para la validación, pero permite ver en los registros qué hotel se consultó.
2. Obtén la lista#
El endpoint se llama con POST y no recibe cuerpo:
curl -X POST "https://test.hms.gen.tr/public/json/customer/inhotel" \
-H "ApiKey: $HMS_API_KEY" \
-H "HotelCode: 1000"const res = await fetch("https://test.hms.gen.tr/public/json/customer/inhotel", {
method: "POST",
headers: {
"ApiKey": process.env.HMS_API_KEY,
"HotelCode": "1000"
}
});
if (res.status === 401) throw new Error("Invalid ApiKey");
const data = await res.json();
for (const g of data.otelde) {
console.log(g.roomName, g.firstName, g.lastName, new Date(g.checkout * 1000));
}$ch = curl_init('https://test.hms.gen.tr/public/json/customer/inhotel');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'ApiKey: ' . getenv('HMS_API_KEY'),
'HotelCode: 1000',
],
]);
$body = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) === 401) {
throw new RuntimeException('Invalid ApiKey');
}
$data = json_decode($body, true);
foreach ($data['otelde'] as $g) {
echo $g['roomName'], ' · ', $g['firstName'], ' ', $g['lastName'], ' · ', date('d.m.Y', $g['checkout']), "\n";
}3. Lee la respuesta#
Cada huésped alojado es un registro independiente en el array otelde. Un ejemplo recortado con dos huéspedes que comparten habitación:
{
"success": 1,
"otelde": [
{
"unique": 58211,
"firstName": "AYŞE",
"lastName": "DEMİR",
"identityNumber": "11111111110",
"birthDate": "14.03.1985",
"roomID": 4,
"roomName": "104",
"checkin": 1788863400,
"checkout": 1788998400,
"rezervasyon_id": 282799
},
{
"unique": 58212,
"firstName": "MEHMET",
"lastName": "DEMİR",
"identityNumber": "22222222220",
"birthDate": "02.11.1982",
"roomID": 4,
"roomName": "104",
"checkin": 1788863400,
"checkout": 1788998400,
"rezervasyon_id": 282799
}
]
}uniquees único por huésped; vincula a él el usuario del hotspot.rezervasyon_ides común a los huéspedes de la misma habitación.- El número de habitación que se pide en el portal se compara con
roomName, y el apellido, conlastName. Los valores suelen estar en mayúsculas. checkines el momento del check-in;checkoutes la fecha de salida prevista (00:00 UTC), sin hora. Suma la hora de check-out del hotel para obtener el fin de la sesión.- Si no hay nadie alojado,
oteldees un array vacío ysuccesssigue siendo1.
Siguientes pasos#
- Flujo de verificación de huéspedes — reglas de coincidencia, duración de la sesión, sincronización periódica
- Autenticación — gestión de claves y la respuesta 401
- Referencia de la API — todos los campos, explicados