Authentifizierung
Der Zugriff auf die Online Booking API erfolgt mit Partner-Zugangsdaten, die HMS vergibt. Der Anmelde-Endpunkt tauscht apiKey und apiSecret gegen ein Token, das bei allen weiteren Anfragen als Authorization: Bearer gesendet wird. Einzelheiten finden Sie im Leitfaden Authentifizierung.
Anmelden und Token abrufen#
POST
/external/public/loginKeine Authentifizierung erforderlich · Body: application/x-www-form-urlencoded oder multipart/form-data
Prüft die Partner-Zugangsdaten und stellt ein Token aus, sofern der Partner für das Hotel berechtigt ist. Das Token ist an ein Hotel gebunden; melden Sie sich für jedes Hotel separat an.
Formularfelder
apiKeystringerforderlichVon HMS vergebener Partnerschlüssel.
apiSecretstringerforderlichGeheimer Partnerschlüssel. Nur serverseitig aufbewahren.
hotelCodeintegererforderlichDie HMS-ID des Hotels (
hotelID). Der Partner muss für dieses Hotel berechtigt sein.hotelSeoUrlstringDer SEO-Slug des Hotels in HMS. Wird nur von der HMS-eigenen Buchungsmaschine anstelle von
hotelCode verwendet; Integrationen von Drittanbietern senden hotelCode.Antwort
200 Token und Hoteldaten. Das Token ist 7 Tage gültig; erneuern Sie es vor Ablauf durch eine erneute Anmeldung.
successbooleanErgebnis-Flag.
hotelCodestringHotel-ID, an die das Token gebunden ist.
tokenstringBearer-Token. Behandeln Sie es als opaken Wert und parsen Sie es nicht.
hotelSeoUrlstring | nullDer SEO-Slug des Hotels.
Fehlerantworten
- 200
partner_is_not_found— Schlüsselpaar stimmt nicht überein;hotel_is_not_found— kein Hotel zuhotelSeoUrl;hotel_permission_is_not_found— der Partner ist für dieses Hotel nicht berechtigt oder die Berechtigung ist inaktiv.
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"
}