عميل واجهة برمجة تطبيقات الحجز في Java

يمكنك تنزيل برنامج JavaScript API في الوقت الفعلي للتحديث للمساعدة في البدء في تنفيذ التعديلات في الوقت الفعلي.

متطلب أساسي:

بعد إنشاء حساب الخدمة، يجب تنزيل مفتاحك الخاص.

البدء:

  1. نزِّل مكتبة برامج Java ليتم فك ضغط الملف للحصول على حزمة "خرائط Google".
  2. أنشِئ مشروع جافا في بيئة التطوير المتكاملة (IDE)، ونزِّل نماذج الرموز InventoryUpdate.java و BookingNotification.java من هذا التقرير:

    git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
    

    واستيرادها إلى مشروع JavaScript ضمن دليل src.

  3. أنشِئ نسخة من مفتاحك الخاص (ملف JSON) في دليل src.
  4. أضِف مكتبة برامج Java إلى العناصر التابعة لمشروعك (ضمِّن ملفات Jar ضمن دليل الخرائط ودليل libs-sources).
  5. في كلا ملفَي JavaScript، اتّبِع المهام لإجراء عمليات التنفيذ

يمكن العثور على مزيد من التفاصيل حول REST API هنا.

تحرّي الخلل وإصلاحه:

  1. عند محاولة إنشاء تاجر/خدمة جديدة باستخدام معرّف تاجر أو معرّف خدمة حالي، ستظهر لك رسالة الخطأ التالية:

    409 Conflict
    {
      “code” : 409,
      “errors” :
        [{
            “domain” : “global”,
            “message” : “Requested entity already exists”,
            “reason” : “alreadyExists”,
            “debugInfo” : “detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
        }],
      “message” : “Requested entity already exists”,
      “status” : “ALREADY_EXISTS”
    }
    
  2. عند إجراء طلب استبدال متاح باستخدام معرّف تاجر أو معرّف خدمة غير صالح، لن تعرض المكالمة رسالة خطأ. ويعود السبب في ذلك إلى أنّ التغييرات التي تطرأ على خانات مدى التوفّر من خلال طلبات النقل في الوقت الفعلي (RTU) تسمح بالتنفيذ خارج الطلب، وبالتالي هي غير مرتبطة بمعرّف تاجر أو معرّف الخدمة. ومع ذلك، لن يتم عرض الخانات في الطلب في مرحلة الإنتاج بسبب معرّف Merchant ID أو serviceId غير صالح. لجعل الخانات قابلة للعرض، يُرجى إضافة التاجر أو الخدمة المفقودة من خلال خلاصات RTU أو الخلاصات.
  3. في جميع وظائف التعديل، يجب أن تكون المعلّمة "updateMask" بتنسيق FieldMask لتحديد الحقول المطلوب تعديلها. واجهة برمجة التطبيقات مطلوبة لتغيير قيم الحقول فقط كما هو محدد في القناع وترك باقي الحقول بدون تغيير. إذا اجتازت سلسلة updateMask غير صحيحة، لن يسري التحديث. في حال عدم توفّر قناع حقل، يتم تطبيق العملية على جميع الحقول (كما لو تم تحديد قناع حقل في جميع الحقول). إذا كنت تريد تعديل جميع الحقول، ما عليك سوى ضبط updateMask فارغ.
  4. لا يظهر في الحقل أي حقل يحتوي على قيمة صفرية.