Έλεγχος ταυτότητας

Η πρόσβαση παρέχεται μέσω ενός λογαριασμού συνεργάτη που ορίζει το HMS. Ο λογαριασμός συνεργάτη λαμβάνει ένα apiKey και ένα apiSecret, και το HMS εξουσιοδοτεί σε ποια ξενοδοχεία έχει πρόσβαση. Το τελικό σημείο σύνδεσης ανταλλάσσει αυτά τα διαπιστευτήρια με ένα token δεσμευμένο σε ξενοδοχείο.

Σύνδεση και token#

Αίτημα
POST /external/public/login HTTP/1.1
Host: test.hms.gen.tr
Content-Type: application/x-www-form-urlencoded

apiKey=5y94tLmALIKDyUVdEPlAAjg5xWGQNgQtnALlV4%2BAm7Q%3D&apiSecret=a143d640…&hotelCode=1000
Απόκριση · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…",
    "hotelSeoUrl": "demo-otel"
}
ΠεδίοΠεριγραφή
apiKeyΚλειδί συνεργάτη. Περιέχει χαρακτήρες base64, επομένως σε σώμα φόρμας πρέπει να κωδικοποιείται για URL (+%2B, =%3D). Οι βιβλιοθήκες HTTP το κάνουν αυτόματα.
apiSecretΜυστικό κλειδί. Φυλάξτε το αποκλειστικά στον διακομιστή· μην το ενσωματώνετε ποτέ σε πρόγραμμα περιήγησης ή σε εφαρμογή για κινητά.
hotelCodeΤο αναγνωριστικό HMS του ξενοδοχείου. Αν ο συνεργάτης δεν έχει εξουσιοδότηση για το ξενοδοχείο, επιστρέφεται hotel_permission_is_not_found.
hotelSeoUrlΤο SEO slug του ξενοδοχείου. Χρησιμοποιείται αντί του hotelCode μόνο από τη μηχανή κρατήσεων του ίδιου του HMS· οι ενσωματώσεις τρίτων στέλνουν hotelCode.

Κεφαλίδα Bearer#

Κάθε τελικό σημείο εκτός από τη σύνδεση αναμένει το token στην κεφαλίδα Authorization:

Αίτημα
GET /external/currencies HTTP/1.1
Host: test.hms.gen.tr
Authorization: Bearer eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…

Αν η κεφαλίδα λείπει, έχει λανθασμένη μορφή (χωρίς το πρόθεμα Bearer) ή το token είναι άγνωστο, το API επιστρέφει 401:

401 Unauthorized
{
    "success": false,
    "error": "Authentication required"
}

Διάρκεια ισχύος και ανανέωση του token#

  • Το token ισχύει για 7 ημέρες. Ανανεώστε το συνδεόμενοι ξανά πριν λήξει· η σύνδεση είναι φθηνή και μπορεί να επαναλαμβάνεται για το ίδιο ξενοδοχείο.
  • Μην αναλύετε το token. Παρόλο που είναι μια δομή κωδικοποιημένη σε base64, η μορφή του δεν είναι εγγυημένη· αποθηκεύστε το και προωθήστε το ως αδιαφανή συμβολοσειρά.
  • Σε 401, συνδεθείτε ξανά μία φορά και επαναλάβετε το αίτημα· ένα δεύτερο 401 σημαίνει ότι έχει αλλάξει το ζεύγος κλειδιών ή η εξουσιοδότηση για το ξενοδοχείο.

Πλαίσιο ξενοδοχείου#

Ένα token δεσμεύεται σε ένα μόνο ξενοδοχείο. Η παράμετρος hotelID στα τελικά σημεία πρέπει να συμφωνεί με αυτό το ξενοδοχείο· ένα αίτημα για άλλο ξενοδοχείο καταλήγει σε σφάλμα εξουσιοδότησης ή σε κενά αποτελέσματα. Για ενσωματώσεις με πολλά ξενοδοχεία, λάβετε ξεχωριστό token για κάθε ξενοδοχείο και κρατήστε το στην cache ανά ξενοδοχείο.

Σφάλματα σύνδεσης#

messageΣημασία
partner_is_not_foundΤο ζεύγος apiKey / apiSecret δεν ταίριαξε. Ελέγξτε τα κλειδιά και την κωδικοποίηση URL.
hotel_is_not_foundΚανένα ξενοδοχείο δεν αντιστοιχεί στο hotelSeoUrl.
hotel_permission_is_not_foundΟ συνεργάτης δεν έχει εξουσιοδότηση για αυτό το ξενοδοχείο ή η εξουσιοδότηση είναι ανενεργή. Επικοινωνήστε με την υποστήριξη του HMS.

Αυτά τα σφάλματα επιστρέφονται ως HTTP 200 με success: false και token: null.

Τελευταία ενημέρωση: 21 Σεπτεμβρίου 2026Βρήκατε κάποιο λάθος; Ενημερώστε μας