সেশন টোকেন ব্যবহার করে

সেশন টোকেনগুলি একটি ব্যবহারকারীর স্বয়ংসম্পূর্ণ অনুসন্ধানের প্রশ্ন এবং নির্বাচনের পর্যায়গুলিকে বিলিং উদ্দেশ্যে একটি পৃথক সেশনে গোষ্ঠীভুক্ত করে। নিম্নলিখিত উদাহরণগুলি দেখায় যে কীভাবে স্বয়ংসম্পূর্ণ (নতুন) এবং স্থানের বিবরণ (নতুন) কলগুলিতে সেশন টোকেনগুলি ব্যবহার করতে হয়৷

একটি সেশন টোকেন তৈরি করুন

ব্যবহারকারীরা প্রতিটি সেশনের জন্য অনন্য সেশন টোকেন তৈরি করার জন্য দায়ী। Google সংস্করণ 4 UUID ব্যবহার করার পরামর্শ দেয়৷

একটি স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ করুন

একটি স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ হল একটি HTTP POST অনুরোধ৷ রিকোয়েস্ট বডি প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, প্লেস স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ দেখুন।

অনুরোধের নিম্নলিখিত সিরিজগুলি দেখায় যে একজন ব্যবহারকারী সান ফ্রান্সিসকোতে একটি পিৎজা শপ খুঁজছেন। ব্যবহারকারী একটি ক্যোয়ারী টাইপ করা শুরু করলে, প্রতিটি কীস্ট্রোকের জন্য স্বয়ংসম্পূর্ণ (নতুন) বলা হয়। জেনারেট করা সেশন টোকেন প্রতিটি কলে একটি প্যারামিটার হিসেবে পাস করা হয়।

প্রথম অনুরোধ এবং প্রতিক্রিয়া

অনুরোধ 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"
        ]
      }
    },
  /.../
  ]
}

অধিবেশন শেষ করুন

স্থানের বিশদ বিবরণ (নতুন) বা ঠিকানা যাচাইকরণের জন্য একটি অনুরোধ করে এবং স্বয়ংসম্পূর্ণ (নতুন) অনুরোধের জন্য আপনি যে সেশন টোকেনটি ব্যবহার করেছিলেন সেই একই সেশন টোকেন পাস করে একটি অধিবেশন সমাপ্ত করুন৷

একটি স্থান বিবরণ (নতুন) অনুরোধ করুন

একটি স্থানের বিবরণ (নতুন) অনুরোধ হল একটি 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"
    }

একটি অধিবেশন পরিত্যাগ

ব্যবহারকারী সেশন পরিত্যাগ করলে একটি সেশন বন্ধ হয়ে যায়। উদাহরণস্বরূপ, যদি একজন ব্যবহারকারী একটি পিৎজা দোকানের জন্য অনুসন্ধান করা শুরু করে কিন্তু একটি স্থান নির্বাচন না করে (একটি স্থানের বিবরণ (নতুন) কল ট্রিগার করে) বা ঠিকানাটি যাচাই না করে (একটি ঠিকানা যাচাইকরণ কল ট্রিগার করে), সেশনটি বন্ধ হয়ে যায় এবং সেশন টোকেনের মেয়াদ শেষ হয়ে যায়।