সেশন টোকেন ব্যবহার করা
সেশন টোকেনগুলি বিলিং উদ্দেশ্যে ব্যবহারকারীর স্বয়ংসম্পূর্ণ অনুসন্ধানের ক্যোয়ারী এবং নির্বাচনের পর্যায়গুলিকে একটি পৃথক সেশনে গোষ্ঠীভুক্ত করে। নিম্নলিখিত উদাহরণগুলি দেখায় যে কীভাবে স্বয়ংসম্পূর্ণ (নতুন) এবং স্থান বিবরণ (নতুন) কলগুলিতে সেশন টোকেন ব্যবহার করতে হয়।
একটি সেশন টোকেন তৈরি করুন
প্রতিটি সেশনের জন্য অনন্য সেশন টোকেন তৈরি করার জন্য ব্যবহারকারীদের দায়িত্ব। গুগল ৪র্থ সংস্করণের UUID ব্যবহার করার পরামর্শ দেয়।
একটি স্বয়ংক্রিয় (নতুন) অনুরোধ করুন
একটি স্বয়ংক্রিয় (নতুন) অনুরোধ হল একটি HTTP POST অনুরোধ। অনুরোধের মূল প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, স্বয়ংক্রিয় (নতুন) অনুরোধ দেখুন।
নিম্নলিখিত অনুরোধগুলির সিরিজে একজন ব্যবহারকারী সান ফ্রান্সিসকোতে একটি পিৎজা শপ খুঁজছেন তা দেখানো হয়েছে। ব্যবহারকারী যখন একটি কোয়েরি টাইপ করা শুরু করেন, তখন প্রতিটি কীস্ট্রোকের জন্য অটোকমপ্লিট (নতুন) বলা হয়। প্রতিটি কলে জেনারেট করা সেশন টোকেন একটি প্যারামিটার হিসাবে পাস করা হয়।
প্রথম অনুরোধ এবং প্রতিক্রিয়া
অনুরোধ ১
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
প্রতিক্রিয়া ১
{ "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" ] } }, ] / ... / }
দ্বিতীয় অনুরোধ এবং প্রতিক্রিয়া
অনুরোধ ২
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
প্রতিক্রিয়া ২
{ "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" ] } }, /.../ ] }
তৃতীয় অনুরোধ এবং প্রতিক্রিয়া
অনুরোধ ৩
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
প্রতিক্রিয়া ৩
{ "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" ] } }, /.../ ] }
সেশনটি শেষ করুন
স্থান বিবরণী (নতুন) অথবা ঠিকানা যাচাইকরণের জন্য অনুরোধ করে এবং স্বয়ংসম্পূর্ণ (নতুন) অনুরোধের জন্য ব্যবহৃত একই সেশন টোকেনটি পাস করে একটি সেশন শেষ করুন।
স্থানের বিবরণ (নতুন) অনুরোধ করুন
একটি স্থানের বিবরণ (নতুন) অনুরোধ হল একটি HTTP GET অনুরোধ। অনুরোধের মূল প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, স্থানের বিবরণ (নতুন) অনুরোধগুলি দেখুন।
নিম্নলিখিত স্থানের বিবরণ (নতুন) অনুরোধে নির্বাচিত স্থানের 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 } }
ঠিকানা যাচাইকরণের অনুরোধ করুন
একটি ঠিকানা যাচাইকরণ অনুরোধ হল একটি HTTP POST অনুরোধ। অনুরোধের মূল প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, একটি ঠিকানা যাচাইকরণ অনুরোধ পাঠান দেখুন।
নিম্নলিখিত ঠিকানা যাচাইকরণ অনুরোধে স্বয়ংক্রিয় (নতুন) প্রতিক্রিয়ার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" }
একটি অধিবেশন পরিত্যাগ করুন
ব্যবহারকারী যদি সেশনটি পরিত্যাগ করে, তাহলে একটি সেশন শেষ হয়ে যায়। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারী একটি পিৎজা দোকান অনুসন্ধান শুরু করে কিন্তু একটি স্থান নির্বাচন না করে (একটি স্থানের বিবরণ (নতুন) কল ট্রিগার করে) বা ঠিকানাটি যাচাই না করে (একটি ঠিকানা যাচাইকরণ কল ট্রিগার করে), তাহলে সেশনটি শেষ হয়ে যায় এবং সেশন টোকেনের মেয়াদ শেষ হয়ে যায়।