الخطوة 5: تحديثات واجهة برمجة التطبيقات في الوقت الفعلي

يتقلّب المستودع الإعلاني في نظامك على مدار اليوم بسبب الحجوزات الجديدة، عمليات الإلغاء، وجدولة التغييرات من جانب التجار. التحديث في الوقت الفعلي واجهة برمجة التطبيقات هي آلية لإشعار Google بهذه التغييرات في المستودع. مدى التوفر. يمكنك أيضًا استخدام تحديثات واجهة برمجة التطبيقات في الوقت الفعلي لإبلاغ Google التغييرات التي يتم إجراؤها على الحجوزات الحالية.

آخر الأخبار والخلاصات في الوقت الفعلي من واجهة برمجة التطبيقات

تُستخدَم التعديلات في الوقت الفعلي من واجهة برمجة التطبيقات لإبلاغ Google بالتغييرات المتزايدة في توفر المخزون والحجوزات عند حدوثها في الوقت الفعلي. بالإضافة إلى ذلك إلى تحديثات واجهة برمجة التطبيقات في الوقت الفعلي، وإرسال خلاصات "مدى التوفّر" الكاملة يوميًا أنّ لدى Google المعرفة الأحدث والأكثر دقةً بشأن التوفّر الموجودة في نظامك. الخلاصات الكاملة هي بمثابة نبذة عن البيانات الحالية حالة توفّر المستودع في نظامك.

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

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

واجهات برمجة تطبيقات التحديث في الوقت الفعلي (RTU)
BookingNotification إلزامية إرسال أوقات استخدام RTU في BookingNotification في أي وقت إجراء تغيير على الحجز (مثل التعديلات أو الإلغاء)
مدى التوفّر بدلاً من RTU مطلوب بشروط[1] إرسال أيّ منهما الاستبدال المجمَّع أو وحدات RTU للاستبدال الفردي لإرسال تعديلات على مدى توفّر المستودع. قد يستغرِق نشر التغييرات وظهورها عدّة دقائق.
RTU للتاجر اختياري أرسِل تعديلات RTU إلى التاجر إذا أردت إجراء تغييرات إلى التاجر. المعلومات في الوقت الفعلي. قد يستغرق نشر التغييرات عدّة ساعات. والتأمل.
RTU للخدمة اختياري إرسال تعديلات RTU للخدمة إذا أردت إجراء تغييرات عليها المعلومات في الوقت الفعلي. وتتمثل حالة الاستخدام الشائعة في حالة تحديد أسعار الخدمة بشكل كبير خلال اليوم، فإن تنفيذ عمليات RTU للخدمة يُنصح باستخدامها لتجنُّب تعذُّر الطلبات بسبب عدم تطابق السعر. قد تؤدي التغييرات يستغرق الأمر عدة ساعات للنشر والانعكاس.

مدى التوفّر لاستبدال RTU لواجهة برمجة التطبيقات

يمكنك استخدام واجهة برمجة التطبيقات "مدى التوفّر البديل" لتوفير تحديثات مدى التوفّر في حالات الاستخدام التالية:

  • يحجز مستخدم ما في نظامك، لذا فإن خانة مدى التوفر المتوفرة.
  • يغيّر التاجر مدى توفّر المنتجات في نظامك.
  • يحجز المستخدم حجزًا عبر Google، لذا فإن خانة مدى التوفر ليست المتوفرة.
  • يتم إلغاء الحجز الذي تم إجراؤه من خلال Google من جانبك، على سبيل المثال: من التاجر مباشرةً يجب تعديل الحجز بالإضافة إلى مدى التوفّر، لأنّ الخانة الأصلية متاحة الآن مرة أخرى.
  • إرجاع مكالمة BatchAvailabilityLookup لخادم الحجز الذي لا يتطابق مع المستودع الفعلي.

لمزيد من المعلومات، يُرجى الاطّلاع على المراجع التالية:

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

ترسِل واجهات برمجة التطبيقات لإشعار الحجز إشعارًا إلى Google بشأن تحديثات على الحجوزات الحالية. عند إرسال تحديث حول عمليات الإلغاء، إرسال المعلومات الأساسية فقط في الطلب مع مَعلمة طلب البحث updateMask. يُرجى الاطّلاع على المثال أدناه:

Request:
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status

Body:
{"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}

الوصول إلى واجهة برمجة التطبيقات

إنشاء حساب خدمة

استخدم علامة التبويب بيانات الاعتماد في وحدة تحكم Google API من أجل إنشاء حساب خدمة تخزين المفتاح الخاص بتنسيق JSON في ملف آمن الْمَكَانْ. عند إنشاء الحساب، يتوفّر لك خيار ضبط الدور على "المالك".

مصادقة واجهات برمجة تطبيقات الحجز في "خرائط Google"

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

  • Google Maps Booking API
  • واجهة برمجة تطبيقات حجز خرائط Google (Dev)

للحصول على دليل مفصَّل حول كيفية إجراء ذلك، يُرجى الرجوع إلى مقالة الدليل التعليمي حول المصادقة باستخدام Maps Booking API

استخدام الاتصالات REST أو تنزيل مكتبة البرامج

ننصحك بإجراء اتصالات REST مباشرةً مع واجهة Maps Booking API. مع حمولات JSON. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات واجهة برمجة التطبيقات REST:

ويمكنك أيضًا استخدام مكتبات العملاء للاتصال بواجهة برمجة التطبيقات.

Language رابط التنزيل
Java مكتبة برامج Java لمزيد من المعلومات، يُرجى الاطّلاع على تعليمات برنامج Java

معلومات إضافية مكتبات الدعم متاحة للتنزيل الذي التعامل مع التفويض والجوانب الأخرى المتعلقة باستدعاءات Google APIs. إذا لزم الأمر، إلقاء نظرة على هذه النماذج.

استرجاع مستند Discovery

بالنسبة لبعض مكتبات العملاء، مثل Ruby، من الضروري جلب مستند Discovery الخاص بواجهة برمجة التطبيقات والذي يصف الطرق المعلَمات.

استخدِم الأمر التالي لاسترجاع مستند Discovery:

curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'

لمزيد من المعلومات عن الوصول إلى واجهة برمجة التطبيقات من Ruby، اتبع الروابط التالية: Ruby API Client مكتبة مصادقة Ruby

إجراء طلبات معتمَدة لواجهة برمجة التطبيقات

عند إجراء اتصالات بواجهة برمجة التطبيقات، يمكنك الرجوع إلى الاستعداد لإجراء طلب بيانات معتمد من واجهة برمجة التطبيقات من أجل تفويض الخدمة باستخدام مفتاحك الخاص ونطاق OAuth التالي: https://www.googleapis.com/auth/mapsbooking

حصص واجهة برمجة التطبيقات

تبلغ حصة تحديثات واجهة برمجة التطبيقات 1,500 طلب كل 60 ثانية أو 25 طلبًا في الثانية في المتوسط. عند تجاوز حصة معيّنة (وهو ما قد يحدث في حال عدم إضافة رقم مشروع Google Cloud الصحيح إلى "بوابة الشريك")، تردّ Google من خلال ما يلي: رسالة الخطأ التالية:

{
  "error": {
    "code": 429,
    "message": "Insufficient tokens for quota ...",
    "status": "RESOURCE_EXHAUSTED",
    "details": [...]
  }
}

لمعالجة هذه المشكلة، يُرجى إعادة محاولة الاتصال مجددًا على فترات زمنية طويلة جدًا حتى إلا أنه نجح. إذا كنت تستنفد الحصة بانتظام مع ReplaceServiceAvailability، التبديل إلى BatchReplaceServiceAvailabily لتقليل عدد واجهات برمجة التطبيقات الاتصالات. تتيح لك هذه الطريقة تعديل خدمات متعددة في واجهة برمجة تطبيقات واحدة. الاتصال.

نقاط نهاية وضع الحماية والإنتاج

يمكنك إجراء اتصالات بكل من بيئتي وضع الحماية والإنتاج من خلال واجهة برمجة التطبيقات. تأكَّد من تفعيل واجهتَي برمجة التطبيقات في مشروعك على Google Cloud. تستخدم كل من واجهات برمجة التطبيقات هذه النطاق نفسه، ولكن لهما نقاط نهاية مختلفة.

نقطة نهاية الإنتاج: https://mapsbooking.googleapis.com/

نقطة نهاية وضع الحماية: https://partnerdev-mapsbooking.googleapis.com/

فيما يلي مثال بلغة Java على كيفية تبديل نقاط النهاية:

    // This block of code is for OAuth and is the same for prod and sandbox.
    GoogleCredential
      .fromStream(new FileInputStream(...))
      .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking"))

    // This block of code sets the endpoint. This is what you'd change to connect to the sandbox.
    new GoogleMapsBookingAPI.Builder(...)
      .setApplicationName(...)
      .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev.
      .build()