Autentifikasiya

Çıxış HMS tərəfindən yaradılan partnyor hesabı ilə verilir. Partnyor hesabı apiKeyapiSecret alır, hansı otellərə çıxışı olacağını isə HMS müəyyən edir. Giriş son nöqtəsi bu məlumatları otelə bağlı tokenlə dəyişir.

Giriş və token#

Sorğu
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
Cavab · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…",
    "hotelSeoUrl": "demo-otel"
}
SahəTəsvir
apiKeyPartnyor açarı. Base64 simvolları ehtiva etdiyi üçün forma gövdəsində URL-kodlaşdırılmalıdır (+%2B, =%3D). HTTP kitabxanaları bunu sizin əvəzinizə edir.
apiSecretGizli açar. Yalnız server tərəfində saxlayın; heç vaxt brauzerə və ya mobil tətbiqə yerləşdirməyin.
hotelCodeOtelin HMS ID-si. Partnyorun bu otel üçün səlahiyyəti yoxdursa, hotel_permission_is_not_found qaytarılır.
hotelSeoUrlOtelin SEO ünvanı (slug). hotelCode əvəzinə yalnız HMS-in öz rezervasiya mühərriki istifadə edir; üçüncü tərəf inteqrasiyaları hotelCode göndərir.

Bearer başlığı#

Girişdən başqa bütün son nöqtələr tokeni Authorization başlığında gözləyir:

Sorğu
GET /external/currencies HTTP/1.1
Host: test.hms.gen.tr
Authorization: Bearer eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…

Başlıq yoxdursa, düzgün formatda deyilsə (Bearer prefiksi yoxdur) və ya token naməlumdursa, API 401 qaytarır:

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

Tokenin etibarlılıq müddəti və yenilənməsi#

  • Token 7 gün etibarlıdır. Müddəti bitməzdən əvvəl yenidən daxil olaraq onu yeniləyin; giriş yüngül əməliyyatdır və eyni otel üçün təkrarlana bilər.
  • Tokeni təhlil etməyin. Base64 ilə kodlaşdırılmış struktur olsa da, formatına zəmanət verilmir; onu qeyri-şəffaf sətir kimi saxlayın və ötürün.
  • 401 aldıqda bir dəfə yenidən daxil olun və sorğunu təkrarlayın; ikinci 401 açar cütünün və ya otel səlahiyyətinin dəyişdiyini bildirir.

Otel konteksti#

Token yalnız bir otelə bağlıdır. Son nöqtələrdəki hotelID parametri həmin otellə üst-üstə düşməlidir; başqa otel üçün sorğu səlahiyyət xətası və ya boş nəticə ilə qayıdır. Çox otelli inteqrasiyalarda hər otel üçün ayrıca token alın və onu otel üzrə keşləyin.

Giriş xətaları#

messageMənası
partner_is_not_foundapiKey / apiSecret cütü uyğun gəlmədi. Açarları və URL-kodlaşdırmanı yoxlayın.
hotel_is_not_foundhotelSeoUrl üzrə otel tapılmadı.
hotel_permission_is_not_foundPartnyorun bu otel üçün səlahiyyəti yoxdur və ya səlahiyyət aktiv deyil. HMS dəstək xidmətinə müraciət edin.

Bu xətalar HTTP 200 ilə, success: falsetoken: null dəyərləri ilə qayıdır.

Son yenilənmə: 21 sentyabr 2026Səhv tapdınız? Bizə bildirin