किराये और उपलब्धता की जानकारी को इंटिग्रेट करने के लिए, पार्टनर को Partner API लागू करना होगा. यह इंटरफ़ेस REST पर आधारित है. इससे Google को एचटीटीपी पर लाइव कॉल भेजने की अनुमति मिलती है. रेफ़रंस सेक्शन में, एपीआई के हर तरीके के बारे में जानकारी दी गई है. हालांकि, क्रॉस-कटिंग से जुड़ी समस्याओं के बारे में जानकारी बाद में देखी जा सकती है.
अनुरोध और जवाब का फ़ॉर्मैट
शुरुआत में, सिर्फ़ JSON फ़ॉर्मैट इस्तेमाल किए जा सकेंगे. अगर आपको अनुरोध या जवाब के अन्य फ़ॉर्मैट चाहिए, तो Travel Transport टीम से संपर्क करें. इसके लिए, transport-help@google.com पर ईमेल भेजें. इसमें अपने इस्तेमाल के उदाहरण के बारे में बताएं.
अनुरोध, एचटीटीपी पोस्ट मेथड का इस्तेमाल करके भेजे जाएंगे. साथ ही, अनुरोध का मैसेज, पोस्ट बॉडी में होगा.
ध्यान दें कि स्ट्रक्चर को साफ़ तौर पर समझने के लिए, एपीआई इंटरफ़ेस के दस्तावेज़ को प्रोटोकॉल बफ़र मैसेज की परिभाषाओं के तौर पर दिया गया है. साथ ही, प्रोटोकॉल बफ़र मैसेज की परिभाषा को JSON ऑब्जेक्ट में बदलने की प्रोसेस को कैननिकल JSON मैपिंग के ज़रिए तय किया जाता है. इसके लिए, options का इस्तेमाल किया जाता है, ताकि डिफ़ॉल्ट वैल्यू वाले फ़ील्ड दिखाए जा सकें और lowerCamelCase नामों के बजाय प्रोटो फ़ील्ड के नामों का इस्तेमाल किया जा सके.
पुष्टि करना
Google, एचटीटीपी डाइजेस्ट ऑथेंटिकेशन, OAuth 2.0, और क्लाइंट सर्टिफ़िकेट ऑथेंटिकेशन का इस्तेमाल करता है. इसके बारे में जानने के लिए, पार्टनर कॉन्फ़िगरेशन लेख पढ़ें. एपीआई की टेस्टिंग के दौरान, पार्टनर को Google को सही क्रेडेंशियल देने चाहिए:
- डाइजेस्ट के लिए: उपयोगकर्ता नाम और पासवर्ड.
- OAuth 2.0 के लिए: client_id और client_secret.
- सर्टिफ़िकेट के लिए: एसएसएल क्लाइंट सर्टिफ़िकेट.
स्टेटस कोड और गड़बड़ी ठीक करना
आम तौर पर, एचटीटीपी रिस्पॉन्स में ये स्टेटस कोड दिख सकते हैं:
| एचटीटीपी कोड | एचटीटीपी के बारे में जानकारी | नोट |
|---|---|---|
| 2xx | ठीक है | यह कोई गड़बड़ी नहीं है. यह अनुरोध पूरा होने पर दिखता है. जवाब के मुख्य हिस्से में, अनुरोध के पूरा होने का नतीजा (उदाहरण के लिए, TripOptionsResult) होना चाहिए. इसमें गड़बड़ी का जवाब नहीं होना चाहिए. |
| 400 | गलत अनुरोध | हमें मिला अनुरोध अमान्य था. जवाब के मुख्य हिस्से में गड़बड़ी के बारे में ज़्यादा जानकारी देने के लिए, तरीके के हिसाब से गड़बड़ी के जवाबों का इस्तेमाल किया जाना चाहिए. एचटीटीपी 400 का इस्तेमाल आम तौर पर सिर्फ़ तब किया जाना चाहिए, जब Google से कोई तकनीकी गड़बड़ी हुई हो. उदाहरण के लिए, अनुरोध में किसी फ़ील्ड का नाम गलत हो. |
| 403 | अनुमति नहीं है | अनुमति नहीं दी गई/मनाही है (कॉल करने वाले की पहचान हो गई है और उसे अस्वीकार कर दिया गया है). इस जवाब का इस्तेमाल, कुछ संसाधन खत्म होने की वजह से अस्वीकार किए गए अनुरोधों के लिए नहीं किया जाना चाहिए. उन गड़बड़ियों के लिए, 'बहुत ज़्यादा अनुरोध' का इस्तेमाल करें. अगर कॉल करने वाले की पहचान नहीं की जा सकती, तो Forbidden का इस्तेमाल नहीं किया जाना चाहिए. इसके बजाय, उन गड़बड़ियों के लिए Unauthorized का इस्तेमाल करें. |
| 404 | नहीं मिला | अनुरोध किया गया संसाधन नहीं मिला. जवाब के मुख्य हिस्से में गड़बड़ी के बारे में ज़्यादा जानकारी देने के लिए, तरीके के हिसाब से गड़बड़ी के जवाबों का इस्तेमाल किया जाना चाहिए. |
| 429 | अत्यधिक अनुरोध | कुछ संसाधन खत्म हो गए हैं. ऐसा हो सकता है कि हर उपयोगकर्ता के लिए तय किया गया कोटा खत्म हो गया हो. |
| 500 | आंतरिक सर्वर गड़बड़ी | सिस्टम में गड़बड़ियां. इसका मतलब है कि सिस्टम के कुछ इनवेरिएंट टूट गए हैं. गड़बड़ी का यह कोड, गंभीर गड़बड़ियों के लिए रिज़र्व किया गया है. इससे पता चलता है कि पार्टनर के एपीआई सर्वर को लागू करने में कोई गड़बड़ी हुई है. |
| 503 | सेवा उपलब्ध नहीं है | यह सेवा उपलब्ध नहीं है. ज़्यादातर मामलों में, यह एक अस्थायी समस्या होती है. कुछ समय बाद फिर से कोशिश करके इसे ठीक किया जा सकता है. |
| 504 | गेटवे का टाइम आउट हो गया है | कार्रवाई पूरी होने से पहले ही समयसीमा खत्म हो गई. सिस्टम की स्थिति में बदलाव करने वाली कार्रवाइयों के लिए, यह गड़बड़ी तब भी दिख सकती है, जब कार्रवाई पूरी हो गई हो. उदाहरण के लिए, किसी सर्वर से मिला जवाब, समयसीमा खत्म होने के बाद मिला हो. |
ध्यान दें कि सभी पूर्व शर्तों, अमान्य तर्कों या नहीं मिली गड़बड़ियों के लिए:
- एपीआई में तय किए गए, तरीके के हिसाब से जवाब या गड़बड़ी के मैसेज इस्तेमाल किए जाने चाहिए.
- सही एचटीटीपी कोड का इस्तेमाल किया जाना चाहिए. यह कोड, तरीके के हिसाब से तय किए गए कोड में दिया गया होता है. उदाहरण के लिए,
TripOptionsErrorTypeदेखें
इससे, इस तरह की गड़बड़ियों के बारे में ज़्यादा जानकारी दी जा सकती है. इस जानकारी का इस्तेमाल इन कामों के लिए किया जा सकता है:
- यह तय करना कि क्या किसी गड़बड़ी को फिर से ठीक किया जा सकता है
SEGMENT_KEY_NOT_FOUNDको फिर से आज़माया नहीं जा सकता.
- पुरानी जानकारी को सही करें
Unavailable.Reason.CANCELEDसे पता चलता है कि यात्रा को हटा दिया गया है (ध्यान दें कि यह एक सफल जवाब का हिस्सा है)Unavailable.Reason.TEMPORARILY_UNAVAILABLEके साथ-साथ गड़बड़ी कोडSEGMENT_KEY_NOT_FOUND,SUBOPTIMAL_ITINERARY,BOOKING_WINDOW_NOT_SUPPORTED, औरTICKETING_PROHIBITEDसे, कैश मेमोरी से मिली किसी भी कीमत को हटा दें.
- उपयोगकर्ताओं को काम की सलाह देना
तरीके के हिसाब से गड़बड़ियों की मौजूदा सूची, TripOptionsError में दी गई है. यह सूची, शुरुआती जानकारी के तौर पर दी गई है. अगर आपको अन्य तरह की गड़बड़ियों के बारे में जानना है, तो कृपया Google Travel Transport टीम से संपर्क करें.
क्यूपीएस (क्वेरी प्रति सेकंड)
Google की ओर से भेजे गए QPS का लेवल, पार्टनर की इन्वेंट्री और इस बात पर निर्भर करता है कि कितने उपयोगकर्ता, कैश मेमोरी में सेव किए गए डेटा को देखते हैं या बुकिंग के लिए पार्टनर की वेबसाइटों पर क्लिक करते हैं.
इंतज़ार का समय
अनुरोधों की समयसीमा 10 सेकंड के बाद खत्म हो जाएगी. बीटा पार्टनर इंटिग्रेशन के लिए, लेटेन्सी से जुड़ी कोई अतिरिक्त गाइडलाइन नहीं होगी. हालांकि, लेटेन्सी के अन्य एसएलओ, पार्टनर के डेटा की क्वालिटी के लिए बने हमारे दिशा-निर्देशों में तय किए जाएंगे.
मुद्राएं, टैक्स, और शुल्क
Google को भेजी गई सभी कीमतों में सभी टैक्स और शुल्क शामिल होने चाहिए. साथ ही, ये कीमतें, इस्तेमाल की जा सकने वाली मुद्रा में बताई जानी चाहिए.
मुद्रा
किसी कीमत के लिए मुद्रा, currency_code फ़ील्ड का इस्तेमाल करके तय की जाती है. यह एक मान्य ISO 4217 मुद्रा कोड होना चाहिए.
उदाहरण 1,025 रुपये:
{
"price": {
"currency_code": "USD",
"units": 10,
"nanos": 250000000
}
}
टैक्स और शुल्क
आपके तय किए गए किराये में, उपयोगकर्ता को चुकाई जाने वाली कुल कीमत शामिल होनी चाहिए. इसमें सभी टैक्स (जैसे, वैट) और अतिरिक्त शुल्क (जैसे, बुकिंग या पेमेंट कार्ड का शुल्क) शामिल होने चाहिए. दोहराए जा सकने वाले line_items फ़ील्ड का इस्तेमाल करके, किराये का ब्यौरा जोड़ा जा सकता है. हालांकि, यह ज़रूरी नहीं है. Google, उपयोगकर्ता को कुल किराया दिखाएगा. साथ ही, किराये के ब्रेकडाउन की जानकारी भी दिखाएगा.