सेशन टोकन का इस्तेमाल करना
सेशन के टोकन, उपयोगकर्ता के ऑटोकंप्लीट की सुविधा वाली खोज की क्वेरी और उसे चुनने के चरणों को, बिलिंग के मकसद से अलग-अलग सेशन में ग्रुप कर देते हैं. नीचे दिए गए उदाहरण, ऑटोकंप्लीट (नया) और जगह की जानकारी (नई) कॉल में सेशन टोकन इस्तेमाल करने का तरीका दिखाते हैं.
सेशन टोकन बनाएं
हर सेशन के लिए यूनीक सेशन टोकन जनरेट करने की ज़िम्मेदारी उपयोगकर्ताओं की है. Google, यूयूआईडी 4 वर्शन इस्तेमाल करने का सुझाव देता है.
ऑटोकंप्लीट (नया) अनुरोध करना
अपने-आप पूरा होने वाला (नया) अनुरोध, एचटीटीपी पोस्ट अनुरोध होता है. अनुरोध के बॉडी पैरामीटर के बारे में ज़्यादा जानकारी के लिए, जगह के अपने-आप पूरा होने की सुविधा (नया) से जुड़े अनुरोध देखें.
अनुरोधों की नीचे दी गई सीरीज़ में एक उपयोगकर्ता को सैन फ़्रांसिस्को में पिज़्ज़ा की दुकान खोजते हुए दिखाया गया है. जैसे ही उपयोगकर्ता कोई क्वेरी टाइप करना शुरू करता है, हर कीस्ट्रोक के लिए ऑटोकंप्लीट (नया) कॉल किया जाता है. जनरेट किया गया सेशन टोकन, हर कॉल में पैरामीटर के तौर पर पास किया जाता है.
पहला अनुरोध और उसका जवाब
अनुरोध 1
curl -X POST -d '{ "input": "p", "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' -H 'Content-Type: application/json' -H "X-Goog-Api-Key: YOUR_API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
जवाब 1
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJHSGzi_yAhYARnrPmDWAx9ro", "placeId": "ChIJHSGzi_yAhYARnrPmDWAx9ro", "text": { "text": "PIER 39, The Embarcadero, San Francisco, CA, USA", "matches": [ { "endOffset": 1 } ] }, "structuredFormat": { "mainText": { "text": "PIER 39", "matches": [ { "endOffset": 1 } ] }, "secondaryText": { "text": "The Embarcadero, San Francisco, CA, USA" } }, "types": [ "historical_landmark", "shopping_mall", "point_of_interest", "establishment", "marina", "tourist_attraction" ] } }, ] / ... / }
दूसरा अनुरोध और उसका जवाब
अनुरोध 2
curl -X POST -d '{ "input": "pi", "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' -H 'Content-Type: application/json' -H "X-Goog-Api-Key: YOUR_API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
जवाब 2
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJHSGzi_yAhYARnrPmDWAx9ro", "placeId": "ChIJHSGzi_yAhYARnrPmDWAx9ro", "text": { "text": "PIER 39, The Embarcadero, San Francisco, CA, USA", "matches": [ { "endOffset": 2 } ] }, "structuredFormat": { "mainText": { "text": "PIER 39", "matches": [ { "endOffset": 2 } ] }, "secondaryText": { "text": "The Embarcadero, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "shopping_mall", "marina", "historical_landmark", "tourist_attraction" ] } }, /.../ ] }
तीसरा अनुरोध और जवाब
अनुरोध 3
curl -X POST -d '{ "input": "piz", "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' -H 'Content-Type: application/json' -H "X-Goog-Api-Key: YOUR_API_KEY" https://places.googleapis.com/v1/places:autocomplete
जवाब 3
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ_QJSSfGAhYARQVFJBNKy3HE", "placeId": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "text": { "text": "Pizza By The Slice, Grant Avenue, San Francisco, CA, USA", "matches": [ { "endOffset": 3 } ] }, "structuredFormat": { "mainText": { "text": "Pizza By The Slice", "matches": [ { "endOffset": 3 } ] }, "secondaryText": { "text": "Grant Avenue, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "food", "pizza_restaurant", "restaurant" ] } }, /.../ ] }
सेशन खत्म करें
जगह की जानकारी (नया) या पते की पुष्टि का अनुरोध करके सेशन को खत्म करें. इसके बाद, वही सेशन टोकन पास करें जिसका इस्तेमाल आपने ऑटोकंप्लीट (नया) अनुरोध करने के लिए किया था.
किसी स्थान के विवरण (नए) के लिए अनुरोध करें
जगह की जानकारी (नया) अनुरोध, एचटीटीपी जीईटी अनुरोध होता है. अनुरोध के बॉडी पैरामीटर के बारे में ज़्यादा जानकारी के लिए, जगह की जानकारी (नई) के अनुरोध देखें.
स्थान के बारे में नीचे दिए गए अनुरोध (नया) में, चुनी गई जगह के id
और पिछले ऑटोकंप्लीट (नया) कॉल में इस्तेमाल किए गए sessionToken
शामिल होते हैं.
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: YOUR_API_KEY" \ -H "X-Goog-FieldMask: id,displayName,accessibilityOptions,businessStatus" \ https://places.googleapis.com/v1/places/ChIJ_QJSSfGAhYARQVFJBNKy3HE?sessionToken=3519edfe-0f75-4a30-bfe4-7cbd89340b2c
ChIJ_QJSSfGAhYARQVFJBNKy3HE
में से id
जगह का इस्तेमाल करने पर, कॉल यहां दिया गया JSON रिस्पॉन्स जनरेट करता है:
{ "id": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "businessStatus": "OPERATIONAL", "displayName": { "text": "Pizza By The Slice", "languageCode": "en" }, "accessibilityOptions": { "wheelchairAccessibleParking": false, "wheelchairAccessibleEntrance": true } }
पते की पुष्टि करने का अनुरोध करें
पते की पुष्टि करने का अनुरोध, एक एचटीटीपी पोस्ट अनुरोध होता है. अनुरोध के बॉडी पैरामीटर के बारे में ज़्यादा जानकारी के लिए, पते की पुष्टि करने का अनुरोध भेजना लेख पढ़ें.
पते की पुष्टि करने के नीचे दिए गए अनुरोध में चुनी गई जगह का पता शामिल होता है. यह पता ऑटोकंप्लीट (नया) रिस्पॉन्स वालेtext
फ़ील्ड में दिया गया और पिछले ऑटोकंप्लीट (नया) कॉल में इस्तेमाल किया गया sessionToken
शामिल होता है.
curl -X POST -d '{ "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "address": { "addressLines": "Pizza By The Slice, Grant Avenue, San Francisco, CA, USA" } }' \ -H 'Content-Type: application/json' \ "https://addressvalidation.googleapis.com/v1:validateAddress?key=YOUR_API_KEY"
कॉल इस JSON रिस्पॉन्स को जनरेट करता है:
{ "result": { "verdict": { "inputGranularity": "PREMISE", "validationGranularity": "PREMISE", "geocodeGranularity": "PREMISE", "hasInferredComponents": true }, "address": { "formattedAddress": "Pizza By The Slice, Grant Avenue, San Francisco, CA 94133, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94133", "administrativeArea": "CA", "locality": "San Francisco", "addressLines": [ "Pizza By The Slice", "Grant Ave" ] }, "addressComponents": [ { "componentName": { "text": "Pizza By The Slice", "languageCode": "en" }, "componentType": "point_of_interest", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "Grant Avenue", "languageCode": "en" }, "componentType": "route", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "San Francisco", "languageCode": "en" }, "componentType": "locality", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "CA", "languageCode": "en" }, "componentType": "administrative_area_level_1", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "USA", "languageCode": "en" }, "componentType": "country", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "94133" }, "componentType": "postal_code", "confirmationLevel": "CONFIRMED", "inferred": true } ], "missingComponentTypes": [ "street_number" ] }, "geocode": { "location": { "latitude": 37.800504, "longitude": -122.4074794 }, "plusCode": { "globalCode": "849VRH2V+62" }, "bounds": { "low": { "latitude": 37.800504, "longitude": -122.4074794 }, "high": { "latitude": 37.800504, "longitude": -122.4074794 } }, "featureSizeMeters": 10, "placeId": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "placeTypes": [ "food", "restaurant", "point_of_interest", "establishment" ] }, "uspsData": { "standardizedAddress": { "firstAddressLine": "PIZZA BY THE SLICE", "secondAddressLine": "GRANT AVE", "cityStateZipAddressLine": "SAN FRANCISCO", "city": "SAN FRANCISCO", "state": "CA", "zipCode": "94133" }, "dpvFootnote": "A1M1", "postOfficeCity": "SAN FRANCISCO", "postOfficeState": "CA" } }, "responseId": "4b669675-2c3b-463a-ae20-400248cf6ac9" }
सत्र को छोड़ें
अगर उपयोगकर्ता सेशन को बीच में छोड़ देता है, तो सेशन खत्म हो जाता है. उदाहरण के लिए, अगर कोई उपयोगकर्ता पिज़्ज़ा की दुकान खोजना शुरू करता है, लेकिन जगह नहीं चुनता (जगह की जानकारी (नया) कॉल ट्रिगर करना) या पते की पुष्टि करने (पते की पुष्टि करने के लिए कॉल ट्रिगर करना), तो सेशन खत्म हो जाता है और सेशन टोकन की समयसीमा खत्म हो जाती है.