Autenticación
El acceso a la API de Online Booking se realiza con credenciales de partner emitidas por HMS. El endpoint de inicio de sesión canjea apiKey y apiSecret por un token, que se envía como Authorization: Bearer en todas las demás solicitudes. Consulta la guía de Autenticación para más detalles.
Iniciar sesión y obtener un token#
POST
/external/public/loginNo requiere autenticación · Cuerpo: application/x-www-form-urlencoded o multipart/form-data
Valida las credenciales del partner y emite un token si el partner está autorizado para el hotel. El token está vinculado a un solo hotel; inicia sesión por separado para cada hotel.
Campos de formulario
apiKeystringobligatorioClave de partner emitida por HMS.
apiSecretstringobligatorioSecreto del partner. Guárdalo solo en el servidor.
hotelCodeintegerobligatorioID del hotel en HMS (
hotelID). El partner debe estar autorizado para este hotel.hotelSeoUrlstringSlug SEO del hotel en HMS. Solo lo usa el propio motor de reservas de HMS, en lugar de
hotelCode; las integraciones de terceros deben enviar hotelCode.Respuesta
200 Token y datos del hotel. El token es válido durante 7 días; renuévalo iniciando sesión de nuevo antes de que caduque.
successbooleanIndicador de resultado.
hotelCodestringID del hotel al que está vinculado el token.
tokenstringToken Bearer. Trátalo como un valor opaco; no lo analices.
hotelSeoUrlstring | nullSlug SEO del hotel.
Respuestas de error
- 200
partner_is_not_found— el par de claves no coincide;hotel_is_not_found— no hay ningún hotel parahotelSeoUrl;hotel_permission_is_not_found— el partner no está autorizado para este hotel o la autorización está inactiva.
curl "https://test.hms.gen.tr/external/public/login" \
-d "apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=" \
-d "apiSecret=a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19" \
-d "hotelCode=1000"const res = await fetch("https://test.hms.gen.tr/external/public/login", {
method: "POST",
body: new URLSearchParams([
["apiKey", "5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q="],
["apiSecret", "a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19"],
["hotelCode", "1000"]
])
});
const data = await res.json();$ch = curl_init('https://test.hms.gen.tr/external/public/login');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query([
'apiKey' => '5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4+Am7Q=',
'apiSecret' => 'a143d6408634696b811def06d236682950cacb9761aa8ad5827da4015bda4b19',
'hotelCode' => '1000',
]),
]);
$data = json_decode(curl_exec($ch), true);{
"success": true,
"hotelCode": "1000",
"token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIsInRpbWV6b25lX3R5cGUiOjMsInRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIn0sInRva2VuIjoiM2tkOXNscTJwbTh2eHI0dHp5Nm53YjFoYzdmajVnYTAiLCJob3RlbElEIjoxMDAwLCJ1c2VySUQiOjQyLCJkYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTA4IDEwOjI0OjMxLjAwMDAwMCJ9fQ==",
"hotelSeoUrl": "demo-otel"
}{
"success": false,
"token": null,
"message": "hotel_permission_is_not_found"
}