ავთენტიფიკაცია

წვდომა ხორციელდება HMS-ის მიერ განსაზღვრული პარტნიორის ანგარიშით. პარტნიორის ანგარიში იღებს apiKey და apiSecret მნიშვნელობებს, ხოლო HMS განსაზღვრავს, რომელ სასტუმროებზე აქვს მას წვდომის უფლება. შესვლის ენდპოინტი ამ მონაცემების სანაცვლოდ გასცემს სასტუმროზე მიბმულ ტოკენს.

შესვლა და ტოკენი#

მოთხოვნა
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 ID. თუ პარტნიორს ამ სასტუმროზე წვდომის უფლება არ აქვს, ბრუნდება hotel_permission_is_not_found.
hotelSeoUrlსასტუმროს SEO მისამართი. hotelCode ველის ნაცვლად მას მხოლოდ HMS-ის საკუთარი დაჯავშნის სისტემა იყენებს; მესამე მხარის ინტეგრაციები აგზავნის hotelCode.

Bearer სათაური#

შესვლის გარდა ყველა ენდპოინტი ტოკენს Authorization სათაურში ელოდება:

მოთხოვნა
GET /external/currencies HTTP/1.1
Host: test.hms.gen.tr
Authorization: Bearer eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…

თუ სათაური აკლია, არასწორი ფორმატისაა (Bearer პრეფიქსის გარეშე) ან ტოკენი უცნობია, API აბრუნებს 401 სტატუსს:

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

ტოკენის მოქმედების ვადა და განახლება#

  • ტოკენი 7 დღე მოქმედებს. განაახლეთ იგი ვადის გასვლამდე ხელახლა შესვლით; შესვლა იაფი ოპერაციაა და ერთი და იმავე სასტუმროსთვის შეგიძლიათ გაიმეოროთ.
  • ნუ ეცდებით ტოკენის გარჩევას. მიუხედავად იმისა, რომ ის base64-ით კოდირებული სტრუქტურაა, მისი ფორმატი გარანტირებული არ არის; შეინახეთ და გადაეცით იგი როგორც გაუმჭვირვალე სტრიქონი.
  • თუ 401 მიიღეთ, კიდევ ერთხელ შედით და გაიმეორეთ მოთხოვნა; მეორე 401 ნიშნავს, რომ გასაღებების წყვილი ან სასტუმროზე წვდომის უფლება შეიცვალა.

სასტუმროს კონტექსტი#

ტოკენი ერთ სასტუმროზეა მიბმული. ენდპოინტების hotelID პარამეტრი ამ სასტუმროს უნდა ემთხვეოდეს; სხვა სასტუმროს მოთხოვნა წვდომის შეცდომას ან ცარიელ შედეგს დააბრუნებს. რამდენიმე სასტუმროს ინტეგრაციისას ყოველი სასტუმროსთვის ცალკე ტოკენი მიიღეთ და ქეშში სასტუმროების მიხედვით შეინახეთ.

შესვლის შეცდომები#

messageმნიშვნელობა
partner_is_not_foundგასაღებების წყვილი apiKey / apiSecret არ ემთხვევა. შეამოწმეთ გასაღებები და URL-კოდირება.
hotel_is_not_foundhotelSeoUrl მნიშვნელობით სასტუმრო ვერ მოიძებნა.
hotel_permission_is_not_foundპარტნიორს ამ სასტუმროზე წვდომის უფლება არ აქვს ან უფლება არააქტიურია. მიმართეთ HMS-ის მხარდაჭერას.

ეს შეცდომები ბრუნდება HTTP 200 სტატუსით, success: false და token: null მნიშვნელობებით.

ბოლო განახლება: 21 სექტემბერი, 2026იპოვეთ შეცდომა? შეგვატყობინეთ