Έλεγχος ταυτότητας
Η πρόσβαση στο Online Booking API γίνεται με διαπιστευτήρια συνεργάτη που εκδίδει το HMS. Το τελικό σημείο σύνδεσης ανταλλάσσει τα apiKey και apiSecret με ένα token, το οποίο αποστέλλεται ως Authorization: Bearer σε κάθε άλλο αίτημα. Για λεπτομέρειες, δείτε τον οδηγό Έλεγχος ταυτότητας.
Σύνδεση και λήψη token#
POST
/external/public/loginΔεν απαιτείται έλεγχος ταυτότητας · Σώμα: application/x-www-form-urlencoded ή multipart/form-data
Επαληθεύει τα διαπιστευτήρια του συνεργάτη και εκδίδει token, εφόσον ο συνεργάτης έχει εξουσιοδότηση για το ξενοδοχείο. Το token δεσμεύεται σε ένα ξενοδοχείο· για κάθε ξενοδοχείο συνδεθείτε ξεχωριστά.
Πεδία φόρμας
apiKeystringυποχρεωτικόΚλειδί συνεργάτη που εκδίδει το HMS.
apiSecretstringυποχρεωτικόΜυστικό κλειδί συνεργάτη. Φυλάξτε το αποκλειστικά στον διακομιστή.
hotelCodeintegerυποχρεωτικόΤο αναγνωριστικό HMS του ξενοδοχείου (
hotelID). Ο συνεργάτης πρέπει να έχει εξουσιοδότηση για αυτό το ξενοδοχείο.hotelSeoUrlstringΤο SEO slug του ξενοδοχείου στο HMS. Χρησιμοποιείται αντί του
hotelCode μόνο από τη μηχανή κρατήσεων του ίδιου του HMS· οι ενσωματώσεις τρίτων στέλνουν hotelCode.Απόκριση
200 Token και στοιχεία ξενοδοχείου. Το token ισχύει για 7 ημέρες· ανανεώστε το συνδεόμενοι ξανά πριν λήξει.
successbooleanΈνδειξη αποτελέσματος.
hotelCodestringΑναγνωριστικό του ξενοδοχείου στο οποίο δεσμεύεται το token.
tokenstringBearer token. Χειριστείτε το ως αδιαφανή τιμή· μην το αναλύετε.
hotelSeoUrlstring | nullΤο SEO slug του ξενοδοχείου.
Αποκρίσεις σφαλμάτων
- 200
partner_is_not_found— το ζεύγος κλειδιών δεν ταίριαξε·hotel_is_not_found— δεν βρέθηκε ξενοδοχείο για τοhotelSeoUrl·hotel_permission_is_not_found— ο συνεργάτης δεν έχει εξουσιοδότηση για αυτό το ξενοδοχείο ή η εξουσιοδότηση είναι ανενεργή.
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"
}