البدء السريع

ستحصل في هذه الصفحة على رمز مميز باستخدام بيانات اعتماد الشريك، ثم ترسل استعلامًا عن الغرف والأسعار. تحتاج إلى apiKey وapiSecret ومعرّف الفندق في HMS (hotelID)؛ وإن لم تكن لديك بعد، فتواصل مع الدعم.

1. الحصول على رمز مميز#

تستقبل نقطة نهاية تسجيل الدخول حقول نموذج، ولا تحتاج إلى ترويسة مصادقة:

الطرفية
curl "https://test.hms.gen.tr/external/public/login" \
  -d "apiKey=$HMS_API_KEY" \
  -d "apiSecret=$HMS_API_SECRET" \
  -d "hotelCode=1000"
الاستجابة · 200
{
    "success": true,
    "hotelCode": "1000",
    "token": "eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…",
    "hotelSeoUrl": "demo-otel"
}

احفظ قيمة token؛ إذ تُستخدم في كل طلب يخص هذا الفندق طوال 7 أيام.

الطرفية
export HMS_TOKEN="eyJlbmREYXRlIjp7ImRhdGUiOiIyMDI2LTA5LTE1IDEwOjI0OjMxLjAwMDAwMCIs…"

2. الاستعلام عن الغرف والأسعار#

بحث عن إقامة لليلتين لشخصين بالغين:

الطلب
curl "https://test.hms.gen.tr/external/online/roomType" \
  -H "Authorization: Bearer $HMS_TOKEN" \
  -d "hotelID=1000" \
  -d "startDate=2026-08-18" \
  -d "endDate=2026-08-20" \
  -d "adultCount=2" \
  -d "language=en"

3. قراءة الاستجابة#

يحتوي كل نوع غرفة على أنواع الإقامة الخاصة به (accommodationTypes)، ويحتوي كل نوع إقامة على خيارات الأسعار (prices). إليك مثالًا مختصرًا:

الاستجابة · 200 (مختصرة)
{
    "success": true,
    "items": [
        {
            "id": 2,
            "name": "Standard Room",
            "roomCount": 5,
            "currency": "TRY",
            "accommodationTypes": [
                {
                    "id": 2,
                    "title": "Bed & Breakfast",
                    "priceType": 0,
                    "prices": {
                        "2-1": {
                            "total": 2,
                            "price": "1930.00",
                            "currency": "TRY",
                            "nonRefundable": "",
                            "id": "2/2"
                        },
                        "2-0": {
                            "total": 2,
                            "price": "1737.00",
                            "currency": "TRY",
                            "nonRefundable": "[NR]",
                            "id": "2-0/2"
                        }
                    }
                }
            ]
        }
    ],
    "count": 1
}
  • 2-1: شخصان، السعر القياسي (القابل للاسترداد). 2-0: شخصان، السعر غير القابل للاسترداد (nonRefundable: "[NR]").
  • price هو إجمالي سعر الإقامة، وtotal هو عدد الليالي. أما أسعار الليالي فتجدها في المصفوفة prices[] ضمن الاستجابة الكاملة.
  • في الحجز، تُرسَل قيمة id الخاصة بنوع الغرفة باسم roomTypeID، وقيمة id الخاصة بنوع الإقامة باسم ratePlanID.

ماذا بعد؟#

آخر تحديث: 21 سبتمبر 2026هل وجدت خطأً؟ أخبرنا