पांचवां चरण: एपीआई से जुड़े रीयल-टाइम अपडेट

आपके सिस्टम में मौजूद इन्वेंट्री में दिन भर उतार-चढ़ाव होते रहते हैं. ऐसा, नई बुकिंग, रद्द होने की वजह, और व्यापारी/कंपनी/कारोबारी की तरफ़ से शेड्यूल किए गए बदलाव की वजह से होता है. रीयल-टाइम अपडेट एपीआई, Google को इन्वेंट्री की उपलब्धता में हुए इन बदलावों के बारे में बताने का तरीका है. Google को मौजूदा बुकिंग में किए गए बदलावों की जानकारी देने के लिए, रीयल-टाइम एपीआई अपडेट भी इस्तेमाल किए जा सकते हैं.

एपीआई रीयल-टाइम अपडेट और फ़ीड

एपीआई रीयल-टाइम अपडेट का इस्तेमाल, Google को इन्वेंट्री की उपलब्धता और बुकिंग में होने वाले बदलावों की जानकारी देने के लिए किया जाता है. ये बदलाव रीयल-टाइम में होते हैं. रीयल-टाइम एपीआई अपडेट के अलावा, हर दिन 'खरीदारी के लिए उपलब्धता' फ़ीड की पूरी जानकारी भेजें. इससे यह पक्का किया जा सकेगा कि Google के पास प्रॉडक्ट की उपलब्धता की सटीक और ताज़ा जानकारी है, क्योंकि यह आपके सिस्टम में मौजूद है. पूरा फ़ीड, आपके सिस्टम में इन्वेंट्री की उपलब्धता की मौजूदा स्थिति के स्नैपशॉट के तौर पर काम करता है.

हालांकि, एपीआई के अपडेट का इस्तेमाल, फ़ीड से दी गई किसी भी जानकारी को अपडेट करने के लिए किया जा सकता है, जैसे कि व्यापारियों/कंपनियों/कारोबारियों और सेवाओं के बारे में जानकारी. आम तौर पर, इनका इस्तेमाल सिर्फ़ खरीदारी के लिए उपलब्धता की जानकारी को अपडेट करने के लिए किया जाता है.

रीयल-टाइम अपडेट के ज़रूरी एपीआई

रीयल-टाइम अपडेट (आरटीयू) एपीआई
BookingNotification ज़रूरी है बुकिंग में बदलाव होने पर (जैसे कि बदलाव करना या रद्द करना) किसी भी समय बुकिंग नोटिफ़िकेशन आरटीयू भेजें.
RTU में प्रॉडक्ट की उपलब्धता बदलें कुछ शर्तों के मुताबिक ज़रूरी है[1] इन्वेंट्री की उपलब्धता के बारे में अपडेट भेजने के लिए, बैच रिप्लेस या सिंगल रिप्लेसमेंट आरटीयू भेजें. बदलावों को लागू होने और दिखने में कुछ मिनट लग सकते हैं.
व्यापारी/कंपनी का आरटीयू ज़रूरी नहीं अगर आपको रीयल-टाइम में व्यापारी/कंपनी की जानकारी में बदलाव करने हैं, तो व्यापारी/कंपनी को आरटीयू भेजें. बदलावों को लागू होने और दिखने में कई घंटे लग सकते हैं.
सेवा आरटीयू ज़रूरी नहीं अगर आपको सेवा की जानकारी में रीयल-टाइम में बदलाव करना है, तो सेवा के आरटीयू भेजें. आम तौर पर, इसका इस्तेमाल तब किया जाता है, जब सेवा की कीमतों में दिन के हिसाब से उतार-चढ़ाव होता है. ऐसे में, सेवा के आरटीयू लागू करने का सुझाव दिया जाता है. इससे, कीमत मेल न खाने की वजह से ऑर्डर फ़ेल होने से बचा जा सकता है. बदलावों को लागू होने और दिखने में कई घंटे लग सकते हैं.

'खरीदारी के लिए उपलब्धता' एपीआई आरटीयू बदलें

'खरीदारी के लिए उपलब्धता बदलें' एपीआई का इस्तेमाल करके, इन मामलों में खरीदारी के लिए उपलब्धता के बारे में अपडेट दें:

  • कोई उपयोगकर्ता आपके सिस्टम पर बुकिंग करता है, इसलिए उपलब्धता स्लॉट अब उपलब्ध नहीं है.
  • कोई व्यापारी/कंपनी/कारोबारी आपके सिस्टम में, अपनी खरीदारी के लिए उपलब्धता बदल देता है.
  • कोई उपयोगकर्ता Google के ज़रिए बुकिंग करता है, इसलिए उपलब्धता स्लॉट अब उपलब्ध नहीं है.
  • Google के ज़रिए की गई बुकिंग को आपकी तरफ़ से रद्द कर दिया जाता है. उदाहरण के लिए, व्यापारी/कंपनी/कारोबारी सीधे तौर पर बुकिंग रद्द कर देता है. आपको बुकिंग के साथ-साथ उपलब्धता की जानकारी को अपडेट करना होगा, क्योंकि ओरिजनल स्लॉट अब फिर से उपलब्ध है.
  • बुकिंग सर्वर BatchAvailabilityLookup कॉल, ऐसी इन्वेंट्री दिखाता है जो असल इन्वेंट्री से मेल नहीं खाती.

ज़्यादा जानकारी के लिए, यहां दिए गए संसाधन देखें:

बुकिंग नोटिफ़िकेशन एपीआई आरटीयू

बुकिंग सूचना एपीआई, 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 फ़ॉर्मैट में किसी सुरक्षित जगह पर सेव करें. खाता बनाते समय, आपके पास भूमिका को "मालिक" के तौर पर सेट करने का विकल्प होता है.

Maps बुकिंग एपीआई की पुष्टि करें

सेवा खाता बनाने के बाद, इन एपीआई की पुष्टि करें:

  • Google Maps बुकिंग एपीआई
  • Google Maps बुकिंग एपीआई (डेवलपर)

ऐसा करने के सिलसिलेवार निर्देशों के लिए, Maps Booking API से पुष्टि करना ट्यूटोरियल देखें.

RESTful कॉल का इस्तेमाल करें या क्लाइंट लाइब्रेरी डाउनलोड करें

हमारा सुझाव है कि आप JSON पेलोड का इस्तेमाल करके, सीधे Maps के बुकिंग एपीआई पर RESTful कॉल करें. ज़्यादा जानकारी के लिए, REST API का दस्तावेज़ देखें.

एपीआई से कनेक्ट करने के लिए, क्लाइंट लाइब्रेरी का भी इस्तेमाल किया जा सकता है.

Language डाउनलोड करने का लिंक
Java Java क्लाइंट लाइब्रेरी. ज़्यादा जानकारी के लिए, Java क्लाइंट के निर्देश देखें.

अतिरिक्त सहायता लाइब्रेरी डाउनलोड के लिए उपलब्ध हैं, जो अनुमति देने और Google API को किए जाने वाले कॉल से जुड़े दूसरे पहलुओं को हैंडल करती हैं. अगर ज़रूरी हो, तो इन सैंपल को देखें.

खोज दस्तावेज़ पाएं

Ruby जैसी कुछ क्लाइंट लाइब्रेरी के लिए, एपीआई के लिए डिस्कवरी दस्तावेज़ को फ़ेच करना ज़रूरी होता है. इसमें, एपीआई के तरीके और पैरामीटर के बारे में बताया जाता है.

डिस्कवरी दस्तावेज़ को फ़ेच करने के लिए, इस कमांड का इस्तेमाल करें:

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

Ruby से एपीआई को ऐक्सेस करने के बारे में ज़्यादा जानकारी के लिए, इन लिंक पर जाएं: Ruby API क्लाइंट और Ruby Auth Library.

एपीआई को अनुमति वाले कॉल करें

एपीआई का इस्तेमाल करते समय, अपने सेवा खाते को निजी कुंजी और यहां बताए गए OAuth स्कोप से अनुमति देने के लिए, अनुमति वाले एपीआई कॉल करने की तैयारी करना लेख पढ़ें:https://www.googleapis.com/auth/mapsbooking

एपीआई कोटा

एपीआई के अपडेट के लिए, हर 60 सेकंड में 1,500 अनुरोध किए जा सकते हैं. इसके अलावा, औसतन 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()