الطلبات والاستجابات

تتناول هذه الصفحة تنسيقات متن الطلب، وغلاف الاستجابة، وتقسيم الصفحات، وتنسيقات التواريخ والمبالغ، وكيفية تفسير رموز حالة HTTP.

متون الطلبات#

تستخدم نقاط النهاية أحد تنسيقين للمتن، وتوضّح صفحة المرجع الخاصة بكل نقطة نهاية التنسيق المعتمد.

التنسيقContent-Typeيُستخدم في
حقول النموذجapplication/x-www-form-urlencoded أو multipart/form-dataتسجيل الدخول، وقائمة الغرف، والتحقق من القسيمة، والدول
JSONapplication/jsonإرسال الحجز (BookingPushRQ)، وبدء الدفع
سلسلة الاستعلامجميع نقاط النهاية من نوع GET

تُكرَّر حقول المصفوفات في متون النماذج مع أقواس مربعة: childAges[]=7&childAges[]=12. ويجب أن تكون متون JSON بترميز UTF-8.

غلاف الاستجابة#

الاستجابات بتنسيق JSON، ويحمل معظمها مؤشر success؛ وتعود القوائم مع count وitems:

استجابة قائمة (مختصرة)
{
    "success": true,
    "count": 3,
    "items": [
        {
            "id": 1,
            "titleCode": "TRY",
            "symbol": "₺",
            "price": 1
        },
        {
            "id": 2,
            "titleCode": "EUR",
            "symbol": "€",
            "price": 47.85000000000000142108547152020037174224853515625
        }
    ]
}

عند إخفاق التحقق من قواعد العمل تُعاد success: false مع وصف للخطأ، بأحد شكلين:

شكل message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
شكل errorCode (قائمة الغرف)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

الاستثناءات: تعيد نقطة نهاية بيانات الاتصال كائنًا مجردًا دون غلاف، ويعيد إرسال الحجز كائن BookingPushRS. وكلاهما موضّح في المرجع.

رموز حالة HTTP#

الرمزمتىما العمل
200عولج الطلب (نجاح أو خطأ في قواعد العمل)افحص success وmessage / errorCode.
401الرمز المميز مفقود أو غير صحيح الصيغة أو غير معروفسجّل الدخول مجددًا؛ راجع المصادقة.
404معامل المسار لا يطابق أي سجل (مثل /hotel/{hotelID}/… و/payment/type/{paymentType})تحقق من المعرّف.
405طريقة HTTP خاطئةاستخدم الطريقة المذكورة في المرجع (الدول وقائمة الغرف تستخدمان POST).
500خطأ غير متوقع في الخادمأعد المحاولة بعد مهلة قصيرة؛ وإذا استمر الخطأ، فافتح تذكرة دعم وأرفق الطلب.

تقسيم الصفحات#

نقاط نهاية القوائم (/external/currencies، /external/languages، /external/online/social/media، /external/stock/packages) مقسّمة إلى صفحات حسب رقم الصفحة:

المعاملالوصفالافتراضي
limitعدد السجلات في الصفحة.20
pageرقم الصفحة، بدءًا من 1.1
offsetعدد السجلات المراد تخطيها. عند تحديده يُتجاهل page.
orderحقل الترتيب؛ أضف - في البداية للترتيب التنازلي (-id). الحقول المسموح بها مذكورة لكل نقطة نهاية.

count هو العدد الإجمالي للسجلات؛ وتنتهي القائمة عندما يتحقق page × limit ≥ count.

التواريخ والأوقات والمبالغ#

النوعالتنسيقمثال
تاريخ الطلبYYYY-MM-DD2026-08-18
تاريخ التوافرYYYY-MM-DD أو YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
تاريخ سعر الليلة (في الاستجابة)DD.MM.YYYY (الحقل tarih)18.08.2026
نطاق يوم التوافر (في الاستجابة)YYYY-MM-DD HH:MM:SS، من 12:00 حتى 12:00 من اليوم التالي2026-08-18 12:00:00
المبلغسلسلة نصية بمنزلتين عشريتين، والفاصل العشري نقطة"965.00"
العملةISO 4217؛ مأخوذة من إعدادات قناة الحجز عبر الإنترنت لدى الفندقTRY
المنطقة الزمنيةالمنطقة الزمنية للفندقEurope/Istanbul

لا يُحتسب تاريخ المغادرة ضمن الإقامة: من 18 إلى 20 أغسطس ليلتان. لا تجمع المبالغ باستخدام float؛ بل استخدم مكتبة للأعداد العشرية أو أعدادًا صحيحة بأصغر وحدة نقدية.

اللغة#

تستقبل قائمة الغرف الحقل language (ISO 639-1: tr، en، de…) وتعيد أسماء الغرف وعناوين المزايا ورسائل الأخطاء بتلك اللغة. أما قائمة الباقات فتتوقع languageID، وتؤخذ المعرّفات من نقطة النهاية اللغات.

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