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

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

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

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

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

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

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

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

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

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

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

ऐसा करने के बारे में सिलसिलेवार निर्देश पाने के लिए, Maps बुकिंग एपीआई की मदद से पुष्टि करना ट्यूटोरियल देखें.

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

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

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

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

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

खोज से जुड़े दस्तावेज़ को फ़ेच करें

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

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

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()